fedora19の導入についてはこちらを参照。
fedora20の場合はこちらを参照。
BBBは物置の中で稼働させているので、デスクトップの画面をリモートで表示できるように設定する。
そもそもデスクトップは使わないから物置に設置してるわけだが、いざデスクトップを使いたい、ってなった時に、またモニタ、キーボードを配線するのは超絶めんどくさい。
というわけで、デスクトップはリモートからいつでも呼び出せるようにする。
fedora19で動作しているデスクトップはMATEだが、MATEのX関連の設定がいまいちよくわからなかったので、Xserverではなく手っ取り早いところでVNCにすることにした。
BBBのfedora19は、初期状態ではguestがログイン状態のデスクトップが起動するので、とりあえずguestの画面をWindows PCの画面に表示してみる。
■用意するもの
BBB側
・x11vnc
Windows側
・UltraVNC Viewer (v1.1.9.3)
http://www.forest.impress.co.jp/library/software/ultravnc/
とりあえず両方ともインストールを先にしておく。
UltraVNC Viewer のインストールは割愛。
■x11vncのインストール
# yum -y install x11vncx11vnc 0.9.13 がインストールされた。
■動作確認
モニタをつなぐとguestのデスクトップが立ち上がっているはずなので、このデスクトップを転送してみる。
とりあえずguestになってx11vncを起動する。
# su - guest
$ x11vnc -display :0
この状態で、Windowsより UltraVNC Viewer にて接続する。
UltraVNC Viewerを起動し、VNC Server 欄に、host:display の形式で以下のように記述。
Connect ボタンを押すと、パスワードも聞かれずに以下のようなMATEのデスクトップが表示される。
VNCとしてのレスポンスはいいけど、元々のデスクトップが重いので操作は結構ストレスがたまりますなぁ。
UltraVNC Viewer を終了させると、BBB側のx11vncも終了する。
■常時利用できるよう設定する
常時接続できるよう、セッション断でx11vncの待ち受けを終了させないことと、パスワード設定、自動起動設定を行う。
パスワードの設定
guestになって以下を実行し、x11vncのパスワードを設定しておく。
# su - guest
$ x11vnc -storepasswd
設定したらそのままx11vncを起動し、Windows側から接続してみる。
$ x11vnc -usepw -display :0
Windows側では以下のパスワード入力ダイアログが表示されればOK。
x11vncの自動起動設定
guestユーザ権限で待ち受け、UltraVNC Viewer を終了させてもx11vncの待ち受けは継続させるようにする。
以下のコマンドを、BBB起動時に自動で実行させればOK。
/usr/bin/su - guest -c '/usr/bin/x11vnc -usepw -display :0 -forever &'
しかし、/etc/rc.d/rc.local に記述してみてもうまく実行されない。
/etc/rc.d/rc.local はきちんと実行されることは確認済なので、タイミングの問題かもしれない。
多分、guestのデスクトップが構成される前に実行されて失敗してるのではないだろうか?
試しに以下のようなスクリプト(/startup.sh)を書いてrc.localから呼び出すようにしたらうまくいった。
/etc/rc.d/rc.local の内容
#!/bin/sh
/startup.sh
/startup.sh の内容
#!/bin/sh
/usr/bin/sleep 150
/usr/bin/su - guest -c '/usr/bin/x11vnc -usepw -display :0 -forever &'
うーん、なんだかいろいろスマートじゃないなぁ・・・
このようなsleepによる大雑把なタイミング調整もいやなんだけど、遊びマシンなのでまあ良しとするか。
とりあえずこれでいつでもデスクトップ画面を呼び出せるようになった。デスクトップはあまり使う機会ないけど。