buntu GNOME 16.04. で実行するようにTigerVNCサーバーを設定しようとしています。 この投稿 を使用して TigerVNC の最新バージョン( 1.8 )をインストールしました。次を使用してサーバーを起動した場合:
vncserver :4 -geometry 1920x1080 -depth 24 -nolisten tcp -localhost
完璧に機能します。 SSHを介してdisplay 4に接続し、ラボの実際の(物理)ディスプレイのロックを解除せずにコンピューターにフルアクセスできます。また、ラップトップのディスプレイに合わせてジオメトリを調整できるため、すべてが完璧です。
次に、systemd
を使用して、起動時にサーバーを起動しようとしましたが、 この投稿 が役立ちました。ただし、GNOMEデスクトップを実行しており、ブログの設定はUnity用です。私は自分のマシンにUnityをインストールしていません。それを避けたいです。
Unityの代わりにGNOMEデスクトップを使用するように、その投稿のステップ7と8を変更するにはどうすればよいですか?リモート接続すると黒い画面が表示されるだけなので、スキップすると機能しないことがわかります。
実際、vncserver
が起動時に確実に開始されるようにする別の方法がある場合、それも回答として受け入れられます。 TigerVNCは/etc/init.d/
にvncserver
というスクリプトをインストールしますが、update-rc.d
を使用して起動できません
このsystemd
ユニットファイルは私のために働いた:
[Unit]
Description=Start TigerVNC Server at startup
After=syslog.target network.target
[Service]
Type=forking
User=user
PAMName=login
PIDFile=/home/user/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
[Service]
の下のuser
およびUser
に対応する行で、PIDFile
を実際のユーザー名に置き換えてください。
[email protected]
に/etc/systemd/system/
として保存しましたsystemctl enable [email protected]
でシンボリックリンクファイル[email protected]
を作成する/etc/systemd/system/multi-user.target.wants/
で有効にし、[email protected]
の/etc/systemd/system/
を指すsystemctl start vncserver@4
でサービスを開始しましたニーズに合わせて、有効にするときに4(代わりに)の代わりにdisplay番号を使用してください。また、サービスを開始する前に、このサービスユニットファイルの外部でvncserverを初期化したことを確認してください。これにより、パスワードが確保され、必要なファイル(xstartup
など)が作成されます。最も簡単な方法は、Unitファイルの[Service]
でExecStart
に対してコマンドを実行することです。私の場合、それは次のように翻訳されます:
vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost
ソース: このガイド からユニットファイルを調整しました。