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.