VNC – Compression – Quality – The Works
X11vnc is the tool of choice!! You have view, and control of the actual desktop that the vnc server is running on. If multiple clients log into the machine a regular vnc server may be more applicable, but if you are running a server, and require direct interaction with the desktop from a remote location X11vnc is the way to go. There are two things to configure. How X11vnc runs, and how the client connects. I use xtightvncviewer for a client. To install X11vnc use:
sudo apt-get install x11vnc
Since I am on a 1280×800 monitor, I want to reduce the size of my vnc windows. This is done when launching X11vnc. Also I want X11vnc to stay alive after I close a connection, so I can reconnect at a later time. Also I want X11vnc to run in the background to avoid a terminal window having to remain open. I also threw in a no shm command to avoid shell process issues, which caused X11vnc not to launch on my machine. Overall my X11vnc startup command is the following: x11vnc -noshm -scale 7/10 -many -background Now onto xtightvncviewer. There are many configuration for the viewer. I have tailored my configuration for optimal resolution, and optimal compression. The net result is a relatively high quality screen, with maximize responsiveness! Here ya go:
xtightvncviewer -compresslevel 9 -quality 9 -x11cursor -nocursorshape -encodings Tight localhost
Notice that I am connecting to the localhost. You can probably guess that I have an ssh tunnel configured
Also notice that I am operating at a quality of 9, which is nicely compensated for with the Tight encoding. Nocursorshape improves responsiveness ever so slightly, and x11cursor makes the cursor purty.

March 11, 2008 - 9:31 pm
What exactly does the -noshm solve? Normally that is only needed in very rare situations.
March 11, 2008 - 9:50 pm
Yes, my rare situation was X11vnc was not starting. I added the option and it started successfully.
March 13, 2008 - 8:47 am
Are you running x11vnc on the same machine as the X session is running on? i.e. x11vnc -display :0. The only time I know of that -noshm is needed is if they are on different computers.
There will be a big performance hit having them on different computers because x11vnc will be polling the screen over the network instead of over the local hardware.
March 13, 2008 - 11:03 am
X11vnc is on the same machine as the X session. It probably would work without -noshm if I rebooted the server, but I didn’t want to reboot at the time, so I just threw it in and it worked.