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. 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.
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 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.
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 tim eyou've
used WinVNC on this machine you'll be prompted to enter a password, which remote users
will need to type if they want to view your screen. 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.
Running a viewer
If 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. If you do this, or 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 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 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 display 2 on machine 'snoopy', you would point
your web browser at:
http://snoopy:5802/
The applet will prompt you for your password before displaying the desktop.
That's it! For more details see the documentation. The
answers to lots of common questions can be found in the FAQ .
|