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