*xrdpの方がもっと簡単・便利
仮想フレームバッファ Xvfb と x11vnc で織りなすディスクトップ環境
X環境は素晴らしい。だが、普段はinit3のテキストモードで、必要なときのみX11環境を使いたい。
操作する側(下図右側)にXサーバ(Xmingら)があれば、サーバ側(下図左側)はinit3でも構わない。
だが、Xサーバを持たないPCでもサーバ側のXアプリケーションを使う場合、どうすれば。
ここは操作側がwindowsな場合を想定して、Xvfb と x11vnc で織りなすX11環境を考える。
つくる†
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にて接続
OKボタンを押すとパスワードが求められますが、これはvncで作ったパスワードです。
認証に成功すると、画面が立ち上がる。ここでは fluxbox ウインドーマネージャによるディスクトップ環境が使える
これで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で表示される
終了の際は、このvncを閉じるとx11vncも落ちてしまうので注意が必要。
あと、vncのX画面でログアウトして画面を閉じると一応gnome-session関連も同時に落ちてくれるが、全ては落ちない。。。
永続的に残っているプログラムもある。それをほっといて、再度
DISPLAY=:1 dbus-launch gnome-session &
を行い
x11vnc -display :1 -nopw -rfbport 5901
をしても正常には動作するので構わないかも。