Raspberry Pi で TightVNC サーバ


TightVNC サーバ

Raspberry Pi 本体のデスクトップ(Xサーバ)とは別にクライアント用のデスクトップ(Xサーバ)を使用することができる VNC サーバです。

Raspberry Pi 本体のデスクトップ(Xサーバ)は通常ディスプレイ番号0番で、HDMI 等で接続したディスプレイに表示されるデスクトップを指します。

TightVNC の VNC サーバは、それとは別のデスクトップ(ディスプレイ番号が異なる)でリモートで表示/操作することができます。VNCサーバを複数起動することで、異なるデスクトップを複数作成することができます。(それらはそれぞれディスプレイ番号が異なります。)また、それぞれのデスクトップのユーザは異なっても構いません。

※ 実は TightVNC には x0vncserver という本体のデスクトップをリモート操作するための VNC サーバもありますが、Raspberry Pi には apt-get でインストールすることはできません。(Raspberry Pi 用の x0vncserver をソースからビルドできるかどうかは不明です)

インストール方法:

apt-get で tightvncserver をインストールします。(必須ではありませんが、tightvncserver で使用する X11/75dpi, 100dpi フォントもインストールします。)

 

使用方法:

VNC のパスワードはユーザごとに管理されており、vncserver 初回起動時にそのユーザのパスワード設定を行います。(パスワードは後から vncpasswd で変更することも可能です。)
パスワードは6文字以上8文字以下。

パスワードの設定が行われた後、(vncserver を起動したユーザで)新しい X サーバが起動します。

‘raspberrypi:1′ の部分は、’VNC サーバのホスト名:ディスプレイ番号’ のことであり、また、5900 + ディスプレイ番号のポートを使用することを示しています。

VNC クライアントから 5900 + ディスプレイ番号 のポートに接続すると、ユーザパスワードを求められるので、先のパスワードを入力することでリモートデスクトップを開くことができます。

VNC クライアントとしては、Windows なら RealVNC Viewer(32bit版, 64bit版)、Mac なら画面共有、iPhone なら VNC Viewer、Android なら RealViewer、Raspberry Pi なら TightVNC viewer 等があります。

例えば Windows で RealVNC (VNC Viewer) を使う場合、Raspberry Pi で vncserver を起動した状態で、Windows から VNC クライアントを起動します。

vnc_client_001

「VNC Server」に ’Raspberry Pi のホスト名:ディスプレイ番号’ を指定します。ディスプレイ番号が1(ポート番号が 5901) の場合は、’ホスト名:1′ と指定します。(ホスト名は IPアドレスでも可)

vnc_client_002

VNCサーバが暗号化に対応していないという警告がでます。

vnc_client_003

指定した VNC サーバのパスワードを入力します。

vnc_client_004

Raspberry Pi のデスクトップが開きます。

 

Usage:

vncserver のコマンドライン引数は以下の通りです。

 

vncserver の主なオプション:

-kill :<DISPLAY#>

 

  • ディスプレイ番号を指定して vncserver を終了します。(この例では、ディスプレイ番号1の vncserver を終了)

 

-geometry <WIDTH>x<HEIGHT>

 

  • デスクトップサイズを指定します。(この例では 1280×800)

-depth <DEPTH>

 

  • デスクトップの色深度を指定します。(この例では 24bit Color)

 

VNC サーバの終了:

-kill オプションを使用して vncserver を終了します。

 

  • vncserver をディスプレイ番号を指定して終了します。(この例では、ディスプレイ番号1 の vncserver を終了)

 

パスワードの変更:

パスワードを変更する場合は、変更したユーザにログインした上で、vncpasswd コマンドで変更します。

 

自動起動設定:

vncserver を手動でいちいち立ち上げるのが面倒という場合には、Raspberry Pi の起動時に自動で vncserver を立ち上げるようにも設定できます。

ユーザ root で 1280×800 24bit Color の vncserver を自動起動するスクリプトです。(必要に応じて vncserver の引数やユーザを変更しましょう。)

このスクリプトを vncboot という名前で /etc/init.d に置き、実行属性を付け、自動起動するように設定します。

これで、Raspberry Pi の起動時に vncserver が自動起動します。

なお、自動起動しないようにするには、次のコマンドで登録を削除します。

 

参考:

TightVNC の X サーバの xdpyinfo の出力結果です。(この例では、デスクトップは 1024×768 24bitColor です。)