Xvfbで作った仮想ディスプレイにリモートデスクトップ接続する
昨日の続き
仮想ディスプレイのスクリーンショットを撮って中の様子がわかるようになったのはよいですが、確認するたびにxwdでキャプチャしてconvertで変換してってやるのは大変です。静止画だとよくわからないってのもあります。
調べてたらどうやらVNCでリモートデスクトップ接続のようなことができそうだったのでやってみました。
必要なもの
- fluxbox
- x11vnc
fluxboxはウィンドウマネージャ。x11vncはきっとX Windows System用のVNCサーバなのだと思います。
この2つをインストールします。
makoto@hp-laptop:~$ sudo apt-get install fluxbox x11vnc
CentOSだと標準リポジトリには入っていなかったので、rpmforgeからインストールします。
makoto@hp-laptop:~$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm makoto@hp-laptop:~$ sudo rpm -Uhv rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm makoto@hp-laptop:~$ sudo yum install fluxbox x11vnc --enablerepo=rpmforge
fluxboxとx11vncを起動
その前にXvfbを起動しておきます。「-screen」オプションの後にスクリーン番号と解像度と色数を指定しました。これでフルカラーな感じになるはずです。
起動する前に環境変数DISPLAYに「:1」を設定しておきます。
makoto@hp-laptop:~$ export DISPLAY=:1 makoto@hp-laptop:~$ Xvfb :1 -screen 0 1024x768x24 &
fluxboxをバックグラウンドで起動します。
makoto@hp-laptop:~$ fluxbox &
x11vncをこれまたバックグラウンドで起動します。
makoto@hp-laptop:~$ x11vnc -display :1 -bg -nopw -listen localhost -xkb
オプション
-display | ディスプレイ番号を指定 |
-bg | バックグラウンドで起動 |
-nopw | パスワードなし |
-listen | 接続を待ち受けるIPアドレス? |
-xkb | XKEYBOARDという拡張機能を有効にする |
「-listen」は「localhost」だと外から接続できないみたいです。「0.0.0.0」を指定したら外から接続できました。
VNC Viewerでリモートデスクトッ付接続
VNCが起動したので、リモートデスクトップ接続をしてみます。リモートデスクトップ・ビュアーというアプリを起動して、localhostに接続します。
接続したところです。ディスプレイに何も起動していないので何もないですね。
コマンドラインからfirefoxを起動したところです。マウスやキーボードが普通に使えるので、ここからURLを指定してページを開くこともできます。