VPS上のGNOMEをVNCでリモート操作する方法

最近、さくらのVPSなどの高性能で安価なVPSサービスが増えてきた。


これらの安価なVPSにVNC環境を構築し、

こんな風にLinuxデスクトップをリモート操作する方法を紹介してみます。

リモートでLinuxのGUI環境を利用するメリットとして、設定ファイルなどをGUIで編集可能だったり、NetbeansやEclipse、AptanaなどのIDEを導入して、サーバ上で直接開発する事が出来る、と言った事が挙げられる。(実用的か否かはともかく。)
あと、自由に使えるデスクトップ環境がネット上に存在するというのは何となく嬉しい。
(この記事ではWindowsからの接続のみに触れていますが、スマートフォンやMacなどからもリモート操作可能です。)

以下、CentOSをサーバ、Windowsをクライアントとする場合の設定例。

サーバの設定

※手順5・手順7のみユーザ権限で実行、あとは全てroot権限にて実行する。

手順1. VNCサーバのインストール
yum install vnc-server
手順2. Xウインドウのインストール
yum groupinstall "X Window System"
手順3. Gnomeのインストール
yum groupinstall "GNOME Desktop Environment"
手順4. 設定ファイル /etc/sysconfig/vncservers の編集
vi /etc/sysconfig/vncservers

以下の二行を追記。

VNCSERVERS="1:VNCでログインしたいユーザ名"
VNCSERVERARGS[1]="-geometry 1024x768"
補足:
VNCSERVERS には、複数のIDを指定する事も出来る。
その場合は、以下のようにスペース区切りで書く。

VNCSERVERS=”1:IDその① 2:IDその②”

VNCSERVERS で複数のIDを指定した場合はその数だけVNCSERVERARGSを記述する。
[]内の番号はVNCSERVERS で指定した番号と対応する。

手順5. VNCパスワードを設定する

※手順4にて設定した、VNCで接続したいユーザで実行する。

vncpasswd

パスワードを二回尋ねられるので、同じものを入力する。

手順6. VNCサーバを起動する。
/etc/rc.d/init.d/vncserver start
手順7. ユーザ毎のxstartupを設定

※VNCで接続したいユーザで実行する。

vi ~/.vnc/xstartup

vncconfig -iconic & をコメントアウトして、

vncconfig -nowin &

を追記する。

twm & をコメントアウトして、
以下を追記。

export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
export XMODIFIERS="@im=SCIM"
exec gnome-session &
手順8. 他にインストールしておきたいもの
yum install firefox
yum install fonts-japanese
yum groupinstall "Japanese Support"
手順9. VNCサーバの再起動
/etc/rc.d/init.d/vncserver restart
クライアントの設定
手順10. RealVNCのインストール

ベクターからRealVNC をダウンロードする。

インストールを進めると、以下のような画面になるので、VNCサーバのチェックを外して次に進む。

手順11. VNCビューアでサーバに接続

VNCビューアを起動する。

サーバ名は以下のように指定する。
IPアドレス:590x
※xには手順4 で割り当てたユーザ毎の番号を当てはめる。

接続するとパスワードを尋ねられるので、手順5で設定したパスワードを入力する事でログイン出来る。

4/10追記

VNCはIDなしのパスワードのみで認証されてしまうし、パスワードが平文で流れるのでこの構成をインターネット上で行うのは危険。対処策は「vnc ssh」で検索

というコメントを頂いていたので、一応SSHポートフォワーディングを使用した接続方法も説明しておきます。
(殆どの人が普通にやって居る事だろうし、あえて書く必要はないと思うけれど。)

Putty限定なので、その他のSSHクライアントや、Windows以外のOSを使用している人は OS名またはSSHクライアントソフトウェア名+ポートフォワーディング という形でググってください。

SSHクライアントがPuttyの場合の設定例

iptables等で590x等を開放している場合は閉じておく。(開いてる方がおかしいとは思うけど。)
ポートを閉じていても、以下のように接続する事で、VNC接続する事が出来、通信も暗号化される。

SSHサーバのポートフォワーディングはデフォルトで有効になっていると思うので設定は省略。

まず、Puttyを起動。

Puttyユーザであれば既に接続先の設定などが済んでいると思うので、設定を読み込む。

トンネル設定を開く。

設定変更。変更する部分は画像の通り。
入力したら「追加」ボタンを必ず押す事。

中学生的発想で、源ポートを1919、としてみた場合の設定後の画面。
設定追加後、「セッションタブ」に戻って、設定を保存しておいた方が良いかもしれない。
毎回設定するのは面倒なので。

んで、SSH接続して、以下のようにVNCクライアントの接続先を localhost:1919 としてVNC接続するだけ。

2011年04月10日  タグ:, , , ,

Leave a Reply