vnc は リモートで他のコンピュータのデスクトップを操作できるソフト。
サーバ、クライアント共にフリーソフト。Linux、Windows などに対応。
ここは Linux(Fedora 12)をサーバ、Windows をクライアントとしたときの設定手順をメモ。
GNOME の機能を使用する方法 †
GNOME にはデフォルトで vino という VNC の機能がある。これを利用する。
サーバ側の設定 (Fedora) †
- リモート接続して操作するユーザでログインする。
- 「システム」→「管理」→「ファイアウォール」を開く。
- 画面左ペインで「その他のポート」を選択。
- 画面右ペインで「追加」を押して 5900 番(vnc-server)を選択して「OK」。
一応、TCP と UDP の両方を追加しておく。
- 「適用」を押してからファイアウォールの設定画面を閉じる。
- 「システム」→「設定」→「リモートデスクトップ」を開く。
- 「共有」の設定で「他のユーザが自分のデスクトップを表示できる」と「他のユーザがデスクトップを操作できる」にチェックを入れる。

- 「セキュリティ」の設定を以下のようにする。
- 「このマシンへの接続を毎回確認する」は、リモート接続する度に確認ウィンドウが表示され、そこで許可して初めてリモート操作できるようになる。リモート操作したいのだから、大抵サーバ側は直接操作しないわけで、ここのチェックはOFFで。
- 「パスワードの入力を要求する」は、セキュリティをかけたければ設定する。
- 「他から接続できるように自動的にネットワークを設定する」はよくわからないのでOFFで。
- 「通知スペース」の設定は、サーバ側の画面の表示の設定なので、お好みで。
- 「閉じる」で設定完了。
クライアント側の設定 (Windows) †
- クライアントソフトを入手。
- セットアップのウィザードに従ってインストール。
大抵全てデフォルトのままで OK。
- VNC Viewer を起動。

- 「VNC Server」に接続先の IP アドレスかホスト名を入力して「Connect」。
オプションは全てデフォルトでいけるはず。
これで操作できるはず。
備考 †
- この機能では、あらかじめサーバ側にユーザがログインしている必要がある。
VNC を直接使用する方法 †
vino の方法だと、あらかじめログインしている必要があるが、直接 VNC を設定すれば、ログインしてなくてもリモート接続できる。
サーバ側の設定 (Fedora) †
- スーパーユーザになる。
$ su -
- vnc-server をインストール。
# yum install vnc-server
- パスワードを設定。
# vncpasswd
# Password:
# Verify:
確認のため、2回入力。これで /root/.vnc の下に passwd が作成される。
- 「システム」→「管理」→「ファイアウォール」を開く。
- 画面左ペインで「その他のポート」を選択。
- 画面右ペインで「追加」を押して、ユーザ定義で 5901 番以降のポートを追加する。
- VNC は 画面ごとに 5900 + 画面番号 のポートを開くので、画面番号に対応するポート番号を解放しておく必要がある。
- 例えば 画面番号「:1」の場合、ポート 5901 が使用される。
- ここはとりあえず 5901 を追加しておく。
- 「適用」を押してからファイアウォールの設定画面を閉じる。
- vncserver を起動する。
# vncserver -geometry 800x600
geometry はクライアントでの画面サイズのオプション指定。特に指定しなくても OK。
これで次のようなログが表示される。
New 'fedora12.local:1 (root)' desktop is fedora12.local:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/fedora12.local:1.log
"fedora12.local" というのは私のマシン名で、その後「:1」というのが画面番号。クライアント側ではこの名称を指定する。
VNC サーバを終了するときは
# vncserver -kill :1
で。最後の「:1」は、起動時に表示される画面番号。
クライアント側の設定 (Windows) †
- インストールまでは GNOME(vino)の手順と同じ。
- VNC Viewer を起動。
- 「VNC Server」に「(接続先の IP アドレス or ホスト名):(画面番号)」の形式で入力。
- 「Connect」を押す。
- パスワード入力画面が表示されるので、サーバで設定したパスワードを入力。
これでいけるはず。
備考 †
xinetd を使用する方法 †
上記の方法では、サーバ側で vnc-server を手動で起動する必要がある。
特にリモートの場合 telnet でログインして vnc-server を起動後にデスクトップを起動するという二度手間になる。これを OS を起動するだけで VNC が使用できるようにできたら、尚便利なはず。
サーバ側の設定 (Fedora) †
- スーパーユーザになる。
$ su -
- vnc-server をインストール。
# yum install vnc-server
- xinitd をインストール。
# yum install xinitd
- VNC サービスの設定ファイルをつくる。
- サービスの設定を追加する。
- ファイアウォールの 5900 番を開放する。
やり方は上記を参考に。
- /etc/gdm/custom.conf を開いて、次のように書く。(Fedora 12 だと、デフォルトで内容が全部空っぽ)
# GDM configuration storage
[xdmcp]
Enable=true
[chooser]
[security]
DisallowTCP=false
AllowRemoteRoot=false
[greeter]
IncludeAll=false
[debug]
- これでシステムを再起動すれば、xinetd で VNC が起動する。
クライアント側の設定 (Windows) †
- インストールまでは GNOME(vino)の手順と同じ。
- VNC Viewer を起動。
- 「VNC Server」に接続先の IP アドレス or ホスト名を入力。
※この場合、画面番号の指定は不要。
- 「Connect」を押す。
- ログイン画面(ユーザ選択画面)が表示されるので、任意のユーザでログイン。
多分、この方法が一番スマート。
参考 †
リモートデスクトップ メモ