VNCを使ってGUIでリモートログイン

VNCを使ってGUIでリモート接続することは前からやっていたけど、

  1. vncserverを前もって起動しておく必要がある
  2. 一旦接続を終了すると、vncserverも終了させる必要がある
  3. vncserverの起動、終了は別の手段でリモート接続(telnet, ssh・・・)する必要がある

と、なかなか面倒だったのである。複数ユーザに許可させる場合は、それぞれ上の操作を行う必要があった。これも大変面倒。そこで、vncserverをxinetd経由で起動させることによって上記の問題を解決しようと思う。

まずは、xinetdにvncserverを組み込む。/etc/xinetd.d/vnc (vncは適当なファイル名前でいい)を作る。ファイルに記載する内容は以下のとおり。service vnc
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 1400x1050 -depth 16 --securitytypes=none
log_on_success += DURATION USERID
log_on_failure += USERID
}
本当はroot以外のユーザを指定したほうがいいのかも。でも、vncで接続するユーザではないのでよしとする。1400×1050はvncで接続するクライアントの画面解像度を指定する。接続側で選べないのが惜しい。必要とあれば、vnc1、vnc2と、画面解像度毎にファイルを登録してもいいかも。–securitytypes=none は、vnc接続としての認証を省く設定。どうせvnc接続してもログインが面画表示され、それ以降は正規のログイン認証が求められるからいいかな、と。vnc接続でのログイン画面はちゃんと「シャットダウン」機能は省かれているし、仮に想定外の人が接続してきてもイタズラできないようになっている。ちゃんと考えられているね。

さて、ファイルができたら、/etc/servicesに以下の内容を追加する。vnc 5900/tcpvnc1, vnc2 とファイルをたくさん作ったら、それぞれ、vnc1 5901/tcp
vnc1 5902/tcp
・・・
と、登録しておこう。ちなみに、5900はvnc接続に用いるポートの番号。

ここでxinetdを再起動しておこう。# /etc/rc.d/init.d/xinetd restart

Fedoraでは、[デスクトップ]ー[管理]ー[ログイン画面]のリモートタブのスタイルを「ローカルと同じにする」にして、セキュリティタブで「TCP接続を禁止する」のタブを外す必要がある。rootでログインする必要があるならば、「システム管理者(リモート)のログインを許可する」もチェックしておこう。

ここでとりあえずマシンを再起動。そうでないとなぜかうまくログインできない。VNCには真っ暗な画面が表示されるだけ。ネットワーク設定のホスト情報が間違っていると同じことになる。

これであらかじめvncserverを起動しなくてもvnc接続でGUIでリモートログインできるようになった。

これらの設定はここを参考にさせて頂きました m(_ _)m

ちなみに、クライアントの方は、Fedoraなら# yum install vncで[アプリケーション]ー[アクセサリ]にVNC viewerが登録される。Windowsなら、http://www.realvnc.com/download.htmlからクライアントをダウンロードするのが簡単。

「VNCを使ってGUIでリモートログイン」への1件のフィードバック

  1. 最近AEROADMINを使い始めました。いいアプリですよ。動作は重くない・・・あなたもやってみてください

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です