自宅サーバー ≫ Linux Server ≫ CentOS 6.5 ≫ VNCサーバー(tigervnc)

 
VNCサーバーの準備

CentOSのインストール時に “X Windows System”・“GNOME Desktop Environment”・“Japanese Supportを選択していない場合は必要なソフトをインストール

なお、既に上記ソフトがインストール済の場合は VNCサーバーのインストール” へ

X Windows System のインストール
 
 [root@centos]# yum -y groupinstall "X Window System"   <--- 入力
 
GNOME Desktop Environment のインストール
 
 [root@centos]# yum -y groupinstall "GNOME Desktop Environment"   <--- 入力
 
Japanese Support のインストール
 
 [root@centos]# yum -y groupinstall "Japanese Support"   <--- 入力
 
VNCサーバーのインストール
 
 [root@
centos]# yum -y install tigervnc-server   <--- 入力
 
VNCサーバーの設定
 
 
[root@centos]# vi /etc/sysconfig/vncservers   <--- 入力
 
 
途中略
 
 
# VNCSERVERS="2:myusername"   <--- コメント解除して書換え
         ↓ 
 
VNCSERVERS="1:root"   <--- ディスプレイNo=1 : ユーザー名=root
 
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
   <--- コメント解除して書換え
         ↓ 
 
VNCSERVERARGS[1]="-geometry 1024x768"   <--- ディスプレイNo.1の解像度
 
1024x768 は、解像度を表すので自分の環境に合わせて変更
-nolisten tcp、-localhost は CentOS 5 よりセキュリティー強化のため追加されたオプション
  -nolisten tcp = TCP接続を使用しない
  -localhost    = 自ホスト以外からの接続禁止
通常、自宅LAN内以外からの接続はないのでこのオプションを付けない
一旦 VNC サーバーを起動 (1回 VNC サーバーを起動しないと下記ファイルが作成されないため)
 
 [root@centos]#
vncserver :1   <--- 入力(起動)
 You will require a password to access your desktops. 
 Password: 
********   <--- パスワード入力
 Verify:
********   <--- 再度パスワード入力
 
 [root@centos]#
vncserver -kill :1    <--- 入力(停止)
 
X サーバーの設定
 
 
[root@centos]# vi ~/.vnc/xstartup   <--- 入力

 
途中略

 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 xsetroot -solid grey
 xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
   <--- コメント化
         ↓
 #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 
twm &
   <--- 書き換え
         ↓
 kde-session &
 
VNCにおいて日本語環境が必要な場合 (入力切替は『Ctrl』+『スペース』)
 
 
[root@centos]# vi ~/.vnc/xstartup   <--- 入力

 
途中略

 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 xsetroot -solid grey
 vncconfig -iconic &
 #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

 gnome-session &
 
 
最終行に以下追記
 
 
export GTK_IM_MODULE=scim
 
VNCサーバーの起動 
 
 [root@centos]#
/etc/rc.d/init.d/vncserver start   <--- 入力
 
vncserver の自動起動設定
 
 [root@centos]#
chkconfig vncserver on   <--- 入力
 
自動起動設定の確認
 
 [root@centos]#
chkconfig --list vncserver   <--- 入力
 vncserver  0:off  1:off  2:on  3:on  4:on  5:on  6:off
   <--- 2・3・4・5 が on になっていればOK
 
※上記起動設定は常に VNC サーバーが起動している状態でサーバー機のスペックに余裕がある場合は問題ないがサーバー機にスペックに余裕がない場合は以下のように VNC サーバーに接続が要求された場合のみ xinetd を使って VNC サーバーを起動するようにする
xinetd インストール
 
 [root@centos]#
yum -y install xinetd   <--- 入力
 
vnc-server 5900/tcp の確認 (無ければ追記)
 
 [root@centos]#
vi /etc/services   <--- 入力
 
 
途中略
 
 ppsuitemsg       5863/tcp       # PlanetPress Suite Messeng
 ppsuitemsg       5863/udp       # PlanetPress Suite Messeng
 vnc-server       5900/tcp       # VNC Server
   <--- 確認(無ければ追記)
 vnc-server       5900/udp       # VNC Server
 cm               5910/tcp       # Context Management
 cm               5910/udp       # Context Management
 cpdlc            5911/tcp       # Controller Pilot Data Link Communication
 cpdlc            5911/udp       # Controller Pilot Data Link Communication
 
 
以下略
 
xinetd ファイルの設定
 
 [root@centos]#
vi /etc/xinetd.d/vnc   <--- 入力
 
 
以下新規ファイル作成
 
 
service vnc
 {

    
disable = no
     socket_type = stream
     wait = no
     user = nobody
     server = /usr/bin/Xvnc
     server_args = -inetd -query 192.168.1.*** -once -geometry
1024x768 -depth 16 -securitytypes=none
     log_on_failure += USERID

 
}
 
VNC サーバー接続時にパスワードを求めるようにする場合
 
 [root@centos]#
vi /etc/xinetd.d/vnc   <--- 入力
 
 
以下新規ファイル作成
 
 
service vnc
 {

    
disable = no
     socket_type = stream
     wait = no
     user = nobody
     server = /usr/bin/Xvnc
     server_args = -inetd -query 192.168.1.*** -once -geometry
1024x768 -depth 16 --
                                                   
 PasswordFile=/etc/vnc_password   <--- 1行で記述
     log_on_failure += USERID

 
}
 
パスワード設定
 
 [root@centos]#
vncpasswd /etc/vnc_password   <--- 入力 
 Password:
********   <--- パスワード入力
 Verify:
********   <--- 再度パスワード入力
 
パスワードファイルのアクセス権変更
 
 [root@centos]#
chmod 644 /etc/vnc_password   <--- 入力
 
xinetd の起動
 
 [root@centos]#
/etc/rc.d/init.d/xinetd start   <--- 入力
 
xinetd の自動起動設定
 
 [root@centos]#
chkconfig xinetd on   <--- 入力
 
自動起動設定の確認
 
 [root@centos]#
chkconfig --list xinetd   <--- 入力
 vncserver  0:off  1:off  2:on  3:on  4:on  5:on  6:off
   <--- 2・3・4・5 が on になっていればOK
 
クライアント(Windows)側の設定
CentOS 5.5 ≫ VNCサーバー(tigervnc)参照
クライアント側の VNC サーバー接続時のアドレス指定は通常の VNC サーバー接続と xinetd 経由の接続の場合では違う
通常の接続の場合はアドレスの最後にディスプレイ番号を付ける (下記の例だと :1)

xinetd 経由の接続の場合はアドレスの最後にポート番号の下2桁を付ける (下記の例だと :00)

戻る