These days I do most of my work in a RealVNC session on a remote Ubuntu workstation. This provides me with a consistent environment, regardless of whether I’m at work, a coffee shop, or at home. One major annoyance with the default configuration is that the screen resolution cannot be changed after the virtual desktop is started.
The key to getting around this problem is to provide RealVNC with a complete list of screen resolutions you would like to have available when starting RealVNC. For example, my
.vnc/config file contains
# Additional Resolutions -randr 800x600,1024x768,1280x800,1280x960,1280x1024,1344x756,1680x1050,1920x1080,1920x1200,3360x1050,1024x700,1200x740,1600x1000,3200x1000,1680x1020,768x1024
After restarting RealVNC, you can easily change the screen resolution using the
xrandr command. You can list screen resolutions by running
$ xrandr SZ: Pixels Physical Refresh 0 800 x 600 ( 203mm x 152mm ) 0 1 1024 x 768 ( 260mm x 195mm ) 0 2 1280 x 800 ( 325mm x 203mm ) 0 3 1280 x 960 ( 325mm x 244mm ) 0 4 1280 x 1024 ( 325mm x 260mm ) 0 5 1344 x 756 ( 341mm x 192mm ) 0 6 1680 x 1050 ( 427mm x 267mm ) 0 *7 1920 x 1080 ( 488mm x 274mm ) *0 8 1920 x 1200 ( 488mm x 305mm ) 0 9 3360 x 1050 ( 853mm x 267mm ) 0 10 1024 x 700 ( 260mm x 178mm ) 0 11 1200 x 740 ( 305mm x 188mm ) 0 12 1600 x 1000 ( 406mm x 254mm ) 0 13 3200 x 1000 ( 813mm x 254mm ) 0 14 1680 x 1020 ( 427mm x 259mm ) 0 15 768 x 1024 ( 195mm x 260mm ) 0 Current rotation - normal Current reflection - none Rotations possible - normal Reflections possible - none
To switch to a different resolution just run
xrandr -s <resolution>, where the resolution is either the item number, like
12, or resolution, like
Afterwards, especially in recent versions of Ubuntu (12.04 and later), you may find that the background Nautilus desktop didn’t get the memo that the screen resolution was changed. To work around this, it’s often easiest to quit and restart Nautilus:
$ nautilus -q; sleep 1; nautilus -n > /dev/null 2>&1 & disown %
If you find yourself doing this a lot, as I did, you may want to consider writing a little script to automate the task. I named my script
xres and have posted the source as a gist.