VNC

xined 経由の場合は xinetd 用のファイル設置と /etc/services に対してサービスを行うポートを指定します。

 まずサービスファイルの設定です vi /etc/services

# vi /etc/services
 ファイルを開いたら、末尾に以下のような行を追加します。

# Local services
vncserver 5901/tcp # Vnc Server 1024x768
vncserver2 5902/tcp # Vnc Server 800x600
 ここで1つ覚えておくのがディスプレイ番号1の時に開かれるポート番号は 5901 です。5900 + ディスプレイ番号が接続するポート番号となります。この 5901 というポートを VNC サーバが使うと明示するため /etc/services に設定の記述を行います。

 ここで2つ設定していますが、接続ポートによって VNC クライアントの解像度を分けるために記述しました。接続ポート(ディスプレイ番号)によって解像度は固定されてしまうからです。

 この例ではディスプレイ番号"1"の時に "1024×768" の解像度、ディスプレイ番号"2"の時に "800×600" の解像度で表示するように設定します。

 次は VNC サーバ接続用のパスワードを設定します。

# /usr/bin/vncpasswd /etc/passwd_vnc
Password:
Verify:
 画面にパスワードは表示されませんが、確認も含めて2回入力します。注意しなくてはいけないのは、このパスワードが VNC サーバに接続する全ユーザに共通のもの、という事です。VNC サーバ用に任意のパスワードを決めて、接続を許可するユーザだけパスワードを教えるという運用方法もありますね。

 所有者の情報を変更しておきます。

# chown nobody:nobody /etc/passwd_vnc
 次は xinetd 側の設定です。設定用のファイルを作成します。

# vi /etc/xinetd.d/vncserver
 ファイルを開いたら、以下の記述を行います。

service vncserver
{
disable = no
socket_type = stream
wait = no
user = nobody
group = tty
server = /usr/bin/Xvnc
server_args = -inetd -geometry 1024x768 -depth 16 -query localhost
                    -once PasswordFile=/etc/passwd_vnc
}

service vncserver2
{
disable = no
socket_type = stream
wait = no
user = nobody
group = tty
server = /usr/bin/Xvnc
server_args = -inetd -geometry 800x600 -depth 16 -query localhost
-once PasswordFile=/etc/passwd_vnc
}
 画面の関係上 "server_args" の行が2行にわたっていますが、こちらは必ず1行で続くようにお願いします。そうしないと起動時にエラーとなります。

 設定を反映させるために xinetd の再起動を行います。

 もし xinetd のインストールがされていない場合はxinetdのインストールを行ってください。

# /sbin/service xinetd restart
xinetd を停止中: [ OK ]
xinetd を起動中: [ OK ]
 もし後で接続が出来ないようであれば、xinetd 関係のトラブルが多いと思います。エラーは /var/log/messages ファイルに記録されるので、xinetd 再起動時に何かエラーが出ていないかどうかチェックされることを推奨します。

 以下のようなエラーが出たときは xinetd がセットアップされていません。

# /sbin/service xinetd restart
xinetd: unrecognized service
 こちらのページを参考にしてxinetdのインストールを行ってください。

 次に各種設定を行います。xdm の設定ファイルを編集します。

# vi /etc/X11/xdm/xdm-config
 ファイルを開いたら、末尾の行を探して、

DisplayManager.requestPort: 0
 これを ! 記号を使ってコメントします。

! DisplayManager.requestPort: 0
 その次は Xaccess ファイルの編集です。

# vi /etc/X11/xdm/Xaccess
 ファイルを開くと以下のように 40 行目がコメントされています。

# * #any host can get a login window
 このコメントを削除します。