30

Is there a way to turn off the display (enter power saving mode) using a command?

For example, when the computer is inactive for a specific interval, the screen turns off to conserve energy. Is there a way to manually turn off the screen, yet keep the computer running normally?

This is a notebook, so there's no 'power-off' button on the monitor itself.

Nathan Osman
  • 32,495

7 Answers7

43

I think you are looking for

xset dpms force off

However, you need to make sure that your acpi is enabled. You can check this with

cat /proc/acpi/info

Another option could be

setterm -powersave powerdown
txwikinger
  • 29,406
7

I'm running Ubuntu Server without X on a 2007 MacBook Pro. The display is sleeping by itself but won't reactivate when a key is pressed on the keyboard. At this point my fix is to use vbetool. Install using apt-get:

sudo apt-get install vbetool

Then use to turn display on via SSH from a different machine:

sudo vbetool dpms on

Or off:

sudo vbetool dpms off
3

I have made a unity launcher to turn off the LCD

sudo apt-get install --no-install-recommends gnome-panel

gnome-desktop-item-edit ~/Desktop/ --create-new

It will open a small windows. Enter the following:

Name: turnofflcd

Command: gnome-screensaver-command --lock && sleep 2s && xset dpms force off

You can also choose an icon by clicking the icon on the left .

For more on making launcher see http://www.ubuntugeek.com/how-to-create-desktop-launchers-in-ubuntu-11-10oneiric.html.

1
(sleep 10; xset dpms force suspend) & xdg-screensaver lock

This starts the screen saver in locked mode and then puts your display in standby. Ubuntu Mate 15.10

wjandrea
  • 14,504
blazedego
  • 171
1

xset dpms force off worked only for 5 seconds.

I searched the internet and found the following script, and after a small change it worked perfectly.

#!/usr/bin/python
import time
import subprocess
from Xlib import X
from Xlib.display import Display
display = Display(':0')
root = display.screen().root
root.grab_pointer(True,
       X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask,
       X.GrabModeAsync, X.GrabModeAsync, 0, 0, X.CurrentTime)
root.grab_keyboard(True,
       X.GrabModeAsync, X.GrabModeAsync, X.CurrentTime)
subprocess.call('xset dpms force off'.split())
#original
#p = subprocess.Popen('gnome-screensaver-command -a'.split())
#changed
p = subprocess.Popen('xset dpms force off'.split())
time.sleep(1)
while True:
   print display.next_event()
   p.terminate()
   break
derHugo
  • 3,376
  • 5
  • 34
  • 52
Mario
  • 11
0

I know that xscreensaver is not exactly blank screen, but may be of some help:

xscreensaver-command -activate  

or via ssh

DISPLAY=:0 xscreensaver-command -activate

The same way deactivate:

DISPLAY=:0 xscreensaver-command -deactivate

or

export DISPLAY=:0 
xscreensaver-command -activate
xscreensaver-command -deactivate

Enter password after xscreensaver via ssh:

DISPLAY=:0 xdotool type Ctrl # wake up from screensaver
   or: DISPLAY=:0 xdotool click 1 
DISPLAY=:0 xdotool type "passwordovich"
DISPLAY=:0 xdotool type Return # Enter 
xerostomus
  • 1,060
0

If everything else fails:

gsettings set org.gnome.desktop.session idle-delay 30

... and then wait 30 seconds :-(

Note you must be logged in.

PS: values below 30 seconds seem silently bumped to 30 seconds?

MarcH
  • 121