VNC (Virtual Network Computing) は Windows や UNIX (X11) の画面を他のマシンから見たり操作したりするフリーソフトである。
元々は ORL (Olivetti & Oracle Research Lab) が作っていたが,ORL は1999年1月に AT&T に買収された。 現在は RealVNC で開発が進められている。 TightVNC などが改良版を出している。
TightVNC からフルインストーラまたはビューア単体をダウンロード。 ビューア単体はインストール不要で動かせる。
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 + クリック で右クリックになる。
VNC はパスワードを平文で流すので,インターネット経由でアクセスする場合は ssh ポートフォーワーディングを使うのがよかろう。
たとえば bar というホストで sshd が動いており,その近くに VNC サーバ foo があれば,次のようにする。
ssh -L 5900:foo:5900 bar
これで vncviewer localhost:0 で接続できる。
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の拡張機能 にいろいろ興味深いリンクがある。
とりあえず私用のリンク: