I just spent a few hours getting the free version RealVNC working in Ubuntu 13.04 Raring Ringtail (Beta 2). Here are the steps that I needed to take:
- Disable the X Server Render extension. Copy
/etc/vnc/configto/etc/vnc/config.customand add-extension RENDER
- Create a custom
xstartupfile. Copy/etc/vnc/xstartupto/etc/vnc/xstartup.customand make the following changes:- Remove the line
[ -x /etc/vnc/xstartup.custom ] && exec /etc/vnc/xstartup.custom
- Add
"gnome-fallback"to the list of valid sessions by replacingfor SESSION in "ubuntu-2d" "2d-gnome"; do
with
for SESSION in "ubuntu-2d" "2d-gnome" "gnome-fallback"; do
- Add to the top of the file:
unset XDG_RUNTIME_DIR
- Remove the line
I found it necessary to unset XDG_RUNTIME_DIR because I could not figure out a way to guarantee the directory it points to actually exists. When the directory did not exist I experienced 100% CPU utilization bugs in indicator-datetime-service and gnome-settings-daemon.
Briefly, the XDG_RUNTIME_DIR variable and directory that it points to are managed by a PAM module in libpam-xdg-support. When jsmith logs in over SSH, the PAM module creates a directory /run/users/jsmith and increments a session count stored in /run/users/.jsmith.lock. When jsmith later logs out, the session count is decremented. When the session count reaches zero the directory is deleted. Since RealVNC does not appear to use the PAM session machinery, there is no way to guarantee that the session count remains positive if only a VNC session is active.