CentOS5.2にVNCサーバ環境を構築した。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
09/09/13 書き直しました。
CentOS5.3にVNCでアクセスできるようにした。 - rderaログ
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
yumで必要なパッケージをインストール
[root]# yum list installed | grep vnc vnc-server.x86_64 4.1.2-9.el5 installed
vnc-serverはもう既にインストールされているので、インストールする必要はない。
/etc/sysconfig/vncserversを編集する。
# VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
これを以下のように編集する。
VNCSERVERS="1:admin" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -nohttpd"
~admin/.vnc/xstartupを編集する
ユーザadminでVNC関連のファイルを編集する。
[admin]# vi ~/.vnc/xstartup
以下の部分
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm &
を以下のように変更する。
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & gnome-session &
VNCサーバを起動する
[root]# /etc/rc.d/init.d/vncserver start
起動の自動化
以下のコマンドを実行することにより、OSを再起動時に
VNCサーバが自動的に起動する。
[root]# chkconfig vncserver on
これでVNCサーバの構築は終了した。
次に、クライアント側からVNCサーバにアクセスする。
接続要求があったときだけVNCサーバを起動
上で述べたように以下のコマンドを実行することにより、VNCサーバが
マシン起動時に自動的に起動するようになる。
[root]# chkconfig vncserver on
でも、VNCを使わないときでもVNCサーバが起動している状態が続いていて、無駄である。
よって、VNCサーバへの接続が要求されたときにVNCサーバが起動するように設定する。それには、xinetdを使う。手順を以下に示す。
xinetdをインストール
[root]# yum install xinetd
/etc/servicesを編集する
[root]# vi /etc/services
以下の記述を追記する。
vnc 5900/tcp # VNC Server
/etc/xinetd.d/下に起動ファイルを作る
/etc/xinetd.d/下にvncという起動ファイルを作る
[root]# vi /etc/xinetd.d/vnc
以下を記述する。
service vnc { socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -query 192.168.1.3 -once -geometry 800x600 -depth 16 --PasswordFile=/etc/vnc_password log_on_failure += USERID disable = no }
server_argsの指定は以下を参考にした。
WindowsでLinuxをリモート操作(後編) (2/2):ゼロ円でできるXサーバ(2) - @IT
-inetd | Xvncをinetd経由で起動させる(必須) |
-query ホスト | XDMCP(X Display Manager Control Protocol)を使ってユーザー認証を行う指定。「ホスト」は、VNCサーバが動作するマシンの指定 |
-once | xsessionが終了した時点でVNCサーバを終了 |
-geometry サイズ | デスクトップのサイズ |
-depth 色数 | 色数の指定 |
また、パスワードファイルとして/etc/vnc_passwordを指定しているが、
これは以下のコマンドで指定する。
[root]# vncpasswd /etc/vnc_password [root]# chmod 644 /etc/vnc_password
ここで設定したパスワードをVNCサーバに接続する時に、入力する。
パスワード入力をしないでVNCサーバに接続するには、
/etc/xinetd.d/vncのserver_argsという項目の
--PasswordFile=/etc/vnc_password
を、以下に変更する。
-SecurityTypes None
XDMCPを許可する
リモートからでも、グラフィカルログインできるように
XDMCP を許可する。
CentOS5.2では/etc/gdm/custom.conf
他の環境でも/etc/X11/gdm/gdm.confかもしれません。
[root]# vi /etc/gdm/custom.conf
以下の記述をする。
[xdmcp] Enable=true
xinetdが自動起動するように設定する
[root]# chkconfig xinetd on
ちょっとした応用
/etc/servicesに以下の記述をする。
vnc0 5900/tcp # VNC Server 1024x768 vnc1 5901/tcp # VNC Server 800x600
/etc/xinetd.d/配下にファイルを作成
/etc/xinetd.d/vnc0というファイルを作る。
画面サイズを1024x768に指定する。
service vnc0 { socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 -SecurityTypes None log_on_failure += USERID disable = no }
/etc/xinetd.d/vnc0というファイルを作る。
画面サイズを800x600に指定する。
service vnc1 { socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -geometry 800x600 -depth 16 -SecurityTypes None log_on_failure += USERID disable = no }
これにより画面サイズの違うVNCサーバにアクセスすることができる。
参考
Fedora Core 5でVNCサーバを動かすには − @IT
CentOS 5 VNC ServerとWindowsXPにRealVNC - WEBぷろぐらま〜 システム開発エトセトラ
[CentOS構築-10]VNCの導入と設定: ペンギンの教科書
http://www.pochinet.org/linuxZ0206.htm
umbT[o[\zðÂë¤I
http://u-mex.plala.jp/index2.php?%27%27vnc-server%A4%CE%C0%DF%C4%EA%27%27
CentOS5でRealVNCを使う: 羊羹blog@ココログ
��VNC�T�[�o�[�̊��{�ݒ聞���S�҂̂��߂�Linux�T�[�o�[�\�z�u��(CentOS �����T�[�o�[�Ή�)�����֗��T�[�o�[.com��
はじめての自宅サーバ構築 - Fedora/CentOS - リモートデスクトップ接続(VNC)
WindowsでLinuxをリモート操作(後編) (2/2):ゼロ円でできるXサーバ(2) - @IT
Linux の VNC サーバの設定
伊勢的新常識