注目の書籍

好評発売中!

知識ゼロから始めるLinuxサーバーの作り方

Linux初心者でも
本格 サーバーが“即席”で 完成!自宅サーバー
クラウド化も!

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

オープンソース/Linux

特選フリーソフト

日経Linux

低速回線でも使用できる遠隔操作ソフト TightVNC(上)

2006/11/17
ライター 末安 泰三
出典:日経Linux 2006年4月号  89ページより
(記事は執筆時の情報に基づいており、現在では異なる場合があります)

ジャンル: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。同じように操作できることを確認してみよう。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介