VNCサーバ/VNCクライアントのインストール・設定
VNCサーバのインストール
DebianではいくつかのVNCサーバ(xserver, tightvncserver, vnc4server)をサポートしているのですが、 ここでは高機能っぽいtightvncserverをインストールします。 以下のコマンドです。 とりあえずこれでおしまいです。
# aptitude install tightvncserver
VNCクライアントのインストール
次にHost PCにVNCクライアントをインストールします。 もちろんネットワーク上の他のPCにVNCクライアントを インストールしてもかまいません。
調べてみるとVNCクライアント(Windows用)は 以下のような種類があるようです。 こちらのサイト(http://www.amy.hi-ho.ne.jp/masuda/pc/vnc/vnc_extend.html)に詳しく解説されています。
とりあえず私は高機能そうなUltraVNCを使ってみることにしました。
UltraVNCは有志の方により日本語化されたパッケージがあるので、 http://kp774.com/soft/uvnc_jp/から、 最新版のインストーラ版をダウンロードします。
ダウンロードしたファイルを実行するとインストーラが起動しますが、 Windowsの画面を他のマシンに転送する必要がない人は、 「コンポーネントの選択」で「ビューアのみ」を 選択することをお勧めします。
テスト
ここまできたらテストしてみます。 まず、coLinux一般ユーザでログインして以下のコマンドを実行します。 -depthの後の「24」は色数、-geometryの後の「1024x768」は VNCクライアントで表示する画面のサイズです。 自分の環境に合わせて適当に替えましょう。 ちなみに最後の「-compatiblekbd」はVNCクライアント内で ALTキーで使えるようにするおまじないです。
$ vncserver :1 -depth 24 -geometry 1024x768 -compatiblekbd
コマンドを初回実行時にパスワードを聞かれます。 これはVNCクライアントで接続するためのものです。 確認のため2回入力する必要があります。
次に、UltraVNCをインストールしたWindowsマシンで、 Ultr@VNC Viewerを起動します。 表示されたダイアログの一番上のVNC Serverのところに 「colinux:1」を入力して、「接続ボタン」を押します。
するとパスワードを入力するダイアログが出るので 先ほど設定したパスワードを入力しましょう。
Window Managerのないさびしい画面ですが、 下記のような画面が表示されればOKです。
VNCサーバを停止するには、colinuxで以下のコマンドを実行します。
$ vncserver -kill :1
なお、VNCサーバを停止した直後は何故か、 VNCサーバを起動できない場合があるようです。 この場合は、しばらく待ってから起動するか、 「:」の後の数字を「2」とかに変更して起動してください。
X端末風化
上記の設定でとりあえず、 coLinuxをGUIで使用することができるようになりました。 しかしこのままでは、GUIを使用するのには一旦coLinuxにログインしてから vncserverを起動させなければなりません。これではさすがに面倒です。
で、実はこれを解決するための機構が、 既にvncserverの方に組み込まれています。 それはVNCクライアントで接続すると 自動的にvncserverが起動するというものです。 ただし、それなりの設定が必要です。
なお、この設定は下記のWebページを参考にしました。 とても参考になりますので見てみてください。
/etc/servicesの変更
まず、/etc/servicesを変更して以下の行を追加します。 追加する場所は、このファイルのどこでもよいのですが、 とりあえず最後尾にしておきましょう。
ポイントは「5950」などの数字の部分です。 この数字は5950からはじめて1刻みに増やしていってください。 「vnc-1024x768x8」などは、VNCサーバの画面設定を表すものです。 これは横800、縦600、8bitカラー(256色)を意味しています。 本当は適当な文字列でよいのですが、 画面設定を意味する文字列にするとわかりやすいのでお勧めです。
vnc-1024x768x8 5950/tcp vnc-1024x768x32 5951/tcp vnc-1280x1024x8 5952/tcp vnc-1280x1024x32 5953/tcp
/etc/inetd.confの変更
次に、/etc/inetd.confを変更して以下の行を追加します。 これも、どこに追加してもいいのですが、最後尾にしておきます。
ここでのポイントは、各行の先頭の「vnc-1024x768x8」などは、 /etc/servicesに追加した文字列と完全に同じ者にするところと、 「-query」に続く「colinux」を 自分のcolinuxのホスト名にする点です(IPアドレスでも可)。
vnc-1024x768x8 stream tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd -query colinux -once -geometry 1024x768 -depth 8 -cc 3 vnc-1024x768x32 stream tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd -query colinux -once -geometry 1024x768 -depth 32 vnc-1280x1024x8 stream tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd -query colinux -once -geometry 1280x1024 -depth 8 -cc 3 vnc-1280x1024x32 stream tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd -query colinux -once -geometry 1280x1024 -depth 32
inetdの再起動
変更が終わったらinetd.confを反映をさせましょう。 以下のコマンドでinetdを再起動させます。
# /etc/init.d/openbsd-inetd restart
Xvfbのインストール
その次は、Xvfbをインストールします。 これはビデオボードがないマシンでも動くXserverです。 後述するgdmはXサーバを起動するので、 何らかのXサーバがインストールされていなければいけません。 colinuxにはビデオカードがないのでこのXvfbを使います。
インストールは以下のコマンドです。 もしかしたら既にインストールされているかもしれません。
# aptitude install xvfb
ディスプレイマネージャのインストール
次にディスプレイマネージャをインストールします。 xdm, gdm, kdmの3つのディスプレイマネージャが使用できますので、 お好みに応じて選択しましょう。
kdmが表示が綺麗で好みなのですが、 私の環境ではイマイチうまく動かない場合もあるので、 私はgdmを使っています。
xdmの場合
xdmのインストール
以下のコマンドを実行します。
# aptitude install xdm
インストールを開始するとデフォルトのディスプレイマネージャを どうするかときかれるので、迷わず「xdm」を選びます。
xdmの選択
この操作は必要ないかもしれませんが、念のため記載しておきます。
xdmをデフォルトのディスプレイマネージャにするには 以下のコマンドを実行して「xdm」を選びます。
# dpkg-reconfigure xdm
xdmの設定変更
設定はVNCクライアントから接続したVNCサーバにxdmが対応できるように することと、xdmが起動するXサーバをXvfbに変更するところです。 変更は/etc/X11/xdm/以下のファイルを変更することにより行います。 変更点は以下の個所です。
- /etc/X11/xdm/Xaccess
- 「#* #any host can get a login window」という行の 先頭の「#」を削除する(48行目付近です)。
- /etc/X11/xdm/Xservers
- 「:0 local /usr/bin/X vt7 -dpi 100 -nolisten tcp」の 先頭に先頭に「#」を挿入してコメントアウトする。
- 「:0 local /usr/bin/Xvfb」という行を挿入する。
- /etc/x11/xdm-config
- 「DisplayManager.requestPort: 0」という行の先頭に 「!」を挿入してコメントアウトする。
xdmの起動
以下のコマンドでxdmを起動します。 なお、次回起動時からは自動的にxdmが起動するようになります。
# /etc/init.d/xdm start
gdmの場合
gdmのインストール
インストールは以下のコマンドで一発です。 同時に他のパッケージもたくさんインストールされますが 気にしないことにしましょう。
# aptitude install gdm
インストールを開始するとデフォルトのディスプレイマネージャを どうするかときかれるので、迷わず「gdm」を選びます。
gdmの選択
この操作は必要ないかもしれませんが、念のため記載しておきます。
gdmをデフォルトのディスプレイマネージャにするには 以下のコマンドを実行して「gdm」を選びます。
# dpkg-reconfigure gdm
gdmの設定変更
gdmの場合は/etc/gdm/gdm.confを変更することにより行います。 変更点は以下の個所です。
- [daemon]セクションに「KillInitClients=true」, 「StandardXServer=/usr/bin/Xvfb」, 「VTAllocation=false」を追加。
- [security]セクションに「AllowRoot=true」, 「AllowRemoteRoot=true」を追加。
- [xdmcp]セクションに「Enable=true」を追加
- [server]セクションに 「[server-Starndard]」というセクションを作成して、 「name=Standard server」, 「command=/usr/bin/Xvfb」を追加。
わかりにくいので以下に私の/etc/gdm/gdm.confを 「gdmの設定」に 記載しておきます。
gdmの起動
以下のコマンドでgdmを起動します。 なお、次回起動時からは自動的にgdmが起動するようになります。
# /etc/init.d/gdm start
kdmの場合
kdmのインストール
インストールは以下のコマンドで一発です。 同時に他のパッケージもたくさんインストールされますが 気にしないことにしましょう。
# aptitude install kdm
インストールを開始するとデフォルトのディスプレイマネージャを どうするかときかれるので、迷わず「kdm」を選びます。
kdmの選択
この操作は必要ないかもしれませんが、念のため記載しておきます。
kdmをデフォルトのディスプレイマネージャにするには 以下のコマンドを実行して「kdm」を選びます。
# dpkg-reconfigure kdm
kdmの設定変更
kdmの場合は/etc/kde3/kdm/xdm/以下のファイルを変更することにより 行います。 変更点は以下の個所です。
- /etc/kde3/kdm/Xaccess
- 「#* #any host can get a login window」という行の 先頭の「#」を削除する(38行目付近です)。
- /etc/kde3/kdm/kmrc
- 「ServerCmd=/usr/bin/X -br」を 「ServerCmd=/usr/bin/Xvfb」に変更する(471行目付近)。
- 「ServerArgsLocal=-nolisten tcp」を 「ServerArgsLocal=」に変更する(475行目付近)。
- 「Enable=false」を「Enable=true」に変更する(119行目付近)。
- 「AllowRootLogin=false」を 「AllowRootLogin=true」に変更する(253行目付近)。
kdmの起動
以下のコマンドでkdmを起動します。 なお、次回起動時からは自動的にkdmが起動するようになります。
# /etc/init.d/kdm start
接続!
お疲れまでした。ようやくUltraVNCで接続できます。 Ultr@VNC Viewerを起動して、 表示されたダイアログの一番上のVNC Serverのところに 「colinux:50」と入力して「接続ボタン」を押します。
「colinux:50」の「50」というのは、 /etc/servicesに追記した「vnc-1024x768x8 5950/tcp」の 「5950」から「5900」を引いた数字です。 なので「colinux:50」で接続すると解像度は1024x768、 色は8bit(256色)となります。 例えば、解像度1280x1024、色32bitのVNCサーバに接続するには、 「colinux:53」(53=5953-5900)とします。
下記のような画面(gdmの場合)が表示されれば設定完了です! (フルカラーの接続を選んだのに色数がおかしい場合には、 UltraVNCのダイアログの簡単設定で「LAN」を選んでみてください)
おまけ: Xvfbを使わない場合
上記の説明ではディスプレイマネージャから起動されるXserverとして Xvfbと使用しました。
最近ではXorgにdummyサーバが付いており、 Xvfbの替わりに使用することができるようです。
この場合は、まずdummyサーバをインストールします。
# aptitude install xserver-xorg-video-dummy
次に、/etc/X11/xorg.confを次のように編集します。
- 「Module」セクションのLoadの行を全てコメントアウト。 (これはメモリを節約するためです)
- 「Device」セクションのDriverの行を 「Driver "dummy"」に変更。
ディスプレイマネージャの設定は以下の様になります (下記の説明はXvfb用に修正していない場合です)。
- xdmの場合
- /etc/X11/xdm/Xaccessの「#* #any host can get a login window」という行の先頭の「#」を削除(48行目付近)。
- /etc/x11/xdm-configの「DisplayManager.requestPort: 0」という行の先頭に「!」を挿入してコメントアウト。
- gdmの場合
- /etc/gdm/gdm.confの[security]セクションに 「AllowRoot=true」,「AllowRemoteRoot=true」を追加。
- /etc/gdm/gdm.confの[xdmcp]セクションに 「Enable=true」を追加。
- kdmの場合
- /etc/kde3/kdm/Xaccessの「#* #any host can get a login window」という行の先頭の「#」を削除(38行目付近です)。
- /etc/kde3/kdm/kmrcの「Enable=false」を 「Enable=true」に変更(119行目付近)。
- /etc/kde3/kdm/kmrcの「AllowRootLogin=false」を 「AllowRootLogin=true」に変更(253行目付近)。
ただXorgのdummyサーバの方がメモリを消費するようです。
Copyright © 2004-2008 scratchpad All rights reserved.