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


VNC Frequently Asked Questions (FAQ)

This isn't intended to be an introduction to VNC - have a look at the Getting Started page first.

This list is being updated regularly, so, particularly as you are reading a mirrored copy, it's worth checking the original from time to time. The archives of the mailing list are also available, and they can be a good source of help - try searching them here.

Historical Note: With the release of 3.3.2 we have moved some of the old questions into the Old FAQ page because they should not apply to recent versions. As with most software, it's worth checking to make sure you've got the lastest version.

VNC Frequently Asked Questions

Getting Started

Where can I get VNC?
The latest versions of VNC and this documentation are always available from the AT&T Laboratories Cambridge web site at http://www.uk.research.att.com/vnc. In addition, various add-ons, extras, and ports to other platforms can be found on the contribs page.
I thought this was something to do with ORL? What's the Olivetti/Oracle link here?
In January 1999, AT&T acquired ORL, the Olivetti Research Laboratory founded 12 years earlier, and recently jointly funded by Oracle, to create AT&T Laboratories Cambridge.
I started the X server using vncserver, but it dies with a message "Could not open default font 'fixed'. "
The 'fixed' font is needed for the server to start - if it can't find it, you need to specify the correct font path for your machine in the 'vncserver' script. If you're not sure what the path should be, type 'xset q' from within a normal X session. One of the things reported is the font path used by your current X server, which is generally the right thing to use for Xvnc. On some platforms you may need to use a colon as a separator in the font path instead of a comma. If you're on a recent version of Linux but still using VNC version 3.3.1, you may have compressed fonts which VNC doesn't understand. Either upgrade or see the Old FAQ.
The VNC server can also get upset if you have directories on your font path which don't actually exist on your system. Make sure you remove those. Also note that older versions of the Xvnc server, by default, act as if they had a resolution of 100dpi. Some RedHat installations, for example, only install 75dpi fonts, so you may need to install the missing font RPMs from your distribution or use the -dpi option to Xvnc, or update to the latest version.
I get errors like "failed to bind listener" and "Failed to establish all listening sockets" in the log file.
This is probably due to the permissions on /tmp/.X11-unix. You may well see this if you update to Solaris 2.7 or Redhat 6.0, for example. See the section below entitled "Why can I only run vncserver/Xvnc as root?".
Vncserver seems to be dying quietly without putting any messages in the log file.
Check that the Xvnc process really has died. If so, then check that your VNC font path (set by uncommenting lines in the vncserver script) only includes directories which actually exist. The XFree86 code in older versions of Xvnc seems to have a problem which causes the server to die quietly if non-existent directories are searched. Upgrading to 3.3.3 or later should reduce these problems.
I connected to my Unix VNC server and I just see a grey desktop with a cursor.
After the vncserver script has started the Xvnc server, it then runs your ~/.vnc/xstartup script. By default this will try to start the twm window manager, but if twm isn't on your path, or if you prefer something else, you can edit xstartup. The log file may also give you clues about what is happening.
The log file is showing an error message from xrdb / Xlib.
By default, the first thing your xstartup script does is to run xrdb to load your resources. So if the Xvnc server has not started for any reason, the xrdb is often the first thing to notice it and print an error. (Though if you're getting a 'command not found' message, then xrdb is probably not on your path - you need to find where it is on your system and add it.)
If you get something like 'connection refused' or 'Can't connect: errno = 111', the Xvnc server probably isn't there. So you should check whether the Xvnc process is actually running, and whether there is anything earlier in the log file indicating why it might have died. By far the most common reason for the server not starting is that it can't find the 'fixed' font (see above). Other possibilities are that the server has quietly crashed, or that it is taking a very long time to start up. The vncserver script has a 3-second delay before running xstartup, but in extreme cases this may not be enough. Lastly, the DISPLAY variable used by vncserver is based on the results given by the 'uname - n' command. If your applications cannot resolve this to the right IP address, perhaps because of funny settings in /etc/hosts, then they won't be able to connect.
If you get a 'Client is not authorized to connect to Server' or similar message, there's something wrong with the X authority setup - perhaps xauth is not on your path? You could try using xhost to bypass this temporarily, but we wouldn't recomend this as a long-term solution. There should be some indication in the log file if xauth has failed.
The Java client doesn't work in my browser.
Several Java implementations have bugs which upset the VNC applet. Try pressing Reload. We've seen this problem on Netscape Navigator 3 and Internet Explorer 5. Note, too, that the Java applet often won't work if you are accessing the server via a web proxy. Make a direct connection if you can.
My viewer failed to connect to my server!
VNC relies on a correctly-configured and operational TCP/IP network, so please make 100% sure that your TCP/IP setup is right before you start asking questions on the mailing list. Here are some things you should check before assuming it's a VNC problem; consult your local expert if you don't know how to check them:

Running the programs

My X VNC server is working, but I don't see my normal environment. How can I change the Window manager etc?
The window manager is started by the ~/.vnc/xstartup script. We use twm, as this is available on almost all Unix platforms. Edit the script if you'd rather replace it with something else. On many platforms you can, as an alternative, just make xstartup a link to whatever script normally starts your X environment.

If you want to be more sophisticated, you can specify the -name option to vncserver, and then take different actions in the xstartup script based on the name given. For example:
case "$VNCDESKTOP" in
kde)
        startkde &
        ;;
*)
        xterm -geometry 40x10+40+40 -ls -title "$VNCDESKTOP Desktop" &
        twm &
        ;;
esac
Why can I only run vncserver/Xvnc as root?
The most likely reason for this is that Xvnc can't create the unix domain socket (the path for this unix domain socket is usually /tmp/.X11-unix/Xn). Try making sure that users can write to this directory by making it world-writable, i.e.

chmod 01777 /tmp/.X11-unix

An alternative is to set the Xvnc binary to have the same permissions as your normal X server, but this may be more of a security risk.
Can I remote the normal X display of my workstation (display :0) in the same way as the Windows server does?
It would be possible to add VNC support to a standard X server, so that it operated this way, but we have no plans to do so. It shouldn't be too difficult, if you have the full source code for your X server. Xvnc is basically XFree86 with the hardware-dependent bits taken out and VNC put in their place, so it doesn't have drivers for any graphics cards. You could have a look at the Xvnc source code to see which bits have been added to the standard XFree86, and make the equivalent changes on your X server.

We tend to run all our X sessions as VNC sessions and only use the local X server to run the viewer. It's very fast when on the same machine as the server! If you feel that it's overkill to run two X servers on the same machine, you might consider Ganesh Varadarajan's svgalib-based viewer, available from the contribs page.
What X Visual does Xvnc use?
By default, vncserver will start Xvnc with the same depth as the current X display, if there is one, or 8 bits deep if there isn't. We've tried to steer clear of colour maps as much as possible and normally use "true colour", even when there are only 8 bits per pixel.
Unfortunately some X applications don't cope too well with an 8 bit TrueColor visual. You can make Xvnc use the more normal PseudoColor visual by giving a "-cc 3" option to vncserver.
Can I cut and paste between the viewer and the server?
VNC supports copying and pasting of ASCII text in both directions, provided the viewer and server allow it. When the clipboard changes on the machine running the viewer, the changes are copied to the server and vice versa. Some notable exceptions:
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it
The code to do copying from the X server to the viewer didn't make it in the original version 3.3.2. It's back in 3.3.2R2 and later, so upgrade if you haven't already!
There's a memory leak in Xvnc!
This is fixed in versions 3.3.2r3 and later. If you're using an older distribution you can find a patch for it