ホーム
 TOPへ 最終更新日:2004年 2月14日



Contents
 
● VNC Viewer からの要求で VNC Server を起動する設定 ( RedHat Linux 9.0 )

   VNC Viewer からの接続要求により、VNC Server が自動的に起動するようにする
   設定(xinetd 経由)。
   ※これにより、あらかじめ telnet 等で VNC Server を起動しておく必要が無くなる。
   ※設定は su で行うこと。

1) VNC の導入

    自分の場合、RedHat Linux をインストールしたときに入っていたものをそのまま
    使用している。
    ※ /usr/bin/. に vncserver, vncviewer, Xvnc 等が存在する。
    
    実行ファイル/ソースファイルは、以下からダウンロードできる。
      http://www.realvnc.com/download.html
    
    ※ インストール方法によっては /usr/local/bin 等にコピーされるので注意。
    
2) xinetd 用の設定

   2-1. /etc/services の編集
   
     /etc/services の最後に、以下のような設定を追加する。
     
        # for VNC Server
        vnc-640x480x8 5950/tcp
        vnc-800x600x8 5951/tcp
        vnc-1024x768x8 5952/tcp
        vnc-1280x1024x8 5953/tcp
        vnc-1600x1200x8 5954/tcp
        
        vnc-640x480x16 5960/tcp
        vnc-800x600x16 5961/tcp
        vnc-1024x768x16 5962/tcp
        vnc-1280x1024x16 5963/tcp
        vnc-1600x1200x16 5964/tcp
        
        vnc-640x480x24 5970/tcp
        vnc-800x600x24 5971/tcp
        vnc-1024x768x24 5972/tcp
        vnc-1280x1024x24 5973/tcp
        vnc-1600x1200x24 5974/tcp
        
        vnc-640x480x32 5980/tcp
        vnc-800x600x32 5981/tcp
        vnc-1024x768x32 5982/tcp
        vnc-1280x1024x32 5983/tcp
        vnc-1600x1200x32 5984/tcp
   
   2-2. /etc/xinetd.d/vncserver の作成
   
     次のような内容の /etc/xinetd.d/vncserver を作成する。
     ※この中で、server = /usr/bin/Xvnc の箇所は、インストールした環境に併せて変更
       すること。
     
        service vnc-640x480x8
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 640x480 -depth 8
        }
        service vnc-800x600x8
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 800x600 -depth 8
        }
        service vnc-1024x768x8
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 8
        }
        service vnc-1280x1024x8
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 8
        }
        service vnc-1600x1200x8
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 8
        }
        service vnc-640x480x16
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 640x480 -depth 16
        }
        service vnc-800x600x16
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 800x600 -depth 16
        }
        service vnc-1024x768x16
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16
        }
        service vnc-1280x1024x16
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 16
        }
        service vnc-1600x1200x16
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 16
        }
        service vnc-640x480x24
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 640x480 -depth 24
        }
        service vnc-800x600x24
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 800x600 -depth 24
        }
        service vnc-1024x768x24
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 24
        }
        service vnc-1280x1024x24
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 24 
                  # port = 5973
        }
        service vnc-1600x1200x24
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 24
        }
        service vnc-640x480x32
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 640x480 -depth 32
        }
        service vnc-800x600x32
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 800x600 -depth 32
        }
        service vnc-1024x768x32
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 32
        }
        service vnc-1280x1024x32
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1280x1024 -depth 32
        }
        service vnc-1600x1200x32
        {
            disable = no
                  protocol = tcp
                  socket_type = stream
                  wait = no
                  user = nobody
                  server = /usr/bin/Xvnc
                  server_args = -inetd -query localhost -once -geometry 1600x1200 -depth 32
        }

   2-3. /etc/X11/gdm/gdm.conf の編集

     /etc/X11/gdm/gdm.conf の [xdmcp] セクション中の
       Enable=false
     となっている箇所を
       Enable=true
     に変更する。
   
   2-4. /etc/X11/xdm/Xaccess の編集

     /etc/X11/xdm/Xaccess の
     # *                 #any host can get a login window
     となっている箇所を、コメントを外して
     *                 #any host can get a login window
     に変更する。
   
   これらの設定が終了したら、PC を再起動する。
   ※ xinetd のみの再起動でも大丈夫なように思えるが、何故かうまくいかないことがある。
   
3) クライアントからの接続

    VNC Viewer (LinuxでもWindowsでも構わない) から、2) で設定した VNC Server に対して
    接続する。
    
    このとき、サーバ名は
      (VNC Serverの名前又はIPアドレス):(servicesで指定したポート番号-5900)
    のように指定する。
    
    例えば、1024x768x16 で繋ぎたい場合は、
      vncviewer 192.168.0.1:62
    のように指定してやる。


  Indexに戻る



ホーム  このページの先頭