At my office I have two computers: a Linux desktop and a laptop running Linux and Windows. I have a dock station for the laptop, plugged to the two screens that I also use with the desktop computer, in alternate inputs (DVI/VGA). Changing the inputs in these screens is a bit of a hassle, because they are not the “one-click-switch” type. I need to go into the menus and browse through the options.
As I have enough with changing the USB connectors for the mouse and the keyboard, I found out a “hack” to disable the video output of the desktop. This way, when I turn on the laptop the two screens automatically search for the next available input.
The trick consists in using FrameBuffer suspend mode, manipulating the contents of /sys/class/graphics/fb0/blank. I use these two scripts:
echo 0 > /sys/class/graphics/fb0/blank
echo 1 > /sys/class/graphics/fb0/blank
I left them in my home directory: /home/user/bin/
Since writing to /sys/class/graphics/fb0/blank requires root permissions, I edited /etc/sudoers and added the following two lines:
usuario ALL=(root) NOPASSWD: /home/usuario/bin/screen_off.sh
usuario ALL=(root) NOPASSWD: /home/usuario/bin/screen_on.sh
The last step is to add two key bindings in KDE:
- Create a new group, named “Screen”.
- Create two new bindings: “On” y “Off”.
- I assigned two keys I never used in my keyboard (this one has multiple media shortcuts, mail, home, etc.). You can also use combinations such as “Ctrl+Alt+whatever“.
- In “Action”, just enter the path to the scripts using sudo::
This is working in Debian Wheezy with a dedicated graphics card.