ジャンル:OS遠隔操作ソフト 作者:Constantin Kaplinsky氏ほか
ライセンス:GPL URL:http://www.tightvnc.com/

 TightVNCは,LinuxやWindowsなどを遠隔操作するためのソフトウエアである。通信データ量を削減する機能を複数備えており,比較的低速な通信回線でもリモート・デスクトップ環境を快適に操作できる。

 LinuxなどのUNIX系OSは,telnetコマンドやsshコマンドを用いることでOSの遠隔操作や管理が可能だ。しかし,最近のディストリビューションのようにデスクトップ環境の機能が充実してくると,GUIによる遠隔操作をしたい場合が増えてくる。特に,WindowsのようにGUI操作が基本となるOSでは,そうした要求はさらに多いだろう。

 OSのデスクトップ画面を別のPCに転送し,GUIによる遠隔操作をできるようにするソフトとして「VNC」(Virtual Network Computing)がある(写真1)。このVNCは英RealVNC社(http://www.realvnc.com/)が開発,配布しているフリーソフトだ*1。操作対象となるOSで稼働してデスクトップ画面を転送するなどの働きをする「VNCサーバー」と,転送されてきたデスクトップ画面を表示して操作可能にする「VNCクライアント」という2種類のソフトウエアで構成されている。VNCサーバーはLinuxやWindowsなどのさまざまなOS上で動作し,VNCクライアントとは「VNCプロトコル」という共通手順で通信する。そのため,サーバーとクライアントのOSが異なる場合でも同様に遠隔操作ができる。

写真1 GUIによる遠隔操作を実現するVNC(Virtual Network Computing)
VNCは英RealVNC社が開発するフリーソフト。さまざまなOSに対応し,ネットワーク経由の遠隔操作を実現する。有志が,このVNCを改変して,数多くの派生ソフトを提供している。

 フリーソフト版のVNCについては,有志の手によりさまざまなOSへの移植や改良が行われ,別名のソフトとして配布されている。改良されているもののうち,低速回線でも快適な遠隔操作を可能にしたフリーソフトが「TightVNC」である。

 VNCに比べると,データ圧縮機能の追加やマウス操作の改良などが施されたことにより,通信データ量が大幅に削減できる。例えば,Fedora Core 4にGUIからログインするまでの通信データ量を,VNCとTightVNCとで比較した結果を図1に示す。デフォルト(初期設定)の状態(TightVNC-default)でも,データ量がVNCの約4分の1になっている。

図1 TightVNCによる通信データ量の削減効果
RealVNC社のVNCを使用した場合に比べて,通信データ量を大幅に削減できている。オプション指定により,データのさらなる削減も可能だ。

TightVNCの導入

 LinuxにTightVNCをインストールするには,RPMパッケージを利用するのが簡単だ。2006年2月上旬時点の最新版であるバージョン1.3dev7では,VNCサーバー用の「tightvnc-server-1.3dev7-1.i386.rpm」と,VNCクライアント(ビューア)用の「tightvnc-1.3dev7-1.i386.rpm」という2個のRPMパッケージが用意されている。いずれもFedora Core 3用だが,筆者が試してみたところFedora Core 4でも利用できた。インストールは,root権限で図2のようにrpmコマンドを実行する。

図2 TightVNCのRPMパッケージのインストール手順
rpmコマンドはroot権限で実行する。

 また,ソース・アーカイブ(tightvnc-1.3dev7_unixsrc.tar.bz2)からインストールする場合は,図3のように実施すればよい*2

図3 ソース・アーカイブからの導入手順
コンパイルにはCコンパイラなどの開発環境や,X Window Systemの開発環境(xorg-x11-develパッケージなど)が不可欠だ。

TightVNCの起動

 インストールが終了したら,VNCサーバーを起動する。VNCサーバーは,Linux上ではXサーバーとして動作する。そのため,LinuxをGUI画面で遠隔操作するにはウインドウ・マネージャが不可欠であり,その設定も与えてVNCサーバーを起動する。

 例えば,ウインドウ・マネージャに「twm」,1024x768ドットの画面解像度,16ビット・カラー(約6万5000色)を使用するようにし,フォントをフォント・サーバーから取得するようVNCサーバーを起動するには,図4のコマンドを実行する。「10」と記した部分(2カ所)はディスプレイ番号であり,通常「0」が操作対象のPC側のデスクトップに利用されているため,「0」以外の番号として「10」を指定している。

図4 LinuxでのVNCサーバーの起動例<br>画面サイズを1024x768ドット,ウインドウ・マネージャに「twm」を使うようにオプションを与えて起動する例である。
図4 LinuxでのVNCサーバーの起動例
画面サイズを1024x768ドット,ウインドウ・マネージャに「twm」を使うようにオプションを与えて起動する例である。
[画像のクリックで拡大表示]

 この状態で,VNCクライアントを起動してみよう。同一PCでVNCクライアントを起動して,先ほど稼働させたVNCサーバーに接続するには,

のようにvncviewerコマンドを実行する。すると,デスクトップ上に遠隔操作用の画面が表示される。実際に,いくつかのウインドウを開いて操作してみよう(写真2)。

写真2 VNCクライアントを起動して同じPCで動作するVNCサーバーに接続
vncviewerコマンドで遠隔操作用のGUI画面が表示される。サーバー起動時に指定した通り,ウインドウ・マネージャに「twm」が使われている。

 また,LANで接続したほかのLinuxマシンに導入したVNCクライアントから接続する手順は次の通りだ。操作対象のLinuxマシンのIPアドレスが「192.168.0.3」であるとすれば,

と入力してVNCサーバーに接続できる*3。同じように操作できることを確認してみよう。