VNC 3.3 viewer for XFree86/2 released
|
VNC is Copyright Olivetti &
Oracle Research Laboratory. This software is distributed under the GNU General
Public Licence as published by the Free Software Foundation. VNC also contains
code from other sources.
Bosse Nystr÷m have recompiled the vncviewer for XFreeOS2. VNC is Copyright
Olivetti & Oracle Research Laboratory.
VNC stands for Virtual Network Computing. It is, in essence, a remote
display system which allows you to view a computing 'desktop'
environment not only on the machine where it is running, but from
anywhere on the Internet and from a wide variety of machine
architectures (even on PalmPilot and WinCE machines!). And it's FREE.
For more information on VNC, check out:
http://www.orl.co.uk/vnc/
VNC Source Distribution for Unix platforms
Just to let you know that VNC viewer compiled for OS/2 can be found at:
ftp://bfs.riken.go.jp/pub/vnc/
++ VNCview01
Installation
Instalation is simple, put vncviewer.exe
in a directory within your path. (This is done automatically if you unzip this archive
in the root-directory of a normal XFreeOS2 installation)
Sources from http://www.orl.co.uk/vnc. This
site does also contain precompiled servers and more information about VNC.
This viewer was compiled on Warp 4.0 and tested with vncservers on DEC Alpha and
Win95.
Limitations so far:
1) The shift key does NOT work, thus the only UPPER keys that can be reached are
thos that comes with "Caps Lock".
2) Input to DOS-windows does NOT work
==========================================
.
There are four programs here:
vncviewer - this is the VNC viewer, or client, program for X.
vncserver - this is a wrapper script which makes starting an X VNC
server (i.e. desktop) more convenient. It is written in
Perl, so to use the script you need that.
vncpasswd - this program allows you to change the password used to
access your X VNC desktops. The vncserver script uses
this program when you first start a VNC server.
Xvnc - this is the X VNC server - it is both an X server and a VNC
server. You normally use the vncserver script to start Xvnc.
First you must have a reasonably recent version of X installed (this includes
/usr/openwin on Solaris machines). To build everything, do:
% xmkmf
% make world
This should build first the vncauth library which is used by each of the
programs, then vncviewer, vncpasswd and finally Xvnc. Xvnc differs from the
other programs in that it uses its own imake configuration files which are
taken from the X11R6 distribution. These have only been set up for Solaris,
Linux and Digital Unix, so if you're porting it to another platform, you'll
need to do some work here. See the Xvnc/README file for more details.
If it all builds OK you can then install the programs by running the vncinstall
script. For example if you want to put them in /usr/local/bin, do:
% ./vncinstall /usr/local/bin
See the file README.vncserver for information on setting up the vncserver
script:
*** imakefile 1998/04/17 01:56:11 1.1
--- imakefile 1998/04/21 11:27:58 1.2
***************
*** 5,10 ****
--- 5,14 ----
CDEBUGFLAGS = -O2
#endif
+ #ifdef __EMX__
+ CCOPTIONS = -DTCPIPV4 -Zmtd -D__MT_ST_ERRNO__
+ #endif
+
SRCS = args.c listen.c rfbproto.c sockets.c vncviewer.c x.c
OBJS = args.o listen.o rfbproto.o sockets.o vncviewer.o x.o
INCLUDES = -I../include -I.
*** listen.c 1998/04/17 01:57:06 1.1
--- listen.c 1998/04/21 11:21:11 1.2
***************
*** 65,71 ****
/* reap any zombies */
int status, pid;
! while ((pid= wait3(&status, WNOHANG, (struct rusage *)0))>0);
/* discard any X events */
while (XCheckIfEvent(d, &ev, AllXEventsPredicate, NULL))
--- 65,75 ----
/* reap any zombies */
int status, pid;
! #ifdef __EMX__
! while ((pid = waitpid (-1, &status, WNOHANG)) > 0)
! #else
! while ((pid= wait3(&status, WNOHANG, (struct rusage *)0))>0);
! #endif
/* discard any X events */
while (XCheckIfEvent(d, &ev, AllXEventsPredicate, NULL))
***************
*** 225,227 ****
--- 229,243 ----
XDestroyWindow(d, w4);
XFlush(d);
}
+
+
+
+
+
+
+
+
+
+
+
+
*** rfbproto.c 1998/04/17 13:20:09 1.1
--- rfbproto.c 1998/04/21 11:21:11 1.2
***************
*** 170,176 ****
if (passwdFile) {
passwd = vncDecryptPasswdFromFile(passwdFile);
} else {
! passwd = getpass("Password: ");
if (strlen(passwd) == 0) {
fprintf(stderr,"%s: Reading password failed\n",programName);
return False;
--- 170,180 ----
if (passwdFile) {
passwd = vncDecryptPasswdFromFile(passwdFile);
} else {
! #ifdef __EMX__
! passwd = _getpass2("Password: ",0);
! #else
! passwd = getpass("Password: ");
! #endif
if (strlen(passwd) == 0) {
fprintf(stderr,"%s: Reading password failed\n",programName);
return False;
*** sockets.c 1998/04/17 01:19:01 1.1
--- sockets.c 1998/04/21 11:21:11 1.2
***************
*** 22,27 ****
--- 22,31 ----
*/
#include <unistd.h>
+ #ifdef __EMX__
+ #define MAXSOCKETS 2048
+ #include <sys/types.h>
+ #endif
#include <sys/socket.h>
#include <errno.h>
#include <netinet/in.h>
***************
*** 29,34 ****
--- 33,43 ----
#include <arpa/inet.h>
#include <netdb.h>
#include <vncviewer.h>
+ #ifdef __EMX__
+ #include <io.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+ #endif
void PrintInHex(char *buf, int len);
***************
*** 129,134 ****
--- 138,146 ----
return -1;
}
+ /*#ifdef __EMX__
+ setmode(sock,O_TEXT);
+ #endif */
return sock;
}
*** x.c 1998/04/17 01:57:22 1.1
--- x.c 1998/04/21 11:21:11 1.2
***************
*** 953,960 ****
x, y, width, height);
XSync(dpy,False);
!
usleep(delay * 1000);
}
if (!useBGR233) {
--- 953,963 ----
x, y, width, height);
XSync(dpy,False);
! #ifdef __EMX__
! _sleep2(delay * 1000);
! #else
usleep(delay * 1000);
+ #endif
}
if (!useBGR233) {
.
Bosse Nystr÷m
bosse@postman.riken.go.jp
@Macarlo, Inc.
@Macarlo's Shareware & Web
OS/2
Java Lobby Member
Java Site Accredited
[TOP]
[HOME] [INDEX]