VNC サーバーの使い方

2020年6月28日

はじめに

VNC サーバーを使って Windows から Linux に接続する方法について。

セットアップ

Windows にクライアントとして TigerVNC をインストールする。インストール途中にサーバーの起動について聞かれるので、チェックをはずす。

Linux には VNC サーバーをインストールしておく。

VNC サーバーへの接続

Linux にログインし、VNC サーバーを起動する。

$ vncserver -geometry 1280x960

"-geometry" オプションは表示するウインドウの大きさの指定。はじめての起動のときはパスワードの入力を求められる。

Windows で TigerVNC Viewer を起動する。接続先を聞かれる。たとえば Linux サーバーの名前が "adelie" だったら "adelie:1" とする。サーバーに接続できればパスワードを聞かれる。認証が済むとウインドウが表示される。

接続を切るときはウインドウを閉じる。ウインドウを閉じても表示は生きており、再接続すると前の状態からはじまる (画面がロックされているかもしれない)。

VNC サーバーを停止するには、Linux で次のようにする。

$ vncserver -kill :1

"adelie:1" や "vncserver -kill :1" の ":1" はディスプレイ番号で、":1" 以外も指定できる。たとえばディスプレイ番号を ":2" にしたい場合は、VNC サーバーの起動を次のようにする。

$ vncserver :2 -geometry 1280x960

この場合は "adelie:2" で接続し、"vncserver -kill :2" でサーバーを停止する。

うまくいかない場合

ファイアウォールの問題

ファイアウォールの設定で vnc-server のポートを開ける必要がある場合がある。

PATH の問題

つないでも画面が真っ暗になる場合、~/.vnc/xstartup で PATH を無効にすればうまくいくことがある。

~/.vnc/xstartup

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
unset PATH
/etc/X11/xinit/xinitrc
vncserver -kill $DISPLAY

参考

この場合は Anaconda が悪さをしているようだが、Anaconda を使っていない場合でも同様な問題が起こることがある。