Real VNC server 4.4 includes support for Xrandr, which allows resizing the VNC. Start the server with:
vncserver -geometry 1600×1200 -randr 1600×1200,1440×900,1024×768
Then resize with:
xrandr -s 1600×1200
xrandr -s 1440×900
xrandr -s 1024×768
Found out that the vnc4server (4.1.1) shipped with Ubuntu (10.04) is patched to also support changing the resolution on the fly via xrandr. Unfortunately the feature was hard to find because it is undocumented. So here it is…
Start the server with multiple ‘geometry’ instances, like:
vnc4server -geometry 1280×1024 -geometry 800×600
From a terminal in a vncviewer (with: ‘allow dymanic desktop resizing’ enabled) use xrandr to view the available modes:
xrandr
to change the resulution, for example use:
xrandr -s 800×600
Thats it.