Maxの日記: VNC on Mandrake *なんとか運用*
備忘録:
出来の悪いvncserver初期化スクリプトを書き換える。
参考はこちらなど。
inetd/xinetd経由での起動は、VNC-3.3.3r2から対応だが、Mandrakeで現在提供
されているのは 3.3.3r1なのでinetd経由の起動は不可。
/etc/rc.d/init.d/vncserver--------------------
[snip]
start() {
echo -n "Starting VNC server: "
# daemon vncserver
daemon --user=hogehoge vncserver -depth 15 -dontdisconnect -nevershared --here
[snip]
stop() {
echo -n "Shutting down VNC server: "
# killproc vncserver
killproc Xvnc --here
[snip]
----------------------------------------------------------
Note1: "user=hogehoge"の所には、vncで接続するユーザ名を指定。
Note 2: "-depth 15"はデフォルトでは8が与えられるので回線の都合上遅すぎるなどの場合はなくていい。
Note 3: "-dontdisconnect -nevershared"はvncビューアからの接続は単一と言う前提のため
Note 4: vncserverはwrapperプログラムのため、終了させる本体はXvnc
# ちょっと自信なし(苦
クライアントからは、
$ vncviewer xxx:1
で、接続される("xxxは相手サーヴァのIPアドレスまたはホスト名)。
sshを経由してという場合は、
$ ssh -L 5902:xxx:5901
で、相手サーヴァにログインしてから、ローカルマシンから
$vncviewer localhost:2
とする。
現状、これだとどこからでも接続を受け付けてしまう。
外部からのポート5901-5902の接続はこのサーヴァのネットにいる
ファイアウオールで蹴ることはできるので運用上大きな問題はない。
が、あまりおもしろくない。
"vncserver -localhost"で上記のssh経由での接続のみを認証できるかのように説明あるが、
トライした結果うまくいかない。どっかまずってるのか。要調査。
起動するウィンドウマネージャはデフォルトだとtwmになっているので、
これを変えるには、vncによって生成されるスクリプトをたとえばつぎのように。
~/.vnc/xstartup-------------------
#twm &
blackbox &
-------------------------------------------
としてやる。