Akira's Commentary

What is VNC ?

VNC stands for Virtual Network Computing, developed by ORL. See VNC site (1), or, if you can read japanses, my VNC guide page for more details.

Jan. 1999, ORL has been acquired by AT&T to form AT&T Laboratories Cambridge(1).

What is Xvnc ?

Xvnc is a virtual X/VNC server. X applications use it as normal Xserver, and VNC viewer uses it as VNC server to get X display images.

XVNC-Whatis

Combining Xvnc and VNC viewer makes pseudo X environment. As you can run X application, Xvnc and VNC viewer on different machines, you may use several machines to balancing network/CPU loads, or you'll use remote applications with specific combinations.

If you run Xapps. Xvnc, Viewer all in OS/2, then you'll get psuedo X environment on OS/2.

XVNC-for-X-Env

If you run Xvnc and Viewer on you OS/2 and use Xapps on remote machine, it gives pseudo X terminal on you OS/2.

XVNC-as-X-Terminal

Also you can remote access to OS/2 with running viewer on another machine (only use X apps, cannnot access to WPS/PM) (2).

XVNC-for-Remote-Access

Download and Install

Download archive from here.

ZIP file contains binaries, scripts and patches.

In v1.01, only 'vncserver.cmd' script and document are modified. Binary and patches are not changed. If you need only updated parts, then download script and documents below.

If you use binaries, copy

  • Xvnc.exe
  • vncserver.cmd
  • vncpasswd.exe

to a directory in a PATH.

If you want to start some applications in X (as XFree86 does), edit 'xstartup.cmd' and put it to directory

HOME/.vnc

HOME directory must be in HPFS drive.

These program requires EMX runtime (0.9c later) and some XFree86/2 files, such as X fonts and some X programs. At least, you need

  • Xbase.zip
  • Xbin.zip
  • Xfnts.zip
  • Xfnon.zip

of XFree86/2 distribution. Look at XFree86/2 page at

http://borneo.gmd.de/~veit/os2/xf86os2.html (3)

for more detail.

Usually, use wrapper script 'vncserver' to start VNC server. 'vncserver.cmd' is normal REXX script to setup environment and parameters required Xvnc. If you installed XFree86/2, it will work without any changes. Otherwise, adjust 'vncserver.cmd' to your environment.

If you haven't run a VNC server before, it asks password. This password is required when you access to this server from viewer. Password was saved to

HOME/.vnc/passwd

with some encription. You can change it with

vncpasswd

command.

To terminate VNC server, call task-list (Ctrl-ESC) and close it.

In UNIX, 'vncserver -kill:<display number>' terminate server, but OS/2 version script does not support it.

Xvnc server is normal VIO (WINDOWCOMPAT) program, and you can stop it with Ctrl-C.

About Patches

You can get patch file from here. I made following changes (4).

vnc_unixsrc/Imakefile
I don't build 'vncviewer' (VNC viewer for X), so deleted it.
vnc_unixsrc/vncpasswd/Imakefile
It assumes target library name as 'libvncauth.a', but OS/2 uses another library naming rule, it causes error on make. So changed it with 'TargetLibraryName' macro to build target library name.
vnc_unixsrc/Xvnc/config/cf/os2.cf
Definitions 'BuildXKB' and 'BuildLBX' are defined both 'vnc.def' and 'os2.cf'. Of course, Xvnc never uses such extentions (LBX may be used, but never use XKB), enclosed them with '#ifndef'.
vnc_unixsrc/Xvnc/config/cf/vnclibs.def
It assumes target library name as 'libvncauth.a', but OS/2 uses another library naming rule, it causes error on make. So changed it with 'TargetLibraryName' macro to build target library name.
vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/init.c
There is no 'strcasecmp' in EMX. Relaced with 'stricmp'.
vnc_unixsrc/Xvnc/programs/Xserver/Imakefile
It assumes target library name as 'libvn.a', but OS/2 uses another library naming rule, it causes error on make. So changed it with 'TargetLibraryName' macro to build target library name.
vnc_unixsrc/Xvnc/programs/Xserver/os/Imakefile
Add definitions for additional 'os2_stubs.c' file.
vnc_unixsrc/Xvnc/programs/Xserver/os/os2_stubs.c
Additonal file to build OS/2 version. This was modified version of

xc/programs/Xserver/hw/xfree86/os-support/os2

vnc_unixsrc/Xvnc/programs/Xserver/Xvnc.def
Addtinal file to build OS/2 version. It is linker definition file.

Acknowledges

Thanks for suggestions from

  • Mr. Ueno <zodiac@ibm.net>
  • Mr. Miyata <miyata@kusm.kyoto-u.ac.jp>
  • Mr. Okunishi <fuji0924@mbox.kyoto-inet.or.jp>

for porting.

Contact

Please send bug reports, fixes, suggetions to akira@p08.itscom.net (5).