« texで作成した文章に欧文フォントを埋め込んでpdfにする | メイン | Ubuntuにrootユーザーを作成する »

Ubuntu8.04でvncserver

VNCを用いて、windowsマシンからUbuntuマシンのデスクトップにリモートアクセスする。
ただし、vncは標準では平文で通信を行ってしまうので、sshポートフォワーディングを用いて
暗号化通信を行う。

・Ubuntu側
$ sudo apt-get install vncserver
22番ポート(ssh)を開放しておく。

・Windows側
Puttyあたりのsshで通信ができる端末エミュレータと、TightVNCあたりのVNCクライアントを用意する。


・接続手順
1. windows側で、puttyを起こす
2. ポートフォワーディングを有効にして、Ubuntuマシンにログイン
(ここでは、windowsマシンの1234番ポートをUbuntuマシンの5901番ポートに転送する)
3. ログインした端末エミュレータから、vncserverを起動する
$vncserver
New 'ubuntu:1 (xxx)' desktop is ubuntu:1
などのように、一枚目(:1)にサーバーが起動したことを確認する。
4. windows側でTightVNCを起こして、接続先を「localhost::1234」とし、ログインする。

※もしvncserverが1枚めではなくx枚めであれば、転送先のポートを5900+x番にする


また、このままではリモートアクセスしたデスクトップでtwmが用いられていたり、日本語入力メソッド(SCIM)が起きなかったりとつかいづらい。
そこで、~/.vnc/xstartupを編集する。ここでは、ウィンドウマネージャーにfluxboxを使うように設定した。
#!/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 &

export GTK_IM_MODULE="scim-bridge"
scim -d&
export XMODIFIERS="@im=SCIM"

#wmtemp&
fluxbox &

ちなみに、LinuxのVNCクライアントにはxtightvncviewerなるものがある。
・使い方
$ xtightvncviewer IPアドレス:ディスプレイ番号
$ xtightvncviewer 127.0.0.1:1 など

Ref:)
http://www18.big.or.jp/~fujiwara/ikki/doc/vnc/vnc_ssh_tt.shtml
http://kopanda.selfip.com/blog/crosss/2007/12/fedora7vnc41.html
http://www14.plala.or.jp/campus-note/vine_linux/server_ssh/ssh_portforwarding.html