Table of Contents
What is VNC ?
VNC (Virtual Network Computing) は ORL (The Olivetti & Oracle Research Lab)で開発された システムで、リモートマシンのデスクトップを手元のマシンから 使うようにするものです。詳しくは VNC - Virtual Network Computing (1)、 あるいは、私の VNCの紹介ページ を御覧ください。
Jan. 1999, ORL は AT&T に買収されて AT&T Laboratories Cambridge になりました(1)。 しかしソースはそれ以前のものですので、あちこちに ORL っていうのがあらわれます。
What is Xvnc ?
Xvncは、仮想Xサーバで、 Xアプリケーション(クライアント)からは通常のXサーバに見え、 VNCクライアントからはVNCサーバに見えるというものです。
XvncとVNC viewerを組み合わせることにより、 擬似的なX環境が得られます。 Xアプリケーション、Xvnc、VNC Viewer、 はそれぞれ別のマシン上で動作することができますので、 マシン性能やネットワーク負荷に応じて処理を分散させたり、 異なった場所から 同じアプリケーションを使うことができるようになります。
OS/2上でXapps、Xvnc、Viewerを動かせば擬似的なX環境になります。
Xvnc、Viewerを動かして、リモートマシンでXappsを動かせば、 擬似的なX端末として使えます。
また他のマシンでviewerを使って、 OS/2へリモートアクセスすることもできます (X環境だけで、残念ながらPMにはアクセスできません) (2)。
Download and Install
ここからダウンロードしてください。
ZIPファイルにはバイナリとパッチファイルが含まれています。
v1.01では、起動スクリプトとドキュメントだけを更新しています。 バイナリとパッチは以前の版(v1.00, 1999/03/28)と同じですので、 更新されたスクリプトとドキュメントだけをダウンロードするのも よいでしょう。
バイナリをそのまま使う場合には、アーカイブ中の
- Xvnc.exe
- vncserver.cmd
- vncpasswd.exe
をPATHで指示されるディレクトリにコピーしてください。
Xvnc起動時にローカルにXapps を起動したい場合には、 xstarup.cmdを編集して、
HOME/.vnc
ディレクトリに置いてください。 ロングファイル名を多用しますので、 HOMEディレクトリはHPFSドライブに置いてなければなりません。
なお、これらのプログラムを実行するには EMX Runtime (0.9c以上)が必要です。 また、Xのフォント、およびいくつかのXクライアントも必要です。 最低限、XFree86/2の
- Xbase.zip
- Xbin.zip
- Xfnts.zip
- Xfnon.zip
が必要になります。 これらのインストールについては、XFree86/2のページ
http://borneo.gmd.de/~veit/os2/xf86os2.html (3)。
を御覧ください。
サーバは通常「vncserver」で起動します。 「vncserver.cmd」はREXXスクリプトで、Xvncが必要とする環境、 およびパラメタを設定するものです。 XFree86/2 を使っているなら、そのままで使えます。 そうでなければ、各自の環境に合わせて修正して使ってください。
最初に起動した時には、パスワードを聞いてきますので、 適当なパスワードを設定してください。パスワードは暗号化されて
HOME/.vnc/passwd
に格納されます。 パスワードを変更するには「vncpasswd」コマンドを使います。
終了するには、タスクリストで 該当するものをクローズしてください。
UNIX版では「vncserver -kill :1」とかしますが、 OS/2版のスクリプトではサポートしていません (メッセージが出るだけです)。
Xvncサーバ自体はVIO(WINDOWCOMPAT)プログラムで、 Ctrl-Cによって終了させることができます。
パッチについて
パッチ単体はこちらに おいてあります。以下のような修正を加えました (4)。
- vnc_unixsrc/Imakefile
- 今回は vncviewer を作成しないので ターゲットサブディレクトリから削除しました。
- vnc_unixsrc/vncpasswd/Imakefile
- ターゲットライブラリ名が「libvncauth.a」になっていましたが、 OS/2では異なったライブラリ名(vncauth.a)を生成するので、 ターゲットライブラリ名をマクロ 「TargetLibraryName」で生成するようにしました。
- vnc_unixsrc/Xvnc/config/cf/os2.cf
- BuildXKB、BuildLBXが、vnc.defと二重定義になるので、 こちら側を#ifndefで囲いました。
- vnc_unixsrc/Xvnc/config/cf/vnclibs.def
- ターゲットライブラリ名が「libvncauth.a」になっていましたが、 OS/2では異なったライブラリ名(vncauth.a)を生成するので、 ターゲットライブラリ名をマクロ 「TargetLibraryName」で生成するようにしました。
- vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/init.c
- EMX環境ではstrcasecmpが無いので、同等のstricmpに置き換えました。
- vnc_unixsrc/Xvnc/programs/Xserver/Imakefile
- ライブラリ名が「libvnc.a」になっていましたが、 OS/2では異なったライブラリ名(vnc.a)を生成するので、 ターゲットライブラリ名をマクロ 「TargetLibraryName」で生成するようにしました。
- vnc_unixsrc/Xvnc/programs/Xserver/os/Imakefile
- 追加ファイル「os2_stubs.c」用の定義を追加。
- vnc_unixsrc/Xvnc/programs/Xserver/os/os2_stubs.c
-
ファイルを追加。これは、XFree86の
xc/programs/Xserver/hw/xfree86/os-support/os2
を、os2PseudoSelect コードを有効にするために定義を追加し、 また終了時に select からすぐに復帰するように 修正を加えたものです。 - vnc_unixsrc/Xvnc/programs/Xserver/Xvnc.def
- ファイルを追加しました。OS/2 リンク用の定義ファイルです。
Acknowledges
移植にあたって、
- 上野 博 さん <zodiac@ibm.net>
- 宮田 繁 さん <miyata@kusm.kyoto-u.ac.jp>
- 奥西 藤和 さん <fuji0924@mbox.kyoto-inet.or.jp>
よりいろいろを示唆をいただきました。 どうもありがとうございました。
連絡先
バグレポート、修正、その他ございましたら、 akira@p08.itscom.net (5)。 にどうぞ。
補遺
-
ORL (The Olivetti & Oracle Research Lab)は 1999年1月にAT&Tに買収されて AT&T Laboratories Cambridge になり、 さらに、AT&T ケンブリッジ研究所は、 2002年4月を以て閉鎖されました。 元の開発メンバによって新しい会社 RealVNCが 立ち上げられています。 新しいバージョンの開発、メイリングリスト等はこちらで 引き継がれています。
AT&T Laboratories Cambridgeのwebサイトは残す、との ことでしたが、さすがに今となっては消滅しています。 ただ閉鎖時に保存された ミラーサイト がありますので、本ページでは旧VNCサイトへの参照はこちらのミラーサイトに 張り替えておきます。
-
PMネイティブのVNCサーバは2004年になってロシアの Eugene Romanenko氏によって作成されました。 こちらからダウンロードできます。
-
このサイトも、OS/2向けのXFree86関連で結構有名な OS/2アーカイブサイトだったのですが、 これもまた消滅してしまっています。 今であればここのthe OS2 files で入手できます。
-
このパッチは、あくまでもその時点のバージョンのXvncソースに 対するものですので、現行のXvncには適用できませんので ご注意ください。
-
ドキュメント、ソースコード上では、作者のメイルアドレスが akira@sra.co.jpとなっていますが、 退職して無効アドレスになっています。現在のアドレスは akira@p08.itscom.net ですので、連絡等はこちらにどうぞ。
ですが、現時点では手元にOS/2環境がありませんので、 修正要望等には応じることができません。悪しからず。