公開日: 2012年8月10日 13:20:09
最終更新: 2012年8月10日 13:20:09

Linuxでリモートデスクトップ接続(VNC)

リモートデスクトップ接続

vnc-server を使用すれば自宅にある LINUX を遠隔地から GUI で操作することができます。

VNCserver のインストール

yum で vnc-server をインストールします。

$ yum -y install vnc-server

ターミナルからコマンドで vnc-server を起動します。初回起動時のみ、リモートログイン時のパスワード設定を求められます。任意のパスワードを設定します。

$ vncserver

You will require a password to access your desktops.

Password: パスワード
Verify: 再入力

正常に起動した場合、ホスト名 とスクリーン番号が表示されます。(ここでは「:1」)

New 'cro-pel.com:1 (root)' desktop is cro-pel.com:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/cro-pel.com:1.log

※ vnc-server を起動したユーザの $HOME/.vnc にパスワード情報と設定ファイルが格納されます。
vnc-server を終了するときは、「-kill」 オプションとスクリーン番号を指定します。

$ vncserver -kill :1	# スクリーン :1 を終了

起動オプション

  1. -geometry … 画面解像度を指定
  2. -depth … 色深度を指定します。
  3. -nohttpd … JAVA によるブラウザからの GUI 操作を使用しない。

スクリーン番号について

vnc-server は起動する毎に「:1」、「:2」、「:3」… というようにスクリーン番号が割り当てられ、複数のユーザが各々のデスクトップで作業ができるようになっています。もし複数のユーザで同一のデスクトップを使用したい場合は、「-AlwaysShared」オプションを使用します。

## スクリーン :1 を複数ユーザで共有する
$ vncserver -geometry 1024x768 -AlwaysShared :1

VNC 使用ポートの開放

VNC が 利用するポートは、 5900 + スクリーン番号となります。必要に応じてポートを開放します。

## スクリーン :1 ~ :3 のポートを開放
$ iptables -I INPUT -p tcp --dport 5901:5903 -s 192.168.0.0/24 -m state --state NEW -j ACCEPT

Windows から LINUX へ接続する

Windows の VNC 接続クライアントには RealVNCTightVNC といったソフトがあります。ここでは RealVNC を使って接続してみます。

  1. VNC Viewer を起動し、LINUX サーバの アドレスとスクリーン番号を入力します。

    vnc-01

  2. 正常に接続できるとパスワードを求められますので、vnc-server を初回起動時に入力したパスワードを入力します。

    vnc-02

  3. LINUX のデスクトップ画面が表示されます。

    vnc-03

デフォルトの設定では twm の味気ない画面が表示されます。
ブラウザから JAVA アプレットで接続する
ブラウザから vnc-server に アクセスすることもできます。この場合、ブラウザのアドレスバーに「http://サーバアドレス: ポート番号」を入力します。なお、ポート番号は 5800 + スクリーン番号になります。
vnc-04
↑「http://cro-pel.com:5801/」 に接続

ウィンドウマネージャの変更

vnc-server の設定ファイルやパスワード情報などは、$HOME/ .vnc/ に格納されています。VNC ログイン時のウィンドウマネージャを変更するには、$HOME/.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 &

VNC ログイン時には GNOME デスクトップが起動します。
普段使用しているデスクトップ環境をそのまま使用する場合は、以下のとおりアンコメント (コメントを外す) すれば良いようです。

#!/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 &

VNC をサービスとして起動する

— 検証中 —