** ※本記事は2015-02-16-raspbian-wheezyをベースに記事を書いています。 **
Raspberry Piを操作するためにいつもディスプレイ・キーボード・マウスをつなぐのも大変なので、VNCでリモート操作ができるようにします。
また、Raspberry Piの自重が軽すぎて、接続ケーブルのちょっとした動き(特にマウス)に合わせてズルっと動いちゃって微妙に心もとない。そして、USBポートが4つあるとはいえ無線LANで1つ使いますし、さらにキーボード・マウス2つでなるべく専有しないようにしたいというのもあります。
今回のインストールは、ほとんどこの方の記事で事足りてしまうのですが、少々書き加えた箇所もあり自分用のメモとして残しておきます。
Raspberry Piを別のPCからリモート操作 » DesignSpark
Raspberry PiをイメージからインストールしSSHではじめて繋いでいる状況を想定しています。
vimのインストール
素のviしか入ってないので編集しやすいようにvimを入れます。
sudo apt-get install vim
インストール
VNCを入れます。
sudo apt-get install x11vnc
ログが出ます。
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
libvncserver0 tcl tk x11vnc-data
提案パッケージ:
libvncserver0-dbg
以下のパッケージが新たにインストールされます:
libvncserver0 tcl tk x11vnc x11vnc-data
アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
1,841 kB のアーカイブを取得する必要があります。
この操作後に追加で 3,192 kB のディスク容量が消費されます。
続行しますか [Y/n]?
yと打ってYesで進みます。
インストールが完了
パスワード設定
x11vnc -storepasswd
と打ってVNC接続時のパスワードを設定します。
Enter VNC password:
Verify password:
パスワードを保存するか聞かれるのでYes。
Write password to /home/pi/.vnc/passwd? [y]/n y
Password written to: /home/pi/.vnc/passwd
起動してみる
以下のコマンドを打って起動します。
x11vnc -usepw -forever
だっーとログが出て、すごいエラーっぽく見えるんですが、うまくいきます。
13/04/2015 13:00:26 -usepw: found /home/pi/.vnc/passwd
13/04/2015 13:00:26 x11vnc version: 0.9.13 lastmod: 2011-08-10 pid: 2779
13/04/2015 13:00:26 XOpenDisplay("") failed.
13/04/2015 13:00:26 Trying again with XAUTHLOCALHOSTNAME=localhost ...
13/04/2015 13:00:26
13/04/2015 13:00:26 *** XOpenDisplay failed. No -display or DISPLAY.
13/04/2015 13:00:26 *** Trying ":0" in 4 seconds. Press Ctrl-C to abort.
13/04/2015 13:00:26 *** 1 2 3 4
13/04/2015 13:00:30 *** XOpenDisplay of ":0" successful.
13/04/2015 13:00:30
13/04/2015 13:00:30 Using X display :0
13/04/2015 13:00:30 rootwin: 0xe2 reswin: 0x1200001 dpy: 0x1658f58
(略)
The VNC desktop is: raspberrypi:0
PORT=5900
******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?
The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval. It should work with any VNC viewer. Try it by running:
x11vnc -ncache 10 ...
One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching
13/04/2015 13:00:31 check_xrandr_event():
13/04/2015 13:00:31 Detected XRANDR event at location 'check_xevents':
13/04/2015 13:00:31 check_xrandr_event: no change detected.
13/04/2015 13:00:31 check_xrandr_event: enabling full XRANDR trapping anyway.
RealVNCなどで接続してみると以下のように表示されます。VNCでやるとキャプチャも取りやすくて便利ですね。
常時起動の設定
このままだと起動ごとにコマンドを打たなければいけないので常時起動できるようにします。
/home/pi/.config/autostartフォルダがそもそもないのでフォルダを作ります。
cd /home/pi/
.configフォルダはVNC以外にも様々な設定ファイルが置かれるようなので、sudoでmkdirを実行してroot権限にはしないようにしましょう。
mkdir .config
フォルダを移動します。
cd .config
autostartフォルダも作ります。
mkdir autostart
いよいよx11vnc.desktopファイルを作成します。
sudo vim /home/pi/.config/autostart/x11vnc.desktop
以下のように書き込み保存します。
[Desktop Entry] Encoding=UTF-8 Type=Application Name=X11VNC Comment= Exec=x11vnc -usepw -forever -display :0 -ultrafilexfer StartupNotify=false Terminal=false Hidden=false
ディスプレイサイズを1280×720にする
このままだと、画面サイズがやたら小さいので、
sudo vi /boot/config.txt
と打って以下の部分を
#framebuffer_width=1280 #framebuffer_height=720
コメントアウトを取って変更します。
framebuffer_width=1280 framebuffer_height=720
これで再起動してみてVNCでつないでみましょう。最初は「これほんとに出来るのかよ?」と不安になりますが、うまくいくハズw
つながらない時はだいたいネットワークがおかしい。
おわりに
いかがでしたでしょうか。
おかげでRaspberry Piと戯れるときにディスプレイ・キーボード・マウスを持ち出さず、メインPCからあれこれ操作できて一層やりやすくなりました。
それではよきRaspberry Pi Lifeを!