Debian8でVNC Serverを設定する
環境
OS : Debian8
インストール
$ apt iinstall tightvncserver
vncserverの起動
vncserverコマンドを実行し、パスワードを設定する。
$ vncserver You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n ... New 'X' desktop is ie-server:2 Creating default startup script /home/gyamin/.vnc/xstartup Starting applications specified in /home/gyamin/.vnc/xstartup Log file is /home/gyamin/.vnc/ie-server:2.log
上記の例では、ディスプレイ番号2でvncserverが実行された。(:2)
vncserverを終了する場合は、-kill :ディスプレイ番号で、プロセスを終了する。
$ vncserver -kill :2 Killing Xtightvnc process ID 2097
vncserverへの接続
vncクライアントからサーバへ接続をする。Macの場合、Finderの 移動 > サーバへ接続 からvnc://接続先サーバ:ポート番号で接続ができる。
今回はディスプレイ番号が2なので、5902ポートに接続する。vnc://192.168.10.5:5902
vncserver起動時に設定したバスワードで認証する。
xinetdによるvncserverの起動
クライアントからの接続時に自動的にvncserverを実行するように、xinetdを設定する。
$ sudo vim /etc/services ... xvnc 5910/tcp # VNC Server ←追加 ...
xinetdの設定ファイルを作成する。
$ sudo vim /etc/xinetd.d/xvnc service xvnc { disable = no socket_type = stream wait = no user = nobody group = tty server = /usr/bin/Xvnc server_args = -inetd -geometry 1024x768 -depth 24 -query localhost -once -rfbport 5910 -rfbauth /etc/xvnc_passwd }
今回はまったのが、このファイルのserver_args。ネット上の情報を参考に以下のような設定をしていた。
server_args = -inetd -geometry 1024x768 -depth 24 -query localhost -once PasswordFile=/etc/xvnc_passwd
しかしこれではvncクライアントから接続ができず、どうしたらいいか??だった。 /usr/bin/Xvncコマンドの引数の設定なので、manでXvncを調べてみたところ、パスワードファイルの指定は-rfbauthで指定するとの記述が。 この設定に変更することで、クライアントから接続ができるようになった。
vncpasswdコマンドを利用し、xvnc設定で指定したパスワードファイルを作成する。
$ sudo vncpasswd /etc/xvnc_passwd Password: Verify: Would you like to enter a view-only password (y/n)? n
パスワードファイルに権限を設定する。
$ sudo chown nobody:tty /etc/xvnc_passwd $ ls -l /etc/xvnc_passwd -rw------- 1 nobody tty 8 Dec 22 18:36 /etc/xvnc_passwd
xinetdを再起動する。
$ sudo systemctl restart xinetd
vncクライアントからサーバへ接続を行う。正しく設定ができていれば、VNCサーバのパスワード入力が促され、パスワードを入力すると、接続ができる。
※ただし、この段階では別途接続したsshクライアントなどで、X Windowを利用するアプリを起動した場合、その出力が表示されるだけで、サーバの画面出力と同等の内容が出力されるわけではない。
lightdmの設定
vncサーバへの接続時に、ホストで出力される画面と同等の画面を表示できるよう、 /etc/lightdm/lightdm.conf に設定を行う。
# vim /etc/lightdm/lightdm.conf [XDMCPServer] enabled=true port=177 [VNCServer] enabled=true command=Xvnc port=5900
サービスを再起動する。
# /etc/init.d/lightdm restart [ ok ] Restarting lightdm (via systemctl): lightdm.service.