Wikiを使用した自動GUIログインセットアップでparabolaArch Gnu/Linuxの起動時にtightvncserverを起動しようとしました https://wiki.archlinux.org/index.php/TigerVNC#Using_tigervnc.27s_x0vncserver その後にx0vncserver.servicesystemdユニットを作成してからsystemctl enable x0vncserver.service
を作成しますが、起動/再起動すると、アクティブなvncサーバーが表示されないので、これを確認します。
#systemctl status x0vncserver.service * x0vncserver.service-リモートデスクトップサービス(VNC) ロード済み:ロード済み(/etc/systemd/system/x0vncserver.service; enabled; vendorプリセット:無効) アクティブ:非アクティブ(デッド)2017-07-01 Sat 2017-07-01 20:42:55 +06; 1分34秒前 プロセス:302 ExecStart =/usr/bin/sh -c/usr/bin/x0vncserver -display:0 -rfbport 5900 -passwordfile /home/peruvian/.vnc/passwd&(code = exited 、status = 0/SUCCESS) Jul 01 20:42:52 sky systemd [1]:リモートデスクトップサービス(VNC)を開始しています... Jul01 20:42 :55 sky systemd [1]:リモートデスクトップサービス(VNC)を開始しました。
と私
#journalctl -xe | grep vnc -サブジェクト:ユニットx0vncserver.serviceが起動を開始しました -ユニットx0vncserver.serviceが起動を開始しました。 -件名:ユニットx0vncserver.serviceが起動しました起動が完了しました -ユニットx0vncserver.serviceの起動が終了しました。 Jul01 20:47:08 sky systemd [1]:x0vncserver.service:メインプロセスが終了しました、code = exited、 status = 1/FAILURE Jul 01 20:47:08スカイsystemd [1]:x0vncserver.service:ユニットが障害状態になりました。 Jul 01 20:47:08スカイsystemd [1]: x0vncserver.service:結果 'exit-code'で失敗しました。
しかし、デスクトップをロードした後にコマンドsystemctl start x0vncserver.service
またはsystemctl restart x0vncserver.service
を実行すると、# systemctl status x0vncserver.service
showsのように問題なく動作します。
#systemctl status x0vncserver.service * x0vncserver.service-リモートデスクトップサービス(VNC) ロード済み:ロード済み(/etc/systemd/system/x0vncserver.service; enabled; vendorプリセット:無効) アクティブ:アクティブ(実行中)2017-07-01 Sat 2017-07-01 20:56:53 +06; 2秒前 プロセス:924 ExecStart =/usr/bin/sh -c/usr/bin/x0vncserver -display:0 -rfbport 5900 -passwordfile /home/peruvian/.vnc/passwd&(code = exited、 status = 0/SUCCESS) メインPID:925(x0vncserver) タスク:1(制限:4915) CGroup:/system.slice/x0vncserver.service `-925/usr/bin/x0vncserver -display:0 -rfbport 5900 -passwordfile /home/peruvian/.vnc/passwd Jul 01 20:56:53 sky systemd [1] :リモートデスクトップサービス(VNC)を開始しています... Jul 01 20:56:53 sky systemd [1]:リモートデスクトップサービス(VNC)を開始しました。
そして私のdefault.targetは
#systemctl get-default graphical.target
サービスが想定よりも早く開始し、起動時のリソース不足のために失敗すると思います。
少し遅れましたが、私もこの問題に遭遇しました。
問題は、x0vncserverがユーザーのログインXセッションを必要とするため、次の2つのことを確認する必要があることです。
X0vncserverサービスが開始しようとする前にデスクトップが開始してログインできるように、ExecStartコマンドをスリープ状態にします。
ExecStart=/usr/bin/sh -c 'sleep 3 && /usr/bin/x0vncserver -display :0 -rfbport 5900 -passwordfile /home/peruvian/.vnc/passwd &'
睡眠は私のためにトリックをしました、そして今私のx0vncは働いています。
x0vncserver
はxsessionの後にのみ開始され、私のものはLXDE環境であるため、次のようなscript.sh
ファイルを作成する方が簡単です。
#!/bin/bash
x0vncserver -display :0 -rfbport 5900 -passwordfile ~/.vnc/passwd
Sudo chmod +x script.sh
で実行可能にし、次のように~/.config/lxsession/LXDE/autostart
ファイルに行を追加します
path_to_the_script_file/script.sh
lXDEデスクトップセッションが開始するとx0vncserver
が開始し、それが必要です。