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
















コメントを投稿するにはログインしてください。