xstartup: it runs an icewm session, Azureus, and K3B. For Gnome, try running "gnome-session", and for KDE, try "startkde". Copy the following into /etc/init.d/vncserver . The easiest way to do it is to copy it to your clipboard, run sudo -i && cat &gt; /etc/init.d/vncserver && exit in a terminal, paste it in, and type CTRL-D . Be sure to change the USER variable to whatever user you want the VNC server to run under. Then, run sudo update-rc.d vncserver defaults . This adds the appropriate symlinks to the vncserver script so that it is sent the start and stop commands at the appropriate time. Update: jpb writes that you may need to use sudo update-rc.d vncserver 99 instead if the job is running too early in the boot process. To start the server without rebooting, run sudo /etc/init.d/vncserver start Finally, connect to your server with a VNC client on port 590X, where X is the value of "DISPLAY" in the vncserver script. On OS X, I like to use Chicken of the VNC . On Windows and Linux, the TightVNC client works nicely. Of course, this script should work as expected on any Debian-based distribution. If you have problems with performance, try lowering the screen resolution. 800x600 is much faster than 1024x768 over slow connections. Does your blog have a contact page? I'm having trouble locating it but, I'd like to shoot you an e-mail. I've got some creative ideas for your blog you might be interested in hearing.