vnc は リモートで他のコンピュータのデスクトップを操作できるソフト。&br; サーバ、クライアント共にフリーソフト。Linux、Windows などに対応。 ここは Linux(Fedora 12)をサーバ、Windows をクライアントとしたときの設定手順をメモ。 #contents ** GNOME の機能を使用する方法 [#yba314c2] GNOME にはデフォルトで vino という VNC の機能がある。これを利用する。 *** サーバ側の設定 (Fedora) [#a5cd8d70] + リモート接続して操作するユーザでログインする。 + 「システム」→「管理」→「ファイアウォール」を開く。 + 画面左ペインで「その他のポート」を選択。 + 画面右ペインで「追加」を押して 5900 番(vnc-server)を選択して「OK」。&br; 一応、TCP と UDP の両方を追加しておく。 + 「適用」を押してからファイアウォールの設定画面を閉じる。 + 「システム」→「設定」→「リモートデスクトップ」を開く。 + 「共有」の設定で「他のユーザが自分のデスクトップを表示できる」と「他のユーザがデスクトップを操作できる」にチェックを入れる。&br; &ref(vnc_001.png);&br; + 「セキュリティ」の設定を以下のようにする。 -- 「このマシンへの接続を毎回確認する」は、リモート接続する度に確認ウィンドウが表示され、そこで許可して初めてリモート操作できるようになる。リモート操作したいのだから、大抵サーバ側は直接操作しないわけで、ここのチェックはOFFで。 -- 「パスワードの入力を要求する」は、セキュリティをかけたければ設定する。 -- 「他から接続できるように自動的にネットワークを設定する」はよくわからないのでOFFで。 + 「通知スペース」の設定は、サーバ側の画面の表示の設定なので、お好みで。 + 「閉じる」で設定完了。 *** クライアント側の設定 (Windows) [#ra4c614e] + クライアントソフトを入手。&br; --[[UltraVNC:http://www.uvnc.com/]] --- [[ダウンロード:http://www.uvnc.com/download/index.html]]&br; Windows 側をサーバにするつもりがなければ Viewer のみで OK。 + セットアップのウィザードに従ってインストール。&br; 大抵全てデフォルトのままで OK。 + VNC Viewer を起動。&br; &ref(vnc_002.png);&br; + 「VNC Server」に接続先の IP アドレスかホスト名を入力して「Connect」。&br; オプションは全てデフォルトでいけるはず。 これで操作できるはず。 *** 備考 [#hea312d7] - この機能では、あらかじめサーバ側にユーザがログインしている必要がある。 ** VNC を直接使用する方法 [#x7cc0ac8] vino の方法だと、あらかじめログインしている必要があるが、直接 VNC を設定すれば、ログインしてなくてもリモート接続できる。 *** サーバ側の設定 (Fedora) [#q005996d] + スーパーユーザになる。 # su - $ su - + vnc-server をインストール。&br; # yum install vnc-server + パスワードを設定。 # vncpasswd # Password: # Verify: 確認のため、2回入力。これで /root/.vnc の下に passwd が作成される。&br; + 「システム」→「管理」→「ファイアウォール」を開く。 + 画面左ペインで「その他のポート」を選択。 + 画面右ペインで「追加」を押して、ユーザ定義で 5901 番以降のポートを追加する。&br; -- VNC は 画面ごとに 5900 + 画面番号 のポートを開くので、画面番号に対応するポート番号を解放しておく必要がある。 -- 例えば 画面番号「:1」の場合、ポート 5901 が使用される。 -- ここはとりあえず 5901 を追加しておく。 + 「適用」を押してからファイアウォールの設定画面を閉じる。 + vncserver を起動する。&br; # 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) [#va1569d3] + インストールまでは GNOME(vino)の手順と同じ。 + VNC Viewer を起動。 + 「VNC Server」に「(接続先の IP アドレス or ホスト名):(画面番号)」の形式で入力。 -- 例えば「192.168.2.18:1」など。 + 「Connect」を押す。 + パスワード入力画面が表示されるので、サーバで設定したパスワードを入力。 これでいけるはず。 *** 備考 [#y9e1450c] - 上記は root でのログインとなるので、ユーザでログインする場合は、各ユーザ権限で上記と同じ設定をすれば OK。その場合は「/home/(ユーザ名)/.vnc」の下にパスワードなどの設定が保存される。 - vino の場合は、今開いている画面を直接操作する(サーバ側の画面を見ると、マウスカーソルが勝手に動いてるようにみえる)のに対し、こちらの VNC 直接の場合、今開いている画面に関係なく、別途リモート用の画面をクライアント側に転送している感じになる(サーバの画面からクライアント側の操作は見えない)。 - Fedora 12 ならデフォルトで GNOME が起動したが、以前のバージョンだと twm などが起動する模様。それを GNOME など他の WM に変更する場合は、「/root/.vnc」または「/home/(ユーザ名)/.vnc」の下につくられている「xstartup」というスクリプトファイルを編集してやる必要がある。GNOME の場合の例は以下。&br;&br; #!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & #↓ここをコメントアウト #twm & #↓これを追加 exec gnome-session & ** xinetd を使用する方法 [#bcf759c6] 上記の方法では、サーバ側で vnc-server を手動で起動する必要がある。 特にリモートの場合 telnet でログインして vnc-server を起動後にデスクトップを起動するという二度手間になる。これを OS を起動するだけで VNC が使用できるようにできたら、尚便利なはず。 *** サーバ側の設定 (Fedora) [#q005996d] + スーパーユーザになる。 # su - $ su - + vnc-server をインストール。&br; # yum install vnc-server + xinitd をインストール。&br; # yum install xinitd + VNC サービスの設定ファイルをつくる。 -- /etc/xinetd.d の下に vnc-server というファイル(ファイル名は何でも良い)をつくって以下のように書く。&br; service vnc-server { disable = no nice = 10 flags = REUSE socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 --securitytypes=none log_on_success += DURATION log_on_failure += HOST } service の名称は何でも良いが、後述の /etc/services の内容に合わせること。&br; ※各パラメータは [[VNC Serverをxinetd経由で立てる方法:http://mo.kerosoft.com/0123]] を参考にさせてもらいました。 + サービスの設定を追加する。 -- /etc/services を開いて、次の設定を追加する。&br; vnc-server 5900/tcp # VNC Server この名前は 4 の service の名称に合わせること。 + ファイアウォールの 5900 番を開放する。&br; やり方は上記を参考に。 + /etc/gdm/custom.conf を開いて、次のように書く。(Fedora 12 だと、デフォルトで内容が全部空っぽ)&br; # GDM configuration storage [xdmcp] Enable=true [chooser] [security] DisallowTCP=false AllowRemoteRoot=false [greeter] IncludeAll=false [debug] + これでシステムを再起動すれば、xinetd で VNC が起動する。 *** クライアント側の設定 (Windows) [#va1569d3] + インストールまでは GNOME(vino)の手順と同じ。 + VNC Viewer を起動。 + 「VNC Server」に接続先の IP アドレス or ホスト名を入力。&br; ※この場合、画面番号の指定は不要。 + 「Connect」を押す。 + ログイン画面(ユーザ選択画面)が表示されるので、任意のユーザでログイン。 多分、この方法が一番スマート。 ** 参考 [#o65cdadd] - [[FedoraにVNCサーバを設定する - adsaria mood:http://d.hatena.ne.jp/adsaria/20080521/1211352828]] - [[リモートデスクトップ接続(VNC)(はじめての自宅サーバ構築):http://kajuhome.com/vnc.shtml]] - [[VNC Serverをxinetd経由で立てる方法:http://mo.kerosoft.com/0123]] ----- [[リモートデスクトップ メモ]]