Getting Started with VNC
VNC consists of two types of component. A server, which generates a display, and a viewer, which actually draws the display on your screen. There are two important features of VNC:
So, to get started with VNC you need to run a server, and then connect to it with a viewer. The current VNC software requires a TCP/IP connection between the server and the viewer, though there is no reason why the software couldn't be modified to use, for example, RS232 or Firewire. We have internal versions that use other network transport layers. But for now you'll need to know the name or IP address of the server machine.
For the purposes of this introduction we will use the X-based Unix server, Xvnc, so you will need access to a Unix machine. Using the Windows server, WinVNC, is actually simpler - you just install it and run it on one machine, specify a password, and then tell the viewer on another machine to connect to this one. Instructions for installing and running the Windows server can be found under the main documentation if you want that immediately. Come back here when you've had a look at it.
Running a Unix server
A VNC server appears, to the Unix applications which appear on it, to be a standard X display just like the one you sit in front of; but it doesn't have a physical screen attached. The applications don't know this. They just carry on running whether or not a viewer is connected, in the same way as they would regardless of whether you were actually looking at your physical screen.
You can start a new VNC server by typing:
on a Unix machine. (If you're sitting at a PC you may need to telnet to the Unix machine to get a command shell into which you can type this.) The vncserver program is a Perl script which you may need to edit to set up the directories appropriate for your local installation.
If you haven't run a VNC server before you will be prompted for a password, which you will need to use when connecting to this server. All your servers will use the same password, and you can change it using
With a normal X system, the main display of a workstation snoopy is usually snoopy:0. You can run as many VNC servers on a machine as you like, and they will appear as snoopy:1, snoopy:2 etc. You can cause applications to use them by setting the DISPLAY environment variable to the VNC server you want, or by starting the application with the -display option. For example:
Normally vncserver will choose the first available display number and tell you what it is, but you can specify a display number if you always wish to use the same one:
Nothing will appear immediately as a result of starting a server. To see anything you need to connect a viewer to the server.
Running a viewer
If you have started a server as display 2 on machine snoopy, you can start a viewer for it by typing:
With the Windows viewer, if you don't specify the server on the command line, you will be prompted for the host name and display number:
Enter it and click OK, and you will be prompted for your password, after which you should see the remote display.
If the machine running the server does not have a proper DNS entry, you probably won't be able to use the name and will have to replace snoopy:2 with something like 192.168.1.2:2 . You can get round this on most platforms by creating a 'hosts' file which maps names onto IP addresses. Consult your local guru for help with this.
Using the Java viewer
The VNC servers also contain a small web server, which can serve the Java classes needed for a browser to connect back to the server. You can then see your desktop from any Java-capable browser! For some servers you will need to specify the location of the class files when starting the VNC server. The server listens for HTTP connections on port 5800+display number. So to view server 2 on machine snoopy, you would point your web browser at:
The applet will prompt you for your password before displaying the desktop.
Killing a Unix server
You can kill a Unix VNC server using, for example:
For comments, feedback, etc, please see the 'Keeping in touch' page.