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
:
$ 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 1600x1000
.
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.