Display Power Management Signaling

From ArchWiki
Revision as of 14:14, 29 July 2010 by AskApache (Talk | contribs) (Added section to turn off dpms in console with setterm)

Jump to: navigation, search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n links end

DPMS (Display Power Management Signaling) is a technology that allows power saving behaviour of monitors when the computer is not in use.

Setting up DPMS in X

Add the following to your /etc/X11/xorg.conf in the Monitor section:

Option "DPMS" "true"

Add the following to the ServerLayout section, change the times (in minutes) as necessary:

Option "StandbyTime" "10"
Option "SuspendTime" "20"
Option "OffTime" "30"

Note: If the "OffTime" option does not work replace it with the following, (change the "blanktime" to "0" to disable screen blanking)

Option         "BlankTime" "30"

DPMS Interaction using xset

It is possible to turn off your monitor using the xset tool.

xset dpms force standby

puts the screen(s) into standby,

xset dpms force suspend

makes them to suspend and

xset dpms force off

turns them off immediately. If you leave your computer, you don't need to wait for the timeout you set that the display turns off. Simply enfoce it by using the xset command.

Note that you may need to prefix the command with sleep 1; for it to work correctly. For example,

sleep 1; xset dpms force off

You could also copy this script: Template:File

Make it executable (chmod u+x /usr/local/bin/display.sh) and just run display.sh off. For the latter to work you need to include /usr/local/bin into your path, otherwise you have to execute it with the whole path:

# With /usr/local/bin in your PATH
display.sh suspend

# Without /usr/local/bin in your PATH
/usr/local/bin/display.sh standby

Disable DPMS and prevent screen from turning off (thanks damir)

Useful when watching movies or slideshows:

The first command turns off DPMS

xset -dpms

This one disables screen saver blanking:

xset s off

Prevent screen from turning off (in console)

The setterm utility issues terminal recognized escape codes to alter the terminal. Essentially it just echos the terminal sequence to the current terminal device, whether that be in screen, a remote ssh terminal, console mode, serial consoles, etc.

$ setterm -blank 0 -powerdown 0

Pipe the output to a cat to see the escapes

$ setterm -powerdown 2>&1 | exec cat -v 2>&1 | sed "s/\\^\\[/\\\\033/g"

Pipe the escapes to any tty (with write/append perms) to modify that terminal

$ setterm -powerdown 0 > /dev/tty3
$ for TTYNUM in {0..256}; do setterm -powerdown 0 >> $TTYNUM; done

External Resources