60

Can I turn off my laptop monitor manually and instantly with just a click or a simple terminal command? I just want to turn off my monitor not locking my machine. There is no dedicated turn off monitor button on my machine.

6 Answers 6

74

You can by using the preferences command for X server (http://systembash.com/content/how-to-turn-off-your-monitor-via-command-line-in-ubuntu/)

  • To turn off the monitor $ xset dpms force off
  • To turn on the monitor $ xset dpms force on

Pressing a key or moving the mouse will also switch the monitor on if it has been turned off. You can assign the command to a key if you like using shortcuts.

11
  • 1
    It works, thanks.. I'm just wondering, can I make it to slowly fade off just like when my computer about to sleep?
    – Nur
    Feb 12, 2013 at 17:25
  • 4
    Is there a way to use this commant with locking my screen? When I lock my screen my monitors don't turn off, just go black. I want to save power by turning them off while also locking my session. Any ideas?
    – Felipe
    Sep 18, 2013 at 19:15
  • 3
    +1; Just a note that this solution isn't unity specific and you can happily use it on any DE.
    – mreq
    Oct 29, 2013 at 13:07
  • 4
    xset dpms force standby seems to be more reliable and doesn't need the sleep 1 ; xset dpms force off trick. Sep 17, 2015 at 3:59
  • 1
    Is there any way to apply this only one of two screens? I have multiple displays setup and would like to turn off only one of them e.g. when I watch a movie…
    – edison23
    Mar 22, 2019 at 13:59
27

To add on to the other answer, I found that when I entered xset dpms force off and pressed the Enter key, my screen would turn off and turn on again. By running the command below, I was able to get the screen to turn off without turning on.

sleep 3; xset dpms force off
5
  • 1
    Much better ! The plain way is not reliable (on Kubuntu). Sep 17, 2015 at 3:54
  • 1
    Does not work in 16.04
    – Darkside
    Aug 28, 2016 at 16:01
  • 2
    @darkside on ubuntu 16.04 it works
    – IC_
    Oct 23, 2017 at 2:03
  • This method should work everywhere since DPMS or Display Power Management System has appeared in 1993 and by now is integral part of X. If it doesn't work, that probably means there's hardware issue, or some really serious bug. Apr 19, 2018 at 7:55
  • On Ubuntu 18.04.1 it works. Without the 'sleep 3;', the screen turns off and then on again. Jan 14, 2019 at 14:07
8
+50

Just to add more options... You can run

xrandr --output <DISPLAY_NAME> --brightness 0

To determine your display name, simply runxrandr. It will provide you with information on connected displays, so you can actually turn on and off any of them

Beware though, after running this command, you won't be able to turn your screen on by moving your mouse or using a keyboard. You will have to either use second monitor or blindly type

xrandr --output <DISPLAY_NAME> --brightness 1

So, X RandR provides you with better control over your screens, but it does what it does. It can also be used for other things, like changing resolution, orientation, rate, etc. It is also very easy to run it inside scripts. If you want, you can write a script to make your screen nicely fade to black. Brightness parameter can take fractions

More on X RandR

Example of X RandR script, bind to Fn keys

2
  • 1
    Note that --brightness option doesn't actually affect hardware, it only colorizes screen in such way that it becomes dark. Quote from the manual on --brightness option: However, this is a software only modification, if your hardware has support to actually change the brightness, you will probably prefer to use xbacklight. Dec 6, 2017 at 19:13
  • That's also true Mar 15, 2018 at 14:03
1

In Ubuntu 18.04, dpms not working properly with GNOME Wayland

$ xset -q

DPMS (Energy Star):
Display is not capable of DPMS

You can try the command below,
to turn off monitor:

busctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode i 1

To turn on monitor:

busctl --user set-property org.gnome.Mutter.DisplayConfig /org/gnome/Mutter/DisplayConfig org.gnome.Mutter.DisplayConfig PowerSaveMode i 0

It works for me.

(Source)

0

I found the xset dpms force off command works well. However, when assigning a hot key to this command, I ran into trouble: my screen would turn off and back on again.

I found the reason for this was the hot key combo I was using for no particular reason. I discovered the hot key combo "Mod2+Mod4+Super+Hyper+Left shift" assigned to the xset dpms force off command turns the screen off and the screen will not turn on again until a key is pressed or the mouse is used. Exactly what I wanted! That hot key combo is simply the Super (Windows key) used in conjunction with the left shift key. I'm running Ubuntu 16.04 and this is working on my systems.

0

To add to the accepted answer:

If you want to do this remotely over an SSH session, you’ll need to specify the DISPLAY number, e.g.,

DISPLAY=:1 xset dpms force off

If you want to do it for the login screen,

sudo -u gdm env XAUTHORITY=/run/user/$(id -u gdm)/gdm/Xauthority DISPLAY=:0 xset dpms force off

Without the XAUTHORITY bit you’ll get the mysterious error

No protocol specified
xset:  unable to open display ":0"

How did I find that?

In general, if some program is using the display, you can figure out how it’s talking to the display server by looking at its environment variables:

$ ps aux | grep gd[m]
…
gdm         1643  0.1  0.2 3784328 164396 tty1   Sl+  08:59   0:01 /usr/bin/gnome-shell
…
$ sudo cat /proc/1643/environ | tr '\0' '\n'
…
DISPLAY=:0
…
XAUTHORITY=/run/user/126/gdm/Xauthority
…

I happened to recognize these specific environment variables as critical, but in a pinch you could use binary search to narrow down the relevant ones. Try running xset with all the environment variables copied over, and if that works, comment out half of them to see if it still works without, and so on.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .