Vine Linux - VNC インストールと準備

Vine Linux を使ってサーバ構築・運営していくためのノウハウをまとめてみました。
Vine Linux - VNC インストールと準備
  
line

Vine Linux - VNC インストールと準備

Saturday, Aug, 27, 2005
line
★★★ Windows上からLinuxのGUIを表示させる VNC★★★

Linux上で、USBのマウスが使えない場合時のことも考慮して、「 VNC 」をインストールしてみました。
この「 VNC 」はWindowsでいうリモート操作みたいなもので、クライアントマシン上にLinuxの画面を表示して操作することができます。
これを実現させるためにはLinux側に vncサーバ を、Windows側に VNCクライアント をインストールする必要があります。

Vine Linux側インストール

一応「 vnc 」と「 vncserver 」をインストールします。おそらく「 vnc 」はクライアントソフトなので必要はないとは思いますが一応念のため・・・。

# apt-get install vnc
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
vnc
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
174kB のアーカイブを取得する必要があります。
展開後に 447kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/i386/plus
vnc 4.0-0.0.beta4.11vl1 [174kB]
174kB を 0s 秒で取得しました (216kB/s)
変更を適用しています...
Preparing... ####################### [100%]
1:vnc ####################### [100%]
完了

つぎはメインのサーバをインストール。
# apt-get install vnc-server
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
vnc-server
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
1411kB のアーカイブを取得する必要があります。
展開後に 3157kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/i386/plus
vnc-server 4.0-0.0.beta4.11vl1 [1411kB]
1411kB を 4s 秒で取得しました (305kB/s)
変更を適用しています...
Preparing... ########################### [100%]
1:vnc-server ########################## [100%]
完了

Vine Linux側はこれで終了です。


起動と終了

まず、起動させてみます。今回は root で起動してみます。

# vncserver

You will require a password to access your desktops.

Password: ←Windows側からアクセスするときに必要なパスワード設定
Verify: ←もう一度同じパスワードを入力

New 'aaaa.bbb.cc:1 (root)' desktop is aaaa.bbb.cc:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/aaaa.bbb.cc:1.log

初回の起動のみパスワードを聞かれます。このパスワードはWindows側からアクセスするときに入力するパスワードです。
このように表示されれば、「 /root 」以下に「 .vnc 」というディレクトリが作成され、

・起動用スクリプト「 xstartup
・プロセス番号を記述してある「aaaa.bbb.cc:1.pid
※Windowsのエクスプローラー上から見ると「 XXXNNN~W.PID(環境によって違います。拡張子がPIDのファイル) 」と表示されます
・パスワードを記述した「 passwd
※ もしパスワードを忘れてしまった場合、このファイルを削除してから起動させると、またパスワードの設定ができます。
・そしてログファイルの「 aaaa.bbb.cc:1.log
※Windowsのエクスプローラー上から見ると「 XXXNNN~W.LOG(環境によって違います。拡張子がLOGのファイル)」と表示されます
が作成されます。

※ もし root でなくユーザで起動させた場合は、そのユーザのホームディレクトリ以下に同じようなディレクトリ・ファイルが作成され、Windows側からアクセスした場合もそのユーザでログインしたデスクトップの状態になります。
このうちプロセス番号が記述してあるファイルは、サーバを起動させるたびに作成され、終了すると削除されます。

この状態で、もう一度立ち上げると以下のように表示されます。

# vncserver

New 'aaaa.bbb.cc:2 (root)' desktop is aaaa.bbb.cc:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/aaaa.bbb.cc:2.log

このように、サーバを立ち上げるたびに新たなプロセス番号記録ファイルが作成されます。
また、この2という数字は、Windows側からアクセスするときに必要な番号で、Windowsのクライアントソフトからログインするときに「 192.168.0.10:2 」のように「サーバのIP:番号 」の形式で指定するための番号になります。

さて、起動するときは「番号」を指定しなくても、既に起動して使われている番号を除いたもっとも小さな整数が使用されますが、終了させるときは何番のプロセスを終了するか指定してやらなくてはなりません。

# vncserver -kill :1
Killing Xvnc process ID 25485

とすると「 1 」のプロセスを終了させることができます。
また、まとめて終了させる場合は

# killproc Xvnc
Xvnc

と実行すれば全てのプロセスを終了できますが、「 ./vnc 」以下のプロセス番号を記述したファイルが残ってしまいます。(これ以外でも何らかの理由で残ることがあるので、その場合も)
この場合は

# vncserver -kill :1
Killing Xvnc process ID 25561 ← 残ったファイルを削除
kill 25561: そのようなプロセスはありません

とするか

# rm /root/.vnc/aaaa.bbb.cc:2.pid

としてファイルを削除します。

root でログインしたい場合は、

$ su -
←パスワード
# vncserver :1

ユーザでログインしたい場合は、

$ vncserver :1

になります。

設定

デフォルトの状態でもいいのですが、実際やってみるとわかると思いますがとてもGUIと呼べるものではありません(8色程度でタスクバー(?)もメニューもなにもない。CUIの窓がある程度)。
ちゃんとGUIで操作できるようにするには、「 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 &
export LANG XMODIFIERS="@im=kinput2"
kinput2 -canna -cannaserver localhost &

exec gnome-session &
色の部分を付け足します。
※ 「 twm & 」を無効にさせて、「 exec gnome-session & 」の1行を付け加える。
また、

export LANG XMODIFIERS="@im=kinput2"
kinput2 -canna -cannaserver localhost &

の部分は、日本語入力を可能にさせる設定です。Linuxの操作時と同じように「Shift + スペース」で日本語入力が出来ます。
※ずっと日本語入力が出来ず悩んでました。Nerd's note さんの VNC on Vine Linux を参考にさせて頂きました。

root でログインしたい場合は、「 /root/.vnc/xstartup 」を。ユーザでログインしたい場合は、「 /home/ユーザ名/.vnc/xstartup 」を修正します。

番号とポート番号

先ほどの番号(vncserver :1 の 1の部分)はポート番号と関係しているようで、プラス5900した値がポート番号になるようです。
つまり

# vncserver :1 ←ポート5901番で待ち受け

解像度と色数

起動オプションで解像度の変更もできるようです。
# vncserver -geometry 1024x768 -depth 16 :1
※ 1024x768の16ビットで起動(65536色)
# vncserver -geometry 1024x768 -depth 8 :1
※ 1024x768の8ビットで起動(256色)

ファイアーウォール

先ほど言ったように、vncserver は5900~のポート(5999まで(?))を使用し、番号と密接に関わってきます。vncserver を1つしか起動しないというのであれば、5901だけでよいでしょう。
起動方法は、

# vncserver :1

iptables の設定は
#vnc用 クライアント機を192.168.0.5とする
/sbin/iptables -A INPUT -p tcp -m state --state NEW -s 192.168.0.5 --sport 1024: --dport 5901 -j ACCEPT

TCPで5901番ポートに接続を試みる192.168.0.5の1024番ポート以降のものを使用しているクライアントに関しては許可。

VNC関連ページ

Vine Linux - VNC クライアントのダウンロード
Vine Linux - VNC クライアントのインストール

投稿者 campanella : 2005年08月27日 21:31 | Linux Tips | 編集
line
□□□ トラックバック □□□

このエントリーのトラックバックURL:

line

» Vine3.2にVNC from Linux日記
MythTV機(Vine3.2)にVNCをインストールしてみました。参考にしたの... [続きを読む]

トラックバック時刻: 2005年11月03日 20:12

□□□ コメント □□□

line
名前
メールアドレス
URL
コメント
 
 
  kado