home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
xvnc_os2.zip
/
README.txt
< prev
next >
Wrap
Text File
|
1999-07-27
|
12KB
|
372 lines
X VNC Server for OS/2 - based on Xvnc server 3.3.2r3
V1.00, 1999/03/27, akira@sra.co.jp
V1.01, 1999/07/27, akira@sra.co.jp
_What is VNC ?
VNC stands for Virtual Network Computing, developed by ORL.
VNC is a system to access remote desktops from a local machine.
It consists of a remote server and a local viewer (client). This
is (X base) VNC server for OS/2.
Jan. 1999, ORL has been acquired by AT&T to form AT&T
Laboratories Cambridge.
See VNC site <http://www.uk.research.att.com/vnc/> for details.
_What is Xvnc ?
Xvnc is a virtual X/VNC server. X applications use it as normal X
server, and VNC viewer uses it as VNC server to get X display images.
+-------+ +-----+ +-------+
|X apps |<------->| | | |
+-------+ |Xvnc |<------>| VNC |
+-------+ | | |viewer |
|X apps |<------->| | | |
+-------+ +-----+ +-------+
X protocol VNC(RFB) Protocol
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. Vcnx, Viewer all in OS/2, then you'll get psuedo X
environment on OS/2.
+- OS/2 ------------------------------+
| +-------+ +-----+ +-------+ |
| | X apps|<--->| | | | |
| +-------+ | Xvnc|<--->| VNC | |
| +-------+ | | |Viewer | |
| | X apps|<--->| | | | |
| +-------+ +-----+ +-------+ |
+-------------------------------------+
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.
+- OS/2 ------------------+
+-------+ | +-----+ +-------+ |
| X apps|<----->| | | | |
+-------+ | | Xvnc|<--->| VNC | |
+-------+ | | | | viewer| |
| X apps|<----->| | | | |
+-------+ | +-----+ +-------+ |
+-------------------------+
Also you can remote access to OS/2 with running viewer on another
machine (only use X apps, cannnot access to WPS/PM).
+- OS/2 ------------------+
| +-------+ +-----+ | +-------+
| | X apps|<--->| | | | |
| +-------+ | Xvnc|<----->| VNC |
| +-------+ | | | | viewer|
| | X apps|<--->| | | | |
| +-------+ +-----+ | +-------+
+-------------------------+
_Contents
Archive contains Xvnc and related binaries and patches to build Xvnc
from unix source. Binaries are build on Warp3/Connect with EMX. I
hope they works on Warp4 also.
Descriptions
README.txt Now you are reading.
README.jpn Japanese Description
Executables
Xvnc.exe Xvnc itself
vncserver.cmd Wrapper to startup Xvnc
vncpasswd.exe Prepare password for Xvnc
xstartup.cmd startup script (sample)
Patches (in 'patches' directory)
patch-vnc_3_3_2r3_os2 Patch
Xvnc.def Link definition file for OS/2
os2_stubs.c Need to run OS/2.
os2_stubs.c.org Original version (from XFree86)
os2_stubs.c.dif diff of above
In v1.01, I modified 'vncserver.cmd' script and documents.
_Install and Use Binaries
INSTALL
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 placed on HPFS drive, and shoud be shared between
server and clients.
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
for more detail.
START
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.
STOP
To terminate VCN 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.
LOG
If you start server with 'vncserver' script, execution log will
saved to
HOME/.vnc/host.display.log
If you have a trouble, check it.
Log file name is bit differs from UNIX version.
Combination with VNC Viewer
If you have installed VNC viewer for PM (vncview.exe in PATH),
vncserver -view
will start both server and viewer. It makes pseudo X on your WPS/PM.
Using remote machine
If you only use X applications on remote machine (as X terminal),
then your may use XDMCP (X Display Manager Control Protocol).
If you specify
-query remote-host
-indirect remote-host
-broadcast
then XDMCP will enabled and Xvnc will connect to remote host's xdm
(X Display Manager). In this case, local commands in 'xstartup.cmd'
is not started.
'-once' option with XDMCP terminate Xvnc when X session
terminates.
Option and Customize 'vncserver'
'vncserver' accept following options other than normal X server
options.
üF<number>
Specify display number. If not given, 'vncserver' select
first non-used display number.
-name <desktop-name>
Set name of remote desktop. It will shown in title of VNC
viewer.
-depth <depth>
Specify pixel depth (bits per pixel) for remote desktop.
8/16/24/32 will work.
-geometry <width>x<height>
Specify size of remote desktop.
-pixelformat rgbNNN|bgrNNN
Specify pixel format (order and bits for each RGB).
Default values are defined in 'vncserver' script. You may change
these values.
_FAQ
Q. I got X screen but not X applications on it.
A. Try
xterm -display yourpc:0 (use display number report on startup)
A1. If you got 'xterm' on desktop, then you have a problem on
startup script. Xvnc (invoked with vncserver script) uses local
startup script 'xstartup.cmd' in HOME/.vnc directory. Confirm
HOME/.vnc directory and 'xstartup.cmd' script in it.
A2. If Xvnc refused to start 'xterm' as
Xlib: connection to "yourpc:0.0" refused by server
Xlib: Client is not authorized to connect to Server
then you have authentication problem. First, restart Xvnc
server with '-noauth' option.
vncserver -noauth
'-noauth' option disable authentication, access from local
machine is always allowed. If 'xterm' worked with this,
then you certain have authentication problem.
If you run X applications (client) on same machine on Xvnc, then
server (Xvnc) and clients (X application) must share same
'HOME/.Xauthority' file. If server and client uses different
'HOME' directory, then you have such problem. Confirm HOME
environment value in server and client.
_Build from Sources
I build Xvnc and vncpasswd as below. If you want to build them from
source (vnc_3_3_2r3_unixsrc.xxx), try it. It requires XFree86/2
developping environment.
Expand archive
Expand source archive (vnc_3_3_2r3_unixsrc.xxx) on root of some
drive. Build script put some commands on root, so select drive
which have not many files in root. Also it requires about 40MB
of disk space to build. Archives are expanded under directory
'vnc_unixsrc'.
Change to writable
All files in archives are read-only. Change to writable.
[X:\vnc_unixsrc] chmod -R a+rw .
Apply patch
[X:\vnc_unixsrc] patch -p 1 < patch_vnc_3_3_2r3_os2
Build 'libvncauth' and 'vncpasswd'
[X:\vnc_unixsrc] xmkmf
[X:\vnc_unixsrc] make World
Convert command files (*.cmd) to DOS/OS2 text
Command files comes with archive (same as XFree86/2) are all in UNIX
style text files, and REXX cannot read them. So convert them to DOS
style text files.
[X:\vnc_unixsrc\Xvnc\config\imake] unix2dos *.cmd
[X:\vnc_unixsrc\Xvnc\config\util] unix2dos *.cmd
Build Xvnc
[X:\vnc_unixsrc\Xvnc] copy config\util\buildos2.cmd
[X:\vnc_unixsrc\Xvnc] buildos2
Binary 'Xvnc.exe' is palced on
X:\vnc_unixsrc\Xvnc\programs\Xserver
_About Patches
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
Two definitions
BuildXKB
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/os2_stubs.c
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.
_Contanct
Please send bug reports, fixes, suggetions to <akira@sra.co.jp>.
Newest version will placed at
<http://www.sra.co.jp/people/akira/os2/xvnc/index-j.html>