8.18. Customizing the Remote VNC Desktop

The default VNC remote desktop on Linux is little better than a plain vanilla SSH session—all you get is some barebones window manager like TWM or Metacity, and an Xterm. How do you get the window manager or desktop of your choice?

Edit your ~/.vnc/xstartup file on the server. This is the default:

	#!/bin/sh
	xrdb $HOME/.Xresources
	xsetroot -solid grey
	x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
	x-window-manager &

If there is no ~/.Xresources file, comment that line out.

Simply replace -window-manager with the startup command for the window manager of your choice, like this:

	icewm &

Whenever you make changes in this file, you need to stop and restart the server:

	$ tightvncserver -kill :1
	$ tightvncserver

Then, log in again from your remote PC.

Table 8-1 lists some startup commands for various window managers, which must be installed on the server if you want to use them.

Check the logfiles in ~/.vnx first if you have problems making this work.

You'll find all sorts of misinformation on the Internet about how to do this. The VNC documentation isn't exactly helpful, either. Which is too bad, because customizing your remote environment is easy. All you do is edit the ~/.vnc/xstartup file, as this example shows:

	#!/bin/sh
	xsetroot -gray
	kwrite &
	konqueror &
	icewm &

xsetroot sets the background color of your window manager.

List any applications you want to start automatically, one per line, and be sure to end each line with the & operator. If you don't, your apps will be locked in place and nothing will work. The & operator tells Bash to continue parsing each line; otherwise, it stops and waits for the first command to complete before proceeding.