# Virtual Network Computing

## Note

This version was edited by Edward Betts for the Debian Operating System. The original version is available at the VNC Home Page (extern).

## 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:

- The server and the viewer may be on different machines and on different architectures. We expect the most common use to be the display of a Unix X desktop on a PC, for example. The protocol which connects the server and viewer is simple, open, and platform- independent.
- No state is stored at the viewer. Breaking the viewer's connection to the server and then reconnecting will not result in any loss of data. Because the connection can be remade from somewhere else, you have easy mobility.

So, to get started with VNC you need to run a server, and then connect to it with a viewer. Get the packages for the platforms you use from the download page, if you haven't already, and install them. 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 the IP address of the server machine.

Most people will be running either a Unix server or a Windows server, though similar principles will apply to other platforms.

### 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:

> `vncserver`

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 at a later date using

> `vncpasswd`

With a normal X system, the main X display of a workstation called 'snoopy' is usually snoopy:0. You can also run as many VNC servers on a Unix machine as you like, and they will appear as snoopy:1, snoopy:2 etc, as if they were just additional displays. 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:

> `xterm -display snoopy:2 &`

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:

> `vncserver :2`

Nothing will appear immediately as a result of starting a server. To see anything you need to connect a viewer to the server. See below. The server will generate a log in your `~/.vnc` directory. If you have problems at this stage, see the full documentation and the FAQ .

#### Killing a Unix server

You can kill a Unix VNC server using, for example:

> `vncserver -kill :2`

### Running a Windows server

Install the Windows server, WinVNC, by running the Setup program included in the distribution. This will create a VNC group in your Start Menu.

Install the default registry settings using the option in the VNC group.

Run the WinVNC server. If this is the first time you've used WinVNC on this machine you'll be prompted to set a password, which you'll need when you connect to the machine from a remote location. Normally you'll want to leave the other options on their default settings. (Note that the default display number is 0 on a PC. You'll need to specify this to the viewer when you connect.) Click OK and the server should be running. It will install a small icon on the system tray, and by right-clicking on this you can control most aspects of the server. (Full instructions for installing and running the WinVNC server can be found under the main documentation.)

You can now go to another machine and connect a viewer to the server. (see below)

### Running a viewer

When you run the viewer, you need to specify the name of the server and the number of the desktop. If, for example, you have started a server as display 2 on a machine called 'snoopy', you can start a viewer for it by typing:

> `vncviewer snoopy:2`

With the Windows viewer, you can run it from the command line, but you will more typically run it from the VNC group on the Start Menu. In this case, 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 you are connecting to a Windows or Mac server, the display number will be 0, unless you have explicitly changed it).

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 a web browser as a viewer

The VNC servers also contain a small web server. If you connect to this with a web browser, you can download the Java version of the viewer, and use this to view the server. You can then see your desktop from any Java-capable browser! (unless you are using a proxy to connect to the web). The server listens for HTTP connections on port 5800+display number. So to view display 2 on machine 'snoopy', you would point your web browser at:

> `http://snoopy:5802/`

The applet will prompt you for your password, and should then display the desktop.

That's it! For more details see the documentation. The answers to lots of common questions can be found in the FAQ .

For comments, feedback, etc, please see the 'Keeping in touch' page.
Copyright 1999 - AT&T Laboratories Cambridge