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 フォントもインストールします。)
$ sudo apt-get install tightvncserver xfonts-75dpi xfonts-100dpi
使用方法:
$ 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 raspberrypi:1
パスワードの設定が行われた後、(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 Server」に ’Raspberry Pi のホスト名:ディスプレイ番号’ を指定します。ディスプレイ番号が1(ポート番号が 5901) の場合は、’ホスト名:1′ と指定します。(ホスト名は IPアドレスでも可)
VNCサーバが暗号化に対応していないという警告がでます。
指定した VNC サーバのパスワードを入力します。
Raspberry Pi のデスクトップが開きます。
Usage:
vncserver のコマンドライン引数は以下の通りです。
Usage: vncserver [<OPTIONS>] [:<DISPLAY#>] vncserver -kill :<DISPLAY#> <OPTIONS> are Xtightvnc options, or: -name <DESKTOP-NAME> -depth <DEPTH> -geometry <WIDTH>x<HEIGHT> -httpport number -basehttpport number -alwaysshared -nevershared -pixelformat rgb<NNN> -pixelformat bgr<NNN>
vncserver の主なオプション:
-kill :<DISPLAY#>
例) -kill :1
- ディスプレイ番号を指定して vncserver を終了します。(この例では、ディスプレイ番号1の vncserver を終了)
-geometry <WIDTH>x<HEIGHT>
例) -geometry 1280x800
- デスクトップサイズを指定します。(この例では 1280×800)
-depth <DEPTH>
例) -depth 24
- デスクトップの色深度を指定します。(この例では 24bit Color)
VNC サーバの終了:
-kill オプションを使用して vncserver を終了します。
例) $ vncserver -kill :1
- vncserver をディスプレイ番号を指定して終了します。(この例では、ディスプレイ番号1 の vncserver を終了)
パスワードの変更:
パスワードを変更する場合は、変更したユーザにログインした上で、vncpasswd コマンドで変更します。
$ vncpasswd Using password file /root/.vnc/passwd Password:******** Verify:******** Would you like to enter a view-only password (y/n)? n
自動起動設定:
vncserver を手動でいちいち立ち上げるのが面倒という場合には、Raspberry Pi の起動時に自動で vncserver を立ち上げるようにも設定できます。
ユーザ root で 1280×800 24bit Color の vncserver を自動起動するスクリプトです。(必要に応じて vncserver の引数やユーザを変更しましょう。)
#! /bin/sh # /etc/init.d/vncboot ### BEGIN INIT INFO # Provides: vncboot # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start VNC Server at boot time # Description: Start VNC Server at boot time. ### END INIT INFO USER=root HOME=/root export USER HOME case "$1" in start) /usr/bin/vncserver :1 -geometry 1280x800 -depth 24 echo "Starting VNC Server." ;; stop) /usr/bin/vncserver -kill :1 echo "VNC Server Has been stoped." ;; *) echo "Usage: /etc/init.d/vncboot {start|stop}" exit 1 ;; esac exit 0
$ cd /etc/init.d $ sudo chown root.root vncboot $ sudo chmod +x vncboot $ sudo update-rc.d vncboot defaults
これで、Raspberry Pi の起動時に vncserver が自動起動します。
$ cd /etc/init.d $ sudo update-rc.d vncboot remove
参考:
TightVNC の X サーバの xdpyinfo の出力結果です。(この例では、デスクトップは 1024×768 24bitColor です。)
$ xdpyinfo name of display: :1.0 version number: 11.0 vendor string: AT&T Laboratories Cambridge vendor release number: 3332 maximum request size: 4194300 bytes motion buffer size: 256 bitmap unit, bit order, padding: 32, LSBFirst, 32 image byte order: LSBFirst number of supported pixmap formats: 2 supported pixmap formats: depth 1, bits_per_pixel 1, scanline_pad 32 depth 24, bits_per_pixel 32, scanline_pad 32 keycode range: minimum 8, maximum 255 focus: window 0x2c00007, revert to Parent number of extensions: 7 BIG-REQUESTS MIT-SHM MIT-SUNDRY-NONSTANDARD SHAPE SYNC XC-MISC XTEST default screen number: 0 number of screens: 1 screen #0: dimensions: 1024x768 pixels (347x260 millimeters) resolution: 75x75 dots per inch depths (1): 24 root window id: 0x25 depth of root window: 24 planes number of colormaps: minimum 1, maximum 1 default colormap: 0x21 default number of colormap cells: 256 preallocated pixels: black 0, white 16777215 options: backing-store YES, save-unders YES largest cursor: 1024x768 current input event mask: 0x7a003c ButtonPressMask ButtonReleaseMask EnterWindowMask LeaveWindowMask StructureNotifyMask SubstructureNotifyMask SubstructureRedirectMask FocusChangeMask PropertyChangeMask number of visuals: 1 default visual id: 0x22 visual: visual id: 0x22 class: TrueColor depth: 24 planes available colormap entries: 256 per subfield red, green, blue masks: 0xff0000, 0xff00, 0xff significant bits in color specification: 8 bits
コメントを投稿するにはログインしてください。