MASUDAQ Blog

NO DEVELOPMENT NO LIFE.

Windows から、CentOS への VNC 接続

Windows から、CentOS 5.4 への VNC 接続方法を紹介する。

CentOS(Linux) のオペレーションは、Tera Term 等のターミナルで事足りる。

しかしながら、CUI では、疲労困憊時時には、スペルミス等のケアレスミスが多発して、生産性が大幅に低下してしまうことが多々ある。また、キーボードレス、マウスだけのオペレーションでやりすごしてしまいたいことも多々ある。

それに加え、最近の Linux 、CentOS のデフォルトインストールでは、GUI が起動する。これは、やはり需要と供給の結果ではないだろうか。

そこで、今回は、GUI でのリモート接続、Windows で言えば、リモートデスクトップに相当する VNC により、CentOS へのリモート接続例を紹介する。

VNC を利用すれば、Windows to Windows、Windows to Linux、Mac to Linux、等々のマルチプラットフォームでの GUI リモードアクセスが可能だ。

VNC には、サーバーとクライアントモジュールがある。CentOS 5.4 には、サーバーモジュールがデフォルトでインストールされている。インストールされていない、インストールされているかどうか分からない場合は、以下のコマンドより確認できる。"vnc-server" が、"installed" となっていれば、既に VNC のサーバーモジュールがインストールされている。

>yum list installed 'vnc-server'
Installed Packages
vnc-server.i386 4.1.2-14.el5_3.1 installed

インストールされていない場合、最新版をインストールしたい場合は、以下のコマンドを実行する。

>yum install vnc-server -y

次に、CentOS 起動時に VNC サーバーも自動起動するよう設定する。"/etc/sysconfig/vncservers" ファイルをエディタで編集する。以下では、vi で "/etc/sysconfig/vncservers" ファイルを編集する。もちろん、ローカルで GUI 環境が利用できるのであれば、GUI 環境で編集しても構わない。

>vi /etc/sysconfig/vncservers

以下のエントリを追加する。

VNCSERVERS="5:youraccount"
VNCSERVERARGS[5]="-geometry 800x600 -nolisten tcp -nohttpd"

"VNCSERVERS" には、利用するポート番号と、アカウントを設定する。ここで、設定した数値が、5900 下一桁に対応する。1 を設定すれば、5901、上記の例では、5905 となる。このポート番号は、後で必要となるので、覚えておく。アカウントは、VNC でリモート接続する際に利用するアカウント名を設定する。CentOS に存在するアカウントを設定する。

"VNCSERVERARGS" には、"VNCSERVERS" の数値に対応するオプションを設定する。"-geometry" には、画面解像度を設定する。その他の設定は、ファイルのヘッダに説明があるので、そちらを参照願いたい。

複数のアカウントを設定する場合は、"VNCSERVERS"、"VNCSERVERARGS" のエントリをそれぞれのアカウント毎に定義する。アカウント毎にポートを設定する。

VNC アカウントのパスワードを設定する。

>su youraccount
>vncpasswd
Password: ********
Verify: ********

VNC サーバーを起動する。

>su
>/etc/rc.d/init.d/vncserver start
VNC サーバー を起動中: 5:youraccount xauth: creating new authority file /home/youraccount/.Xauthority
xauth: (stdin):1: bad display name "yourserver.yourdomain.local:5" in "add" command

New 'yourserver.yourdomain.local:5 (youraccount )' desktop is yourserver.yourdomain.local:5

CCreating default startup script /home/youraccount/.vnc/xstartup
Starting applications specified in /home/youraccount/.vnc/xstartup
LLog file is /home/youraccount/.vnc/yourserver.yourdomain.local:5.log [ OK ]

初回起動時に、ユーザーのホームディレクトリ "/home/youraccount/.vnc/xstartup" にプロファイルができていることを確認する。

VNC 接続時に、GNOME が起動するようにプロファイルを編集する。

>vi /home/youraccount/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc [ -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" &
twm &

上記のファイルを以下のように編集し、保存する。

>vi /home/youraccount/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc [ -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" &
#twm &
exec gnome-session

"twm &" 行をコメントアウトし、"exec gnome-session" 行を追加したのみだ。

VNC サーバーを再起動する。

>/etc/rc.d/init.d/vncserver restart

CentOS ファイアウォールのポートを開放する。

"/etc/sysconfig/iptables" を直接編集してもよいが、今回は、"system-config-securitylevel" ユーティリティーを利用する。

>su
>system-config-securitylevel

[カスタマイズ] -> [受信を許可] -> [その他のポート] に "/etc/sysconfig/vncservers" で指定したポート番号 ( 例 : "5905") を指定する。

[OK] -> [OK] で設定を有効にする。"system-config-securitylevel" ユーティリティーを利用すれば、"iptables" を手動で再起動する必要はない。

"/etc/sysconfig/iptables" を直接編集するマニュアルな方は、"/etc/sysconfig/iptables" を以下の通り編集する。

>su
>vi /etc/sysconfig/iptables

COMMIT 行の上に次のエントリを追加する。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 590x -j ACCEPT

"590x" には、"/etc/sysconfig/vncservers" で指定したポート番号 ( 例 : "5905") を指定する。

"/etc/sysconfig/iptables" を直接編集した方は、iptables を再起動する。

>/etc/rc.d/init.d/iptables restart

以上で、CentOS 側 ( VNC サーバー側) の設定は完了だ。

次に、VNC Viewer (VNC クライアント ) の設定をする。

 http://www.realvnc.com/ から、[Products] -> [Free Edition] -> [download the latest version] -> [Proceed to download] より、自分の環境にあった VNC Viewer (VNC クライアント ) をダウンロードする。

今回は、Windows 環境で使用し、VNC のクライアント( 以降、VNC Viewer )のみが必要なので、"VNC Free Edition Viewer for Windows" をダウンロードする。

ダウンロードしたファイルを必要であれば、展開し、任意のフォルダに配置する。

"VNC Viewer" を起動する。

[Se[Server] に、"VNCServerIP:590x" と入力し、[OK] をクリック 。"VNCServerIP" は、IP アドレスでも、DNS 名でもクライアント側から、名前解決できるアドレスを入力すればよい。"590x" は、VNC アカウントに対応するポート番号( 例 : "5905") 。

パスワードを要求されるので、vncpasswd で設定したパスワードを入力。

GNOME が起動できたことを確認する。

結構、長い道のりだった...

このエントリーをはてなブックマークに追加