x11vncに関しては、(Linux)コンソールに表示されているデスクトップ画面をVNC(x11vnc)で操作するで取り上げてます。
CentOSでは通常のリポジトリに x11vnc が存在しないため、rpmforge リポジトリから導入してやらないといけません。
以下のようにして、rpmforgeリポジトリを利用できるようにしてやります。
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt # get http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # rpm -ihv rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # yum -y update rpmforge-release
ついで、x11vnc をインストールします。
# yum install x11vnc
x11vncのインストールが終わったので、rpmforgeリポジトリを無効化してやります。
# yum-config-manager --disable rpmforge
↑の無効化コマンドは初めて知ったんですが、実際やっているのは /etc/yum.repos.d/rpmforge.repo ファイル内の enabled の値が 0 をしているだけのようです。
あとは、(Linux)コンソールに表示されているデスクトップ画面をVNC(x11vnc)で操作するで書いている内容と同じです。 VNCのパスワードを設定します。
# x11vnc -storepasswd Enter VNC password: Verify password: Write password to /root/.vnc/passwd? [y]/n y Password written to: /root/.vnc/passwd
自動起動については、/etc/rc.local ファイルに /usr/bin/x11vnc -rfbauth /root/.vnc/passwd -forever を書いたのではダメでした。
それで xinetd 経由で起動することにしました。
以下のファイルを作成します。
touch /etc/xinetd.d/x11vnc vi /etc/xinetd.d/x11vnc service x11vnc { port = 5900 protocol = tcp disable = no socket_type = stream wait = no user = root server = /usr/bin/x11vnc server_args = -inetd -o /var/log/x11vnc.log -display :0 -rfbauth /root/.vnc/passwd -forever -bg -shared -enablehttpproxy -nolookup -auth /var/run/lightdm/root/:0 }
次に、サービスに対応するポートを設定します。
vi /etc/services ↓を末尾に追加。 x11vnc 5900/tcp # VNC Server
xinetdを再起動すれば使えるようになりました。
ディスプレイ番号は0になるので、通常のvncserverとの併用も可能でした。 通常のvncserverについては(Linux)CentOS6でVNCを入れるで取り上げます。