xRandr and dual screen
As always when you have to study an exam, you notice something on your computer that doesn’t work … Today was the easy way to connect an external display and use it to … hum … work.
As I don’t use fancy desktop environment, no gui tools are available. That’s not a problem, you just have to do it the easy way: Some obscure key bindings that will launch a script that will do what you wanted.
The program used for display “manipulations” is xrandr. Very useful, simple, does what it claims to do … and command line ! Perfect, let’s do our little script :
#!/bin/bash
RESOLUTION="800x600"
INTERNAL="LVDS1"
EXTERNAL="VGA1"
touch /tmp/xrandr
loop=`cat /tmp/xrandr`
case "$loop" in
vga_right)
xrandr --output $INTERNAL --auto --output $EXTERNAL --auto --left-of $INTERNAL
echo "vga_left" > /tmp/xrandr
;;
vga_left)
xrandr --output $INTERNAL --mode $RESOLUTION --output $EXTERNAL --mode $RESOLUTION --same-as $INTERNAL
echo "vga_double" > /tmp/xrandr
;;
vga_double)
xrandr --output $INTERNAL --auto --output $EXTERNAL --off
echo "vga_off" > /tmp/xrandr
;;
*)
xrandr --output $INTERNAL --auto --output $EXTERNAL --auto --right-of $INTERNAL
echo "vga_right" > /tmp/xrandr
;;
esac
To be able to use it, just modify the internal and external display name. You can find them just by typing:
$ xrandx -q
</pre>
The output should tell you the names:
<pre>
Screen 0: minimum 320 x 200, current 2880 x 1200, maximum 8192 x 8192
VGA1 connected 1600x1200+1280+0 (normal left inverted right x axis y axis) 408mm x 306mm
1600x1200 60.0*+
1280x1024 75.0 60.0
[...]
LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 286mm x 179mm
1280x800 59.9*+
1024x768 85.0 75.0 70.1 60.0
[...]
TV1 disconnected (normal left inverted right x axis y axis)