My guacamole server then connects to x11vnc so I still get RDP-like performance across the internet.
Edit: you'll also want to make an Upstart job for x11vnc so that it starts on boot, and restarts if (when) it dies. You can just copy any of the basic upstart jobs in /etc/init.d/*.conf and investigate. You also may want to make x11vnc start after your X server: http://upstart.ubuntu.com/cookbook/#run-a-job-before-another...
There is a lot of fiddly business :/