Raspberry PiにVNCで接続する

前回Raspberry Piをヘッドレス化して、キーボード、HDMI、LANケーブルという鎖から解き放たれたわけだけど、それと同時にラズベリーのデスクトップも失ってしまったので、今回はVNCでリモート接続できるようにしてみる。

TightVNCのインストール

VNCの実装は色々あるけど、TightVNCを利用している例が多かったので真似してみる。

sudo apt-get install tightvncserver

とりあえず起動してみる

vncserverコマンドに解像度や色数などを指定して実行するとサーバが起動する。
詳しいオプションについてはman vncserverman Xvncを参照。


初回起動時はクライアントからVNC接続する時に使用するパスワードの設定を聞かれる。
このパスワードは6文字以上8文字以下らしく、8文字以上入力しても切り捨てられるので注意。
続けて聞かれるview-only passwordというのは表示のみで操作できないモード用のパスワード。


ちなみにVNCの通信は暗号化されないので、実運用するような場合はsshでポートフォワーディングなどしたほうがよいかと思われる。
ひとまずここではお試しということでそのまま繋いでみる。

$ vncserver :0 -geometry 1280x800 -depth 24

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 raspberrypi:0

Starting applications specified in /home/pasela/.vnc/xstartup
Log file is /home/pasela/.vnc/raspberrypi:0.log

これで起動完了。
ポート番号は5900 + ディスプレイ番号(:0っていうやつ)で起動するらしい。
なのでvncserver :2として起動した場合は5902になる。

VNCクライアントから接続してみる

Macの場合

Macの場合は、Finderの「サーバへ接続...」でサーバアドレスに「vnc://RaspberryPiのIPアドレス:ポート番号」と入力して接続する。
暗号化がどうたらというのはひとまず無視しておいて、パスワードを聞かれるので先ほど設定したものを入力するとデスクトップが表示される。


Macから接続



iPadから接続(Remoter VNC)



iPhoneから接続(Remoter VNC)

Windowsの場合

OS標準では対応してないようなので適当にVNCクライアントをインストールする必要があるみたい。
リモートデスクトップVNCとは違う。

VNCサーバの終了

VNCサーバを終了する場合は、-killオプションにディスプレイ番号を指定して実行する。

$ vncserver -kill :0
Killing Xtightvnc process ID 3980

パスワードの変更

初回起動時に適当にパスワードを入れちゃって変えたいなーという時はvncpasswdを実行する。

$ vncpasswd
Using password file /home/pasela/.vnc/passwd
Password: 
Verify:   
Would you like to enter a view-only password (y/n)? n