VNC

はじめに

VNC (Virtual Network Computing) は Windows や UNIX (X11) の画面を他のマシンから見たり操作したりするフリーソフトである。

元々は ORL (Olivetti & Oracle Research Lab) が作っていたが,ORL は1999年1月に AT&T に買収された。 現在は RealVNC で開発が進められている。 TightVNC などが改良版を出している。

Windows へのインストール

TightVNC からフルインストーラまたはビューア単体をダウンロード。 ビューア単体はインストール不要で動かせる。

Linux や Mac OS X へのインストール

TightVNC から Linux の RPM または UNIX ソースをダウンロード。

Mac OS X + X11 でも以下のようにしてビューアだけインストールできた。

tar xvjf tightvnc-1.2.9_unixsrc.tar.bz2
cd vnc_unixsrc
xmkmf
make World
./vncinstall /usr/local/bin /usr/local/man

RealVNC も UNIX ソースを Mac OS X 上で ./configure; make すれば作れる。 たぶん TightVNC のほうがよさそうだ。

使い方は,vncviewer hostname:0 などとする。 :0 はデフォルトの画面番号である。 ポート「5900 + 画面番号」が使われる。 vncviewer -help で説明が出る。

Mac からは Command + クリック で右クリックになる。

ssh ポートフォーワーディングでのアクセス

VNC はパスワードを平文で流すので,インターネット経由でアクセスする場合は ssh ポートフォーワーディングを使うのがよかろう。

たとえば bar というホストで sshd が動いており,その近くに VNC サーバ foo があれば,次のようにする。

ssh -L 5900:foo:5900 bar

これで vncviewer localhost:0 で接続できる。

VNC Reflector

VNC Reflector は,多数の端末から同じ画面を見るためのもの。

tar xvzf vnc_reflector-1.2.4.tar.gz
cd vnc_reflector
make

これで vncreflector ができる。

いろいろな使い方ができそうだ。 たとえば教卓の Windows マシンにサーバをインストールし,教卓マシンからリフレクタに接続し,学生はビューアをリフレクタに接続するような使い方を想定する。 hoge.txt に *:5500 hoge と書き,passwd というファイルの1行目にフルアクセス用のパスワード,2行目に閲覧専用のパスワードを平文で書いておく。 このまま動かしても問題ないが,念のため,他に何もしない一般ユーザ vnc を作り,vnc だけがこれらのファイルを使えるようにして,vnc 権限で動かす:

# su vnc -c "./vncreflector hoge.txt"

ログは reflector.log に入る。

もっと気になるなら chroot すればよい。

これで Windows の VNC Server からリフレクタにコネクションを張る。 サーバからビューアに接続する際のデフォルトポート 5500 を使っているので,Add New Client でリフレクタのホスト名だけ入れればよい。

学生は個々にビューアを立ち上げ,接続ホストを聞いてきたら「リフレクタのホスト名:99」と入れ,パスワードを聞いてきたら閲覧用のパスワードを入れる。

マルチキャスト用の拡張もあるようだが,試していない。

参考リンク

SRAの畠山 明さんが リモートデスクトップVNCのページ をまとめておられる。 特に VNCの拡張機能 にいろいろ興味深いリンクがある。

とりあえず私用のリンク:


Last-modified: 2005-11-05 (土) 15:34:02 (4399d)