簡単PC遠隔操作−VNC−    →XVNC編 →活用編


Part1.Winvnc編
Part2.XVNC編
Part3.活用編
Part4.リナザウ編
Part5.W-ZERO3編
Part6.PSP編
・Part7.VMWARE編


Part1 WinVNC編


PCの遠隔操作とは?

最近のPCは個人でもEthernetによるLANを使ってファイル共有することが多くなってきました。

しかし、LANを構築していても別のマシンを操作したいときには、わざわざその場所へ行ってそのPC用のキーボードやマウスで別々に操作しなければなりません。PCがすぐ横にあればまだ良いのですが、これが隣の部屋だったり、別の建屋だったりすると大変ですね。
ここで、登場したのがPCの遠隔操作ソフトです。リモートアクセスソフトとも呼ばれています。

これは、遠隔操作したいPCに特別なソフトウェアを動かしておくと、操作するPC側では、まるでそのPCは手元にあるかのように操作できるものです。

また製品によっては、AT互換機でMACやLINUXなど別のOSを遠隔操作できるものもあります。

これを使用すれば、

などに利用できるでしょう。

ほかにもPCにはディスプレイを接続しないで稼動しておき、操作したくなったら遠隔操作するなんて運用も可能です。これならば余計なディスプレイも必要無いのでスペースの有効活用も可能でしょう。
ただし、ネットワークを経由して操作することになるので操作にある程度のタイムラグが発生します。

現在では、いくつかの会社がPCを遠隔操作できるソフトをリリースしています。

製品名 メーカ 備考 URL
VNC AT&T Laboratories Cambridge Free http://www.uk.research.att.com/vnc/
pcANYWHERE32 シマンテック社 製品 http://www.symantec.com/region/jp/products/pca90/pca90.html
Desktop On−Call IBM 製品 http://www.ibm.co.jp/pspjinfo/javadesk/
リモコン倶楽部 株式会社ディアイエス 製品 http://www.dis.co.jp
LAPLINK2000 interCOM 製品 http://www.intercom.co.jp/lap/2000/index.html

ここでは、無料で使用できる AT&T Laboratories Cambridge のVNCを紹介します。


VNCの紹介

VNCは AT&T Laboratories Cambridge の開発しているPC遠隔操作ソフトウェアです。
VNCとは「
Virtual Network Computing」の略で、現在は無料(GPL準拠)で配布されています。

[200401追記]
現在AT&T Laboratpris Cambridgeは閉鎖されました。現在は元の開発スタッフによって
RealVNCとして開発が続けられています。
2004年01月現在の最新バージョンはRealVNC 3.3.7となります。使用方法は今までのVNCとほとんど変更がありません。

このVNCは、多くのOSに対応しています。
これは、サーバ(操作されるPCにインストール)とクライアント(操作するPCにインストール)によって対応OSに違いがあります。

もちろん、異なるOS間での操作も可能です。(例:LinuxでWindows95の画面を操作することも可能です。)

ただし、通信プロトコルとしては、TCP/IPを使用します。
各マシンにはIPアドレスを振り、サーバ・クライアント間でPingが通ることが必要です。
Windowsの場合は、ネットワークの設定でTCP/IPプロトコルを使用可能にしておけばOKです。

動作環境(2000/02/20調査)

OS サーバー クライアント URL
Solaris 2.5 http://www.uk.research.att.com/vnc/
Linux 2.0 for x86 http://www.uk.research.att.com/vnc/
Linux for PPC ftp://ppc.linux.or.jp/pub/JRPM/pre-R5/.
DEC Alpha OSF1 3.2 http://www.uk.research.att.com/vnc/
Win32 (Intel) 9x,NT,2000 http://www.uk.research.att.com/vnc/
KDE http://studserver.uni-dortmund.de/~su0197/kde/kvnc/
MACOS(68K,PPC) http://www.uk.research.att.com/vnc/
DOS[要TCP/IPドライバ] × http://www.complang.tuwien.ac.at/nino/dosvnc.html
BeOS × http://abstrakt.ch/be/
OS/2 × http://www.sra.co.jp/people/akira/os2/vnc-pm/index.html
Windows CE 2.x(SH3,MIPS) × http://www.uk.research.att.com/vnc/
Pilot × http://www.icsi.berkeley.edu/~minenko/PalmVNC/
Java × http://www.uk.research.att.com/vnc/
ブラウザ(IE,NS) × http://www.uk.research.att.com/vnc/

詳しく調べてはいないので、上の表は完全ではありません。
最新の対応プラットフォームは 
VNC on other platforms & environments を参照してください。

スクリーンショットのサンプルは、VNC screenshotsにもあります。

Windowsは一度にログインできるユーザーが1人だけですので、WinVNCでは操作できる画面も1つの画面を共有して遠隔操作することになります。

Linuxなどの場合は、VNCサーバがXサーバの役割をするため複数の画面を持つことが出来ます。
また、XサーバとしてVNCサーバを使用している場合、簡単に画面の変更部分を認識できますので高速に動作するようです。

ここでは、WINDOWS(WIN32)用のVNCについて紹介します。
このWIN32版VNCは、Windows95・98・ME・NT(SP3以降)・2000で動作します。


インストールとサーバー設定(Windows用)

まずは、インストールするファイルをダウンロードします。

上記の必要なファイルはhttp://www.uk.research.att.com/vnc/で手に入れることが出来ます。
横の
Download から入って、ダウンロード用のフォームに必要な項目を書き込んでください。
ここで、ダウンロードするバイナリパッケージは Windows 9x/2000/NT (Intel Win32) です。
ここにチェックを入れましょう。その他、オンラインドキュメントなどが必要であれば一緒にダウンロードしましょう。

現在(2000/02/20)のWindows9x/2000/NT (Intel Win32) 用のVNCパッケージのバージョンは 3.3.3r2 です。

ダウンロードすると、 vnc-3_3_3r2_x86_win32.zip というファイルができます。
これを任意のディレクトリに解凍してください。(
解凍の達人になろう−RarUty−参照

インストールは簡単です。
解凍すると、vnc_x86_win32 というディレクトリの下に
・vncviewer
・Winvnc
の2つのディレクトリが出来ます。

  • インストールするPCをクライアントのみとするのであれば、vncviewer の下のvncviewer.exeを単に実行すればよいので特にインストールは必要ありません。
    このファイルを、好きなディレクトリにコピーしてください。
  • サーバーとして実行する場合には、Winvncの下にSetup.exe がありますので、これを実行して指示通りにすればインストールされます。
    その後、
    「スタート」→「プログラム」→「Vnc」→「Administrative Tools」→「Install Default Registry Settings」
    を実行してください。
    レジストリの初期化を行います。

    標準では、プログラムは C:\Program Files\ORL\VNC の下にインストールされるはずです。
    (サーバーをインストールすると、クライアントも一緒にインストールされます。)
  • さて、インストールが終了したら遠隔操作されるPCでサーバーを起動します。

    単に、winvnc.exeを起動すること
    (「スタート」→「プログラム」→「Vnc」→「Run WinVNC (App Mode)」)
    でVNCサーバーは起動します。

    最初の起動時には、「WinVNC Current User Properties」ダイアログが現われます。
    ここで、少なくとも入力しなければならないのは「Password」です。このPasswordはクライアントから遠隔操作するときに入力するパスワードです。

    下の「Update Handling」はどのタイミングで画面の再描画を行うかの設定画面です。
    私は、次のような指定を行っています。

    この設定は、ある程度のネットワークのスピードを要求しますが、それなりに快適に使用することができます。
    100BASEのLANであれば特に問題無いと思います。(画面サイズ&色は 640*480・8bit )
    CPUもPentiumの200MHzもあればかなり快適です。(もちろん速ければ速いほどよいです。)

    画面の表示の正確性よりも、操作レスポンスの向上が欲しい方は、
    "Poll Full Screen"のチェックを外し、
    "Pull Foreground Window"と"Poll Console Windows Only" のチェックを入れる
    と画面の書換範囲&頻度がかなり減りますので操作性が良くなリます。
    が、そのかわりDOS窓の表示などで画面表示が正しくなくなる場合があります。

    さて、上では単独でWinVNCサーバーを起動しましたが、PCの起動時に自動的にWinVNCを起動する方法もあります。

  • Win9Xの場合
  • 「スタート」→「プログラム」→「Vnc」→「Administrative Tools」→「Install WinVNC Service」を実行することで、レジストリに自動起動アプリケーションとして登録します。あとは、再起動すれば自動的に起動します。
  • WinNT・2000の場合
  • 「スタート」→「プログラム」→「Vnc」→「Administrative Tools」→「Install WinVNC Service」を実行することで、サービスとしてWinVNCを登録します。あとは、再起動すれば自動的に起動します。
  • スタートアップホルダに、WinVNC.exeを登録するというやり方をしても良いのですが、この場合はOSのユーザーのログイン画面のときにVNCサーバが起動していないため、VNCで遠隔操作できないことになってしまいます。
    上記方法で起動すれば、ユーザーのログイン画面のときでも、VNC経由で操作可能です。

    VNCサーバーが起動すると、次のようなアイコン(左端の白いアイコン)が表示されます。
    (このアイコンをダブルクリックすることで上の設定画面を出すことが出来ます。)

    これで、サーバー側の準備は完了です。


    クライアントからの接続方法

    クライアント側からVNCサーバに接続するにはWindowsの場合、2種類の方法があります。

  • ブラウザ(IE・NS等)を使用して接続する。
  • 専用のクライアントアプリケーション(vncviewer.exe)を使用する。
  • ブラウザ経由ならば普段使用しているIEさえあれば接続できることになります。
    ただし、専用のクライアントを使用するとブラウザを使用するよりも快適に使用することができます。


    ブラウザからの接続方法

    Windows版の場合、VNCサーバ自身が簡易Webサーバの機能を持っているので、
    Javaの実行機能を持っているWebブラウザから接続することができます。
    接続するときはURLに

    http://ホスト名:(5800とDisplay numberを足した数字)

    と指定すると、ログオン画面が出てきます。
    このDisplay numberはサーバーの設定画面で指定するもので、通常はautoを指定します
    (このときは0が指定されたものとして扱えば良いです)

    たとえば、192.168.29.200というサーバ(マシン名:M2)で、Display numberにautoを指定している場合は

    http://192.168.29.200:5800/

    または、接続サーバーがWin98のときや、hostsファイルにホスト名称が登録してある場合は、

    http://m2:5800/

    とすると、接続画面が現われます。(横のオプションはOptionsボタンを押すと現われます)

     


    ここで、サーバーの設定画面で指定したパスワードを入力してOKボタンを押すと、接続します。
    (一部画面の色が変なのは、サーバー側が256色設定になっているためです。)

    このようにサーバー側の画面が表示され、ここから自由にマシンの操作が可能となります。
    誰かがvncサーバに接続すると、ダイアログボックスのVNCアイコンが黒くなります。

    また、上の「Clipbord」ボタンを押すと、サーバー上でのクリップボード内容の表示画面が画面が現われます。
    このクリップボードの内容表示画面を経由して、クリップボード内容のやり取りを行うことが出来ます。
    (やり取りの出来る内容は文字列のみです。)

    「Send Ctrl-Alt-Del」ボタンは、サーバーに[Ctrl-Alt-Del]が押されたと認識させるものです。
    ただし、この機能が使用できるのは、VNCサーバをNT上でサービスとして起動している場合のみです。Win9Xの場合は使用出来ません。

    VNCではファンクションボタンを含む複数ボタンの同時押しが認識されないためこのようなボタンが用意されています。
    (また、101キーボードにはない全角半角キーなどの特殊キーが認識されないので、サーバー上のFEPのOn/Offはダイアログボックスのアイコンから行わなければなりません。)

    サーバー側の画面が出てからでも「Options」ボタンを押して設定の変更ができます。
    ただし、この場合は Share desktop の項目の変更は出来ません。

    「Disconnect」ボタンは、サーバーからログアウトするものです。


    専用クライアントソフトからの接続方法

    Windows版の場合、専用のクライアントソフト(vncviewer.exe)が付属しています。
    Vncviewerは、ブラウザにより接続よりも快適に使用でき、機能も上です。

    Vncviewerの起動は、
    (「スタート」→「プログラム」→「Vnc」→「Run VNCviewer」)
    で行うことが出来ます。(vncviewer.exeを起動しているだけです)

    単に、VNCViewerを起動すると、次のようなログオン画面が出てきます。
    サーバーの指定は、

    ホスト名:Display number

    を指定します。

    たとえば、192.168.29.200というサーバ(マシン名:M2)で、Display numberにautoを指定している場合は

    192.168.29.200:0

    または、接続サーバーがWin98のときや、hostsファイルにホスト名称が登録してある場合は

    m2:0

    と指定してもOKです。

    「Oprions」ボタンを押すと接続設定を行うことが出来ます。
    私は、

  • Request shared session(1つのサーバーに複数のVNCviewerから同時に接続可能とする。)
  • Restrict pixels 8-bit[for slow network](転送時に色数を256色に落として、ネットワークの伝送量は減らす。)
  • を指定しています。
    ただしこの指定は毎回変更しなければいけませんが、
    次のように VNCviewer.exeの起動時のオプションで指定することもできます。

    "C:\Program Files\ORL\VNC\vncviewer.exe" /8bit /shared m2:0

    オプションは"/"で始まる部分です。オプションの意味は次の通りです。(その他のオプションは後で説明)

    /8bit 画面の色数を8ビット(BGR2:3:3)にして、画面データを伝送することでネットワークの不可を減らす。
    /shared 1つのサーバに対して複数のVNCViewerから接続できるようにします。
    通常、既に誰かが接続しているときに新しく接続しようとすると、既にある接続を強制的に切断します。
    これを回避するにはこのオプションをつけます。
    (サーバーを占有せずに、共有できるように接続する。)

    また、その後ろに ホスト名:Display number を記述すると、サーバー名の指定画面が出ずに、直接パスワードの入力画面となります。
    (/config を使用すると、パスワードの入力画面も省略可能です。これもあとで説明します。)

    ここで、サーバーの設定画面で指定したパスワードを入力してOKボタンを押すと、接続します。
    (一部画面の色が変なのは、サーバー側が256色設定になっているためです。)

    このようにサーバー側の画面が表示され、ここから自由にマシンの操作が可能となります。誰かがvncサーバに接続すると、ダイアログボックスのVNCアイコンが黒くなります。

    また、ブラウザとはクリップボード内容の扱いが違い、クリップボード内容の表示画面を経由しなくても直接クリップボード内容を共有することが出来ます。(共有できる内容は文字列のみです。)

    専用クライアントでは、Full-Screenモードというものが有ります。
    これは、画面上部の右クリックメニューから”Full screen”を選択するか、VNCViewer起動時のオプションで、"/fullscreen"オプションを指定することで動作します。
    このモードでは、画面全体に接続先の画面が表示され、サーバーとクライアントで同じ解像度を使用しているときには完全に接続先サーバの画面がそのままこちらに来たような形になります。
    これは、サーバーとクライアントで同じ解像度を使用しているときに遠隔操作したときにスクロールバーが出てしまうことを回避するためのモードです。
    このモードを抜けるためには、Ctrl+ESC ESC と押してクライアント側のタスクバーを表示させ、vncviewerのアイコンの右クリックメニューでFullscreenのチェックを外す必要があります。

    ブラウザ接続時にあった「Disconnect」ボタンに相当するものは専用クライアントではありません。
    専用クライアントを終了すると自動的にサーバーからログアウトします。

    その他は設定できる内容(スケール設定など)が増えているだけで、ブラウザからの接続の場合と変わりはありません。

    ウインドウ画面の上部で右クリックを押すと、VNCviewerでの各種設定、及び特殊キーの入力等を行うことが出来ます。
    この画面になっていも、ログオン時に指定したオプションの変更は一部(Request shared session)を除いて可能です。

    さて、最適な設定が終わったら、現在の設定内容をファイルに保存することが出来ます。
    右クリックを押したときに出てくる”Save connection info as...”です。
    セーブするディレクトリとファイル名(拡張子は.vnc)を指定します。
    ここでは、”C:\Program Files\ORL\VNC\m2.vnc”を指定することにします。
    (ディレクトリは、vncviewer.exeと同じディレクトリを指定すると良いです。)

    すると、パスワードも設定ファイルに含めるかを聞いてきますので、自動的にパスワードを入力するようにするのであれば”はい”を、接続ごとにパスワードを自分で入力するのであれば”いいえ”を押します。これで、接続設定ファイル(*.vnc)ファイルが出来あがります。

    この設定ファイルを起動時に指定するには、/config オプションを使用します。

    "C:\Program Files\ORL\VNC\vncviewer.exe" /config m2.vnc

    これで、設定ファイルにパスワードを含めていれば自動的にログインすることが出来ます。
    また、VNCViewer.exeを/registerオプション付きで1度起動すれば、.vncファイルにVNCViewerが関連付けられますので、.vncファイルをダブルクリックして自動的にログインすることも可能です。


    上級者向けセッティング(VNCViewer編)

    1. VNCViewerはコマンドラインで、機能の指定を行うことが出来ます。
      オプションは”/”もしくは”−”ではじまる文字列です。
    オプション 動作
    /8bit 画面の色数を8ビット(BGR2:3:3)にして、画面データを伝送することでネットワークの不可を減らします。
    /shared 1つのサーバに対して複数のVNCViewerから接続できるようにします。
    通常、既に誰かが接続しているときに新しく接続しようとすると、既にある接続を強制的に切断されます。
    これを回避するにはこのオプションをつけます。
    (サーバーを占有せずに、共有できるように接続する。)
    /belldeiconify VNCにはベル信号を受信することでアラームを鳴らす機能がありますが、このベル信号を受信したときにvncviewerが最小化していた場合に自動的に最小化を解除させることが出来ます。
    /linten VNCサーバーからの接続要求に対する待ち受けモードで起動します。[listenモード]
    /fullscreen フルスクリーンモード(画面全体をサーバー側の画面とする)で起動します。
    /viewonly サーバー側の画面表示のみを行い、遠隔操作は無効とします。
    /emulate3 2ボタンマウスで、3ボタンマウスのエミュレーションを行います。
    [デフォルト設定]
    (真中のボタンは、左右のボタンの同時押しの操作をします。)
    /noemulate3 2ボタンマウスで、3ボタンマウスのエミュレーションを行ないません。
    /swapmouse 3ボタンマウスエミュレーションの有効時に、ボタン2・3の入替を行ないます。
    /emulate3timeout n 3ボタンマウスエミュレーションの有効時に、左右同時押しの間隔誤差の許容範囲をmsec単位で指定します。
    [n is 数字・default n=100]
    /emulate3fuzz n 3ボタンマウスエミュレーションの有効時に、左右同時押ししたときのマウスの位置ずれの許容範囲をピクセル単位で行ないます。
    [n is 数字・default n=4]
    /scale a/b クライアントの表示画面をa/b倍しします
    [a,b is 数字・default a=1,b=1、指定の/bは省略可能です。]
    /config configlist 接続設定ファイルを参照して、指定された設定・サーバーに接続する。
    [configlist = 設定ファイル名(.vncファイル)]
    /register .vncファイルをvncviewer.exeに関連付けします。これにより、.vncファイルをダブルクリックするだけで、サーバーに接続することが出来ます。
    /disableclipboard クリップボードの共有機能を無効にする。
    /nocursor ローカル側のマウスポインタを表示しません。
    /dotcursor ローカル側のマウスポインタを点で表示します。[デフォルト]
    /normalcursor ローカル側のマウスポインタを矢印にします。
    /keyboard kbdname 入力キーボードレイアウトの指定を行ないます。
    現在のキーボード名は、Connection Infoで確認できます。
    [kbdname = キーボード名]
    /logfile filename VNCViewerの動作ログを出力するファイル名を指定します。
    [filename = ログファイル名]
    /loglevel n VNCViewerの動作ログの詳細レベルを指定します。
    0は出力無し。12はもっとも詳細レベルまで出力します。
    [n = 0..12・default n=0]
    /console VNCViewerの動作ログをコンソール画面に出力します。
    (/logfileと同時に指定可能です。)
    /restricted 画面上部での右クリックメニューを最低限のものに限定します。
    1. 現在の設定では、FullScreenに切替したときに、FullScreenの解除方法の説明ダイアログが表示されます。
      しかし、実際に運用するときには、このダイアログが邪魔になることがあります。
      このダイアログを表示しないようにするには、レジストリを操作する必要があります。
      regeditで次のキーをDWORDで作成し、そこに”1”をセットします。


      HKEY_CURRENT_USER\Software\ORL\VNCviewer\Settings\SkipFullScreenPrompt


      これで、ダイアログが出なくなります。

    上級者向けセッティング(WinVNC[サーバ]編)

    1. WinVNCは起動中はダイアログボックスにアイコンが表示されます。
      (クライアントから未接続:白 クライアントから接続有:黒)
      このアイコンを右クリックするとメニューが表示されます。
    オプション 動作
    Properties WinVNCサーバの接続条件などを設定する画面を表示します。
    Add New Client Listenモードで待機しているクライアントにサーバーから接続する。
    Kill Alll Clients WinVNCサーバに接続しているクライアントをすべて終了する。
    About WinVNC WinVNCサーバのバージョン情報等を表示する。
    Close WinVNCサーバを終了する。
    1. Properties画面では、WinVNCサーバの接続条件などを設定します。
    オプション 動作
    Accept Socket Connections サーバにソケット経由での接続を許可する。
    現在のバージョンでは、このチェックを外すとサーバーへの接続が不可になります。
    Display Number 接続 Display Number を指定する
    (http://経由Port :5800 + Display Number)
    (VNCViewer経由Port:5900 + Display Number)
    Auto 最初にクライアントからアクセスされたDisplay Numberを自動的に使用する。
    Password サーバ接続時のパスワードを指定する。
    Disable Remote Keyboard & Pointer クライアント側からのキーボード・マウスの入力を無効化する。
    Disable Local Keyboard & Pointer サーバのキーボード・マウスの入力を無効化する。
    Poll Full Screen 画面更新条件設定です。
    画面全体について、画面更新が行われているかのチェックを行います。
    この方法では確実に画面更新が行われますが、性能は極端に低下します。
    Poll Foreground Window 画面更新条件設定です。
    フォアグランドになっているウインドについてのみ画面更新が行われているかのチェックを行います。
    Poll Window Under Cursor 画面更新条件設定です。
    このチェックを入れるとカーソルの下のウインドウのみをチェックするようになります。
    Poll Console Windows Only 画面更新条件設定です。
    Poll Foreground Windowをチェック入れたときに指定できます。
    コマンドプロンプト(DOS窓)だけをチェックします。
    Poll Window Under Cursorにチェックが入っている場合は、マウスカーソルがコマンドプロンプトの上にあるときにだけ画面更新チェックを行います。
    Poll On Event Received Only 画面更新条件設定です。
    Poll Foreground Windowをチェック入れたときに指定できます。
    クライアントからのマウス、キーボードからの入力があったときのみ画面更新チェックを行います。低速ネットワーク用の設定です。
    1. WinVNCはコマンドラインで、機能の指定を行うことが出来ます。
      オプションは”/”もしくは”−”ではじまる文字列です。
    オプション 動作
    /run VNCサーバを起動します。
    /install VNCサーバをサービスとして登録する。
    Win9xの場合は自動起動するようにレジストリに登録します。
    /remove /insstallの登録を解除します。
    /setting WinVNCのユーザ設定画面を表示します。
    /defaultsetting WinVNCのデフォルト設定画面を表示します。
    /connect host listenモードで待機しているクライアント(host)にサーバーから接続します。
    /kill 動作中のWinVNCサーバを終了します。
    /about WinVNCサーバのバージョン情報等を表示します。
    1. WinVNCは、特殊な設定をレジストリで指定することが出来ます。
      ここでは、通常の接続設定では指定できない部分を紹介します。
      これらのレジストリキーは
      AuthHosts以外はDWORDタイプで新規に作成します。
      同じキーが複数書いてある場合には、下側の部分の設定が優先されます。

      使用しているレジストリ
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\AuthRequired
    VNCサーバーのパスワードの未入力チェックを行うかどうかを指定します。
    セキュリティの面から言えば、ここを0にするときは注意が必要です。
    LAN環境だけで使用するのであれば、NULLパスワードを許しても問題無いと思います。

    0:サーバのパスワードに未入力を許す。
    1:サーバのパスワードの未入力チェックを行う。(デフォルト)

    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\AllowLoopback
    テストや、SSHなどを利用する場合に、自分自身からのサーバへのアクセスを行うかを指定します。

    0:自分自身からののサーバーへの接続は拒否する。(デフォルト)
    1:自分自身からののサーバーへの接続を拒否しない。
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\AllowProperties
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\AllowProperties
    サーバの設定画面の表示・変更を許可するかを指定します。
    また、この項目を0とすると、グローバルユーザ設定を参照しなくなります。

    0:サーバーの設定画面の表示を不可とします。
    1:サーバーの設定画面の表示を可能とします。(デフォルト)
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\AllowShutdown
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\<username>\AllowShutdown
    WinVNCサーバを終了出来ないようにします。

    0:WinVNCサーバの終了を不可にします。
    1:WinVNCサーバの終了を可能にします。(デフォルト)
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\AuthHosts
    WinVNCサーバに接続可能なIPアドレスを特定します。
    このキーは他のものと違って、REG_SZ string
    タイプで作成します。

    IPアドレスの指定は

    -[IPアドレス]で指定IPアドレスを除外し、

    +[IPアドレス]で指定IPアドレスを追加します。
    ?[IPアドレス]で指定IPアドレスを追加(要問合せ)します。


    IPアドレスは、
    192.168のように指定すると、192.168.xx.xxのIPアドレスをまとめて指定することも可能です。
    また、”:”をはさむことで複数の指定を同時に記述することも出来ます。
    例えば、192.168.29.xxのIPアドレスを持つPCからのみからの接続を許可するのであれば

    -:+192.168.29:

    と指定します。

    また、-,+,? の動作はQuerySetting項目によって、ユーザ毎に調整可能です。

    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\QuerySetting
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\QuerySetting
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\QuerySetting
    QuerySettingを使うと、マシン固有のAuthHostsの指示に対する動作をユーザ毎に調整することができます。
    これはDWORD値で0(もっとも緩い)から4(もっとも厳しい)の範囲の値を取ります。
    以下の表は、QuerySettingの値に対して、AuthHostsの設定がどのように取り扱われるかを示しています。 

    0 +:Accept ?:Accept -:Query 
    1 +:Accept ?:Accept -:Reject 
    2 +:Accept ?:Query -:Reject [Default] 
    3 +:Query  ?:Query -:Reject 
    4 +:Query  ?:Reject -:Reject 

    デフォルトは2で、この場合にはAuthHostsでの指示にそのまま従います。
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\QueryTimeout
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\QueryTimeout
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\QueryTimeout
    QueryTimeoutは、新しいコネクションが到着してから自動的にリジェクトされるまでの
    Accept Connectionダイアログが表示されている時間を秒数で指示します。
    デフォルト:30
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\CORBAConnect
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\CORBAConnect
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\CORBAConnect
    CORBAによる接続を行いますが、AT&Tの内部バージョン用の設定です。
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\DebugLevel
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    DebugMode
    DebugModeは内部のデバッグ゙用のメッセージを出力先をどこにするかを指定するものです。
    標準は0です。複数の出力を指定するときには、下の数字を加算すればOKです。

    1:MSVCデバッガ用(MSVCでデバッガを有効にしてコンパイルした場合のみ有効)
    2:WinVNCディレクトリのWinvnc.logというファイル名で出力する。
    4:コンソールウインドウを表示し、そこにデバッグログ内容を出力する。

    DebugModeはデバッグメッセージの詳細度を指定します、
    標準は0(メッセージ出力無し)で、もっとも細かい内容を出力するのが12となります。

    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\ConnectPriority
    サーバの接続時のクライアントの同時接続の指定を行います。
    ただし、クライアント側で共有指定有りで接続している場合には既存の接続は切断しません。

    0:既にクライアントから接続されているときは、既存の接続をすべて切断する。(デフォルト)
    1:クライアントの同時接続を無条件で許可する。(既存の接続を切断しない。)
    2:新しいクライアントからの接続を拒否する。

    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\IdleTimeout
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\IdleTimeout
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\IdleTimeout
    この設定は、アイドル状態のクライアント(入力イベント、更新要求が無い)が強制的に切断されるまでの秒数を、WinVNCに指示するものです。
    この設定が指示されていなかった場合、あるいは0が指示されていた場合には、タイムアウトによる切断は行なわれません。
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\LockSetting
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\LockSetting
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\LockSetting
    vncviewerとの接続が切断されたときにWinVNCがどのような処理をするかを指定します。

    0 - 何もしない
    (デフォルト)
    1 - 切断時にサーバーをロックする(未実装)
    2 - 切断時に自動的にログオフします。
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\LoopbackOnly
    通常、VNCは他のPCからのみクライアントからのアクセスのみを許可します。
    しかし、SSHなどを経由して利用する場合には自分自身からのサーバへの接続のみを有効にする必要があります。
    ここを”1”にしたときは、
    AllowLoopbackび、AuthHostsの設定は無視されます。

    0:他のPCからの接続を許可する。 (デフォルト)
    1:自分自身からのサーバへの接続のみを許可する。

    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\PortNumber
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\PortNumber
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\PortNumber
    NCViewerから接続する際のPORT番号が入ります。(AutoPortSelectが無効のときのみ有効)

    設定画面でDisplay Numberを50と指定したときには、5950(5900+50)が入ります。
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\RemoveWallpaper
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\RemoveWallpaper
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\RemoveWallpaper
    コネクション時にユーザの壁紙を取り除くかどうかを WinVNCに指示します。これはコネクション時にのみチェックされますので、設定変更後は再接続しないと有効になりません。
    壁紙を取り除くことによって、リモートでのWindowsデスクトップの表示を高速化することができます。これを指示すると、 Windowsをローカルに使用する場合には壁紙付きで、リモートで操作する場合には壁紙無しで使用することができるようになります。
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default\
    HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\
    <username>\
    HKEY_CURRENT_USER\Software\ORL\WinVNC3\
    に存在する
    AutoPortSelect
    InputEnabled
    LocalInputsDisabled
    Password
    PollUnderCursor
    PollForeground
    PollFullScreen
    OnlyPollConsole
    OnlyPollOnEvent
    SocketConnect
    それぞれ、WinVNCの設定画面の各項目に対応しています。
    ただし、
    InputEnabledだけは逆の意味になっています。

    終わりに

    このように、VNCは非常に便利な遠隔操作ソフトです。

    私の部屋では、デスクトップPC3台をLANで接続しています。
    (別部屋にも10台近くが接続されていますが・・・)

    その内訳は

  • メイン   Windows98 Pen!!! 450MHz(600MHz駆動)
  • サーバー  Windows98 MMX Pentium 233MHz(240MHz駆動)
  • 実験機   Win2000RC2 Winchip2 200MHz
  • なのですが、サーバーはいつも電源を入れおくだけで通常はとくに操作は行なっていません。
    実験機も同様ですが、少しは操作頻度が高いため、PC換太を使用してメインとディスプレイ・キーボード・マウスを共有しています。

    このような場合にVNCが非常に役に立ちます。

    サーバー機にVNCサーバーをインストールしておき、再起動など操作が必要なときにVNCを使用して操作することが可能です。
    狭い部屋には非常に便利なソフトです。
    −>本来の目的とはかなり違いますね(^^;;;;;

    VNCは非常に便利なソフトウェアですが、その分セキュリティの面から言えば、かなり危険なソフトといえます。
    極端な話、 ”サーバのIPアドレス”と”接続Display number”それに”パスワード”さえ解ってしまえばなんでも出来てしまいます(システムの破壊だって思うがままです)。
    インターネットに常時接続されているようなPCでVNCサーバーを運用する場合には特に注意が必要だと思います。

    (”パスワードを簡単な単語にはしない”・”Display numberを標準のものと変更する”・”接続できるPCを特定する”などの対応が必要かと思います。)

    マシンが部屋にたくさんあるような方は、導入を検討してみてはどうでしょうか?
    Linuxとwindows、MACを同時に使用している場合にも便利だと思います。

    ほかにも、”こんな機能があります”とか、”こんな使い方もあります””ここの説明が違う”とかありましたら、ぜひ教えてください。


    VNC関連リンク(WinVNC版)

    AT&T Laboratories Cambridge

    VNCの開発元です。VNCのダウンロードはこちら。

    畠山氏のVNCのページ(相互リンク)

    VNCの詳細な情報が満載なページ。和訳ドキュメントも豊富です。

    生活情報源(相互リンク)

    WinVNCの日本語化パッチを公開されているページです。

    TridiaVNC

    TridiaVNCは、オリジナルVNCの標準エンコード方式である"Hextile"よりも効果的にデータを圧縮可能な
    「Zlib」圧縮を行うことが出来るようになっているます。
    また、本来無保証であるVNCを有償でサポートを行っているというのも特徴のひとつです。

    TightVNC

    TridiaVNCをさらに効率的にデータを伝送することのできるよう改良されています。
    VNCはネットワーク経由でホストをコントロールするのに便利なツールですが、通信速度が遅いため、
    特に電話回線などを通じでリモートコントロールするには、かなり重くなります。
    この問題について「Zlib」圧縮よりも圧縮効率の良い方式をとることによって、
    さらに通信の効率をあげようとするアプローチのひとつがTightVNCです。

    WINVNCDRV(video hook driver for windows 2000)

    Windows2000に最適化されたVNCです。
    これは、通常のWinVNCが、画面から更新部分を毎回サーチしているのに対し、WINVNCDRVでは、Windowsと通常のビデオドライバとの間に、VNC Hook Driverを用意することで、更新部分のみを効率的に知ることが出来る用にするアプローチをすることでスピードアップを図っています。残念ながら、VNC Hook DriverはWindows2000専用となっているため、Win9X・Me・NT4.0では使用できませんが、Linux用VNCであるXVNC並みの反応速度を得ることが出来ます。


    PCの間へ戻る
    玄関へ戻る