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]]
 
 -----
 [[リモートデスクトップ メモ]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS