Vncの設定

提供: Astarisk Works Wiki

このページでは次の環境を実現するための設定をまとめる。

  • VNCサーバで外部からデスクトップ環境を利用できるようにする
  • VNCにより任意のユーザでログインできるようにする


そのためには次のステップで設定する必要がある。

  1. vncserver(xvnc)をxinetdで起動するように設定する
  2. サービスポートを割り当てる
  3. リモートから接続でログイン画面を表示するようにする
  4. ポートをあけるようファイヤーウォールを設定する


目次

vncserver(xvnc)をxinetdで起動するように設定する

vncserverをxinetdから起動するようにする。

まず、xinetdがインストールされていることを確認する。

root>yum list installed | grep xinetd
 

何も見つからなければyumでインストールする

root>yum install xinetd
 

次にxinetdからvncサーバを起動するように次の内容で/etc/xinetd.d/xvncというファイルを作る。ファイル名は別にどんな名前でもかまわない。

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

上記の内容をserviceに続くサービス名(上記例ではxvnc)を任意に変更して複数記述してもよい。そうすることによりたとえばスクリーンサイズを変えた別の設定を用意することもできる。

また、PasswordFileにvncに接続するためのパスワードファイルを用意する必要がある。作成後、xvncから読めるように権限を変更しておく。

root>vncpasswd /etc/passwd_vnc
Password:
Verify:
root> ls -l /etc/passwd_vnc
-rw------- 1 root root 8 2009-05-20 00:20 /etc/passwd_vnc
root> chown nobody.tty /etc/passwd_vnc
root> ls -l /etc/passwd_vnc
-rw------- 1 nobody tty 8 2008-05-20 00:20 /etc/passwd_vnc

これでvncserverをxinetdで起動する設定は完了。

サービスポートを割り当てる

/etc/xinetd.d/Xvnc で定義したサーバ名とポート番号を結びつけられるように /etc/services に次のエントリを追加する。

xvnc	5901/tcp			# VNC Server

リモートから接続でログイン画面を表示するようにする

LinuxにGUIでログインし、[システム]-[管理]-[ログイン画面]を開き、設定画面を表示する。開いた画面の[リモート]タブを開き[スタイル]の「ローカルの同じ」を選択する。

コマンドラインで設定したい場合は/etc/gdm/custom.confの[xdmcp]セクションにEnable=trueを追加する。

この設定を変更した後にはリブートが必要。


ポートをあけるようファイヤーウォールを設定する

最後に設定したポートで外部から接続できるようにファイヤーウォールの設定を行う。





参考:FedoraにVNCサーバを設定する - adsaria mood

個人用ツール