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.
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.
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
Just to add more options... You can run
xrandr --output <DISPLAY_NAME> --brightness 0
To determine your display name, simply run
xrandr. 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
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.
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.
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
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.