これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/11/21 17:40:55.112 (台灣標準時)
遠方にある計算機を使う場合、これまで SSH を使ったきたでござる。端末エ ミュレーターが使えればよいのであれば、 SSH を使って remote の計算機に ログインして、そこでコマンドを打てばよいでござる。また、 X11 forwarding を使えば、 remote の計算機で動く X11 クライアントを、手元の 計算機に表示させて操作することもできるでござる。ただ、ネットワーク的に 遠くにある場合、 X11 forwarding だと反応がよくないことがあるでござる。 実用に耐えないこともあるでござる。そのような場合にどうしたらよいのか考 えてみたでござる。 VNC を使えばよいのかもしれない、と思い、試してみた でござる。遠くの計算機では NetBSD が動いている、とするでござる。その計 算機に VNC サーバーをインストールし、動かしてみることを考えてみるでご ざる。
まず、 VNC サーバーを動かす計算機に、 VNC サーバーをインストールするで ござる。 pkgsrc を使って net/tigervnc をインストールすればよいでござる。
# cd /usr/pkgsrc/net/tigervnc # make install
TigerVNC がインストールされたら、 VNC サーバーを起動してみるでござる。 パスワードを設定するように求められるので、パスワードを決めるでござる。
% vncserver You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used New 'myserver:1 (daisuke)' desktop is myserver:1 Creating default startup script /home/daisuke/.vnc/xstartup Creating default config /home/daisuke/.vnc/config Starting applications specified in /home/daisuke/.vnc/xstartup Log file is /home/daisuke/.vnc/myserver:1.log
動かした VNC サーバーを確認してみるでござる。
% vncserver -list TigerVNC server sessions: X DISPLAY # PROCESS ID :1 18169
ディスプレイ :1 で動いているので、これを終了させてみるでござる。
% vncserver -kill :1 Killing Xvnc process ID 18169
これで、 VNC サーバーを終了させることができたでござる。
幾つかの設定ファイルの雛形が作られたので、それらを編集するでござる。
% cd .vnc % ls -l total 1 -rw-r--r-- 1 daisuke taiwan 332 Aug 12 11:20 config -rw-r--r-- 1 daisuke taiwan 1022 Aug 12 11:25 myserver:1.log -rw------- 1 daisuke taiwan 8 Aug 12 11:20 passwd -rwxr-xr-x 1 daisuke taiwan 555 Aug 12 11:20 xstartup* % cp -pi config config.orig % cp -pi xstartup xstartup.orig % vi config % vi xstartup % diff config.orig config 9a10,12 > > geometry=3440x1600 > localhost % diff xstartup.orig xstartup 16,21c16,21 < if [ -x /etc/X11/xinit/xinitrc ]; then < exec /etc/X11/xinit/xinitrc < fi < if [ -f /etc/X11/xinit/xinitrc ]; then < exec sh /etc/X11/xinit/xinitrc < fi --- > #if [ -x /etc/X11/xinit/xinitrc ]; then > # exec /etc/X11/xinit/xinitrc > #fi > #if [ -f /etc/X11/xinit/xinitrc ]; then > # exec sh /etc/X11/xinit/xinitrc > #fi 23,25c23,28 < xsetroot -solid grey < xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & < twm & --- > #xsetroot -solid grey > xsetroot -solid "midnight blue" > #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & > xterm -sb -fn 12x24 -geometry 80x24+0+0 -ls -title "$VNCDESKTOP Desktop" & > #twm & > fvwm3 &
新しい設定で VNC サーバーを起動させてみるでござる。
% vncserver New 'myserver:1 (daisuke)' desktop is myserver:1 Starting applications specified in /home/daisuke/.vnc/xstartup Log file is /home/daisuke/.vnc/myserver:1.log % vncserver -list TigerVNC server sessions: X DISPLAY # PROCESS ID :1 22205
これで VNC サーバーは動かせたので、今度は、手元の計算機から VNC クライ アントを使って、 VNC サーバーに接続してみるでござる。ここでは、クライ アントからサーバーまでは、信頼できる通信路ではないとするでござる。クラ イアントからサーバーまでは SSH tunnelling を使って通信をすることにする でござる。まず、クライアントから SSH を使ってサーバーにログインするで ござる。ここでは、 SSH は port 50000 で動いているとするでござる。また、 クライアントの port 60000 とサーバーの port 5901 番を SSH tunnelling で接続するでござる。
% ssh -p 50000 -L 60000:localhost:5901 myserver
SSH を使って VNC サーバーに対して port forwarding の設定を行ったら、手 元の計算機にも TigerVNC をインストールするでござる。
# cd /usr/pkgsrc/net/tigervnc # make install
手元の計算機に TigerVNC をインストールしたら、次のコマンドを打てばよい でござる。
% vncviewer ::60000
すると、以下のようなウィンドウが現れるので、パスワードの入力を求められ るでござる。
|
---|
パスワードを入力し、 OK のボタンを押せば、 VNC サーバーの画面が現れる でござる。
|
---|
ここまで行えば、あとは必要な作業をすればよいでござる。以下は、ウェブブ ラウザーを起動してみたところでござる。
|
---|