さて、このマシンはサーバーとして物置代わりの部屋においておき、通常は家のほかの部屋からアクセスする。したがってネット越しでアクセスする方法が必要になる。CUIはsshを入れてしまえばお仕舞だが、21世紀にもなってそれでは物足りない。私が欲しいのは、完全なgdmセッションを実現すること。gdmログインで、ユーザーや言語を選べること。使っていない間はXサーバーのリソースを開放すること。セッションの途中で中断し、再びそこから再開できること。これらを、inetd経由でXvncを起動することで実現する。VNC:0 (port 5900)は、コンソールのXサーバーのリモート接続で使用するので、このセッションはVNC:1 (port 5901)として設定する。
パッケージマネージャーから、xinetdとvnc4serverをインストールする。ubuntuではこれらは初期状態で入っていないようだ。次に[System]→[Administration]→[Login Window]の[Remote]タブの[Style]で[Same as Local]を選ぶ。これでxdmcpが有効になる。が、gdmを再起動しなければいけないので、ここでマシンをいったん再起動する。次、sudoして /etc/xinetd.d/vnc を作成。中身は次の通り。なぜかXvncのパラメーターに -extension XFIXES をつけてあげないと、ログイン画面が出る前に落っこちてしまう。なぜだ~。
# default: off
# description: A Xvnc service. Provides a dynamic, but persistant workspace.
service vnc
{
type = UNLISTED
socket_type = stream
protocol = tcp
port = 5901
wait = yes
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -SecurityTypes None -geometry 800x600 -depth 24 -desktop "fit-pc2:1" -extension XFIXES
disable = no
}
保存したらxinetdを再起動する。これでVNCから ホスト名:1 で接続できる。結果はご覧の通り。

VNC経由のgdmログイン画面
運用の注意点としては、セッションを維持したまま中断するときは、必ず画面をロックすることですね。ま、自宅LANはNATルーターの内側なので、あまり神経質にならなくてもいいのだが。
これでfit-PC2をデスク上から片付けられる。あとはVNC経由でチビチビ作り上げていこう。