*xrdpの方がもっと簡単・便利

仮想フレームバッファ Xvfb と x11vnc で織りなすディスクトップ環境

X環境は素晴らしい。だが、普段はinit3のテキストモードで、必要なときのみX11環境を使いたい。
操作する側(下図右側)にXサーバ(Xmingら)があれば、サーバ側(下図左側)はinit3でも構わない。
2013y03m01d_001440508.png
だが、Xサーバを持たないPCでもサーバ側のXアプリケーションを使う場合、どうすれば。
ここは操作側がwindowsな場合を想定して、Xvfb と x11vnc で織りなすX11環境を考える。
2013y03m01d_002557373.png

つくる

CentOSはX/gnome環境もないminimalで構築してinit3/テキストモードにする。
x11nvcがepelかRPMforgeにある。fluxboxはCentOS5ならepel/RPMforgeどちらにもあるのだが、CentOS6だとepelにしかない。
なので、epelのリポジトリを追加します。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
yum -y install wget
 
***CentOS5 64bit
rpm -Uvh ftp://ftp.riken.jp/Linux/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
rm epel-release-5-4.noarch.rpm
yum -y update epel-release
 
***CentOS6 64bit
rpm -Uvh ftp://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rm epel-release-6-8.noarch.rpm
yum -y update epel-release

これでepelが使えるが、闇雲に使われても困るので、抑制を加えて、他の物もインストール

  1
  2
  3
  4
  5
  6
vi /etc/yum.repos.d/epel.repo            *[epel]のenabled=0とする
 
yum --enablerepo=epel install x11vnc     *x11vncをインストール
yum --enablerepo=epel install fluxbox    *ウインドーマネージャ
yum install firefox xterm xmessage       *必要なアプリをインストール
yum install liberation-mono-fonts xorg-x11-font-utils xorg-x11-fonts-misc

と環境を整える。

つかう

一般ユーザでも構わなく

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
x11vnc -storepasswd                 *vncのパスワード設定
export DISPLAY=:1.0                 *意味「:ディスプレイ番号.スクリーン番号」
 
Xvfb :1 -screen 0 1024x768x24 &     *ディスプレイ番号1のスクリーン番号1な仮想フレームバッファを用意
 
fluxbox --display :1 &              *ディスプレイ番号1のfluxboxを起動
                                    *重要:--displayです。ハイフン(-)が2個入ります
 
x11vnc -display :1 -rfbauth /home/foo/.vnc/passwd -rfbport 5901
                                    *ディスプレイ番号1を5901でvncで開示。ただしfooのパスワードを要求
***パスワードなしなら
x11vnc -display :1 -nopw -rfbport 5901

として次に、vncクライアントのあるwindowsマシンからでも このマシンに向けてポート番号5901にて接続
2013y03m01d_003546605.png
OKボタンを押すとパスワードが求められますが、これはvncで作ったパスワードです。
2013y03m01d_003710367.png
認証に成功すると、画面が立ち上がる。ここでは fluxbox ウインドーマネージャによるディスクトップ環境が使える
2013y03m01d_004041615.png

これでinit3(テキストモード)ながら、リモート環境でX11が使えるようになった。

GNOMEで使いたい

いままでと同じディスクトップ環境、GENOMEを使いたいのなら、

  1
  2
  3
[foo@c8 ~]$ Xvfb :1 -screen 0 1024x768x24 &
[foo@c8 ~]$ DISPLAY=:1 dbus-launch gnome-session &
[foo@c8 ~]$ x11vnc -display :1 -nopw -rfbport 5901

とするとXの画面がvncで表示される
2013y06m25d_225338163.png
終了の際は、このvncを閉じるとx11vncも落ちてしまうので注意が必要。
あと、vncのX画面でログアウトして画面を閉じると一応gnome-session関連も同時に落ちてくれるが、全ては落ちない。。。
永続的に残っているプログラムもある。それをほっといて、再度

DISPLAY=:1 dbus-launch gnome-session &

を行い

x11vnc -display :1 -nopw -rfbport 5901

をしても正常には動作するので構わないかも。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2013-07-05 (金) 01:46:36 (1570d)