Akira's Commentary

Java VNC Viewer

Java版のビューワは、スタンドアローンのアプリケーションとしても、 あるいはアプレットとしても使用することができます。 アプレットとして使用する場合には、 ブラウザからサーバに接続し、 サーバからビューワをダウンロードして、 そこでサーバのリモートデスクトップを表示することができます。 つまり、JavaVMを持ったウェブブラウザがあれば、 それだけでリモートデスクトップにアクセスすることができるわけです。

ウィンドウズ用のサーバWinVNCには、最初からこの機能がサポートされています。 ビューワアプレットをダウンロードして実行する場合には、 サーバに「http://server-host:58XX」でアクセスします。 ここで最後のXXがディスプレイ番号です。 ウィンドウズ用のサーバの場合はディスプレイ番号は0ですので、 「http://host:5800」でアクセスします。

Access to VNC Server

これによってサーバからアプレットがダウンロードされ、 ビューワが動作を始めます。 ビューワは最初にパスワード画面を表示します。

Applet Authentication

パスワードが正しければブラウザ上にリモートデスクトップが表示されます。 無論、表示されるだけではなく、 ブラウザからリモートデスクトップを操作することができます。 終了させる場合には、「Disconnect」ボタンを押します。

Applet Desktop

ブラウザからWinVNCにアクセスする場合にはこれだけでOKですが、 ブラウザからXvncにアクセスする場合、あるいは、 Java版のビューワをアプリケーションとして使う場合には、 Javaパッケージを入手してセットアップする必要があります。

入手とmake

Java版のビューワは、AT&T ケンブリッジ研究所の Downloading VNCのページで ソースパッケージとして配布されています(1)

      32619 Jan  5 14:24 vnc-3_3_3_javasrc.zip

これを展開すると、 「vnc_javasrc」ディレクトリ以下にソースが展開されます。

READMEによれば、make all でクラスファイルとjarができる、 となっているのですが、どうみてもmakefileはありません。 dir.mkファイルがmakefileのようです。

最近のmakeでしたら

make -f dir.mk all

でOKでしょう。残念ながら、私が使っているmakeは多少古いものでして、 デフォルトでは.java.classのルールが効きませんので、 多少手直しが必要でした。

diff dir.mk makefile
4a5,9
> .SUFFIXES: .java .class
>
> .java.class:
>       javac -O $<
>
12c17
<       @$(JavaArchive)
 ---
>       jar cf $@ $(CLASSES)

これで、まあワーニングが出たものの、 クラスファイル、jarファイルが作成されました。

ちなみに、手元の環境はこんなもの(古い!!)です。

OS - OS/2 Warp3/Connect
JDK - IBM JDK1.1.6
make - GNU Make version 3.71

アプリケーションとして実行

jarファイルができたなら、 Javaアプリケーションとして実行することができます。 この場合には、以下のようにパラメタを設定して起動します。

java vncviewer HOST srapc24 PORT 5900

この時、指定するポート番号が、アプレットを実行する時と異なっている 点に注意してください。VNCでは5800番台と5900番台のポートを使いますが、

5800番台http用アプレットのダウンロード
5900番台vnc用 VNCプロトコルはこちら

となっています。ここでは直接VNCに接続しますので、 5900番台のポート番号を指定します。 なお、ポート番号を間違えると、 パスワード入力した後で処理が止まる(先に進まない)ことになります。

Java版のビューワが起動されると最初にパスワード画面が表示されます。

Java Viewer Authentication

パスワードが正しければ(そして起動時に指定したポート番号が正しければ) リモートデスクトップが表示されます。 終了させる場合には、「Disconnect」ボタンを押します。

Java Viewer Desktop

Xvncサーバへの設定

ブラウザからXvncサーバにアクセスできるようにするには、 作成したクラスファイル、jarファイルを 適切な場所にインストール(コピー)しておく必要があります。 クラスファイル、jarファイルの置き場所は、 vncserverスクリプトの

$vncClasses = "/usr/local/vnc/classes";

で指定されています。ですからこのディレクトリ、 あるいは上の行を適当なディレクトリに書き換えて、 そこにクラスファイル、jarファイルをコピーします。

この後でVNCサーバを(vncserverスクリプトで)起動しておくと、 ブラウザから仮想Xデスクトップにアクセスできるようになります (2)

X Desktop from Browser