3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(Linux)CentOS6でx11vncをインストールする

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を入れるで取り上げます。