15

I'm using Raspbmc. I'd like the display to actually go to sleep (not simply just screensaver) after 15 minutes, but I can't seem to find any option for that in the settings. Am I missing something?

1
  • 3
    There are many people in the same boat. raspberrypi.org/phpBB3/viewtopic.php?t=13801 They discuss this issue in detail, and have several fixes. They use the tvservice command, with some work arounds. Have a look, hope it helps.
    – Impulss
    Commented Jan 22, 2013 at 4:20

4 Answers 4

5

There is an undocumented option in /boot/config.txt that might help you:

hdmi_blanking=1

Tried and tested under Raspbian "Jessie" (not Raspbmc). The display goes to sleep after about 10 minutes of inactivity. Source: https://github.com/raspberrypi/linux/issues/487

[Note that the Pi itself cannot sleep like grown-up PC-s do.]

Edit: Turns out that this trick does not work on more modern versions of the Pi hardware, such as the RPi 4. Similarly, new releases of various Pi OS-es may behave differently. Thanks to Dmitry Grigoryev for pointing this out. My answer is valid for old hardware (I tested it on the RPi 2) and old software such as Raspbian "Jessie".

11
  • 1
    @DmitryGrigoryev Thank you for the clarification. May I call your attention to the fact that I provided this answer in 2015, i.e. 4 years ago. Hardware and software change rapidly, and I do believe you that this option does not work with an RPi4, or even with an RPi3, or with newer OS releases, but still... it would have been much friendlier if you had just added this information instead of downvoting an answer which was definitely correct at the time when I provided it. Commented Oct 22, 2019 at 13:05
  • 1
    That's the problem with catch-all questions which have no RPi model tag: there's no way to know if the answer will work, while asking a new question on the same topic will typically result in a close vote. I won't be able to undo my downvote unless you edit your answer, which IMO is a good opportunity to tell on which hardware you did this. Commented Oct 22, 2019 at 13:15
  • 1
    As an independent observer, I abhor downvotes without comments and I have empathy for Answer posters who fail to, as you put it, properly caveat their answers with a matrix of Pi models they tested their answer on to future-proof it 4 years into the future. If you feel strongly about this, perhaps engage the SE committees rather than using the system against itself? Commented Mar 12, 2020 at 12:28
  • 1
    This solution worked perfectly for me on a RPi 3B with Raspbian GNU/Linux 10 (buster). Commented Apr 23, 2020 at 13:33
  • 1
    @DmitryGrigoryev With me, when I see correct answers downvoted without any comment, I see that as damage. We should strive to be constructive, which was my perspective on how the system should work. Commented Dec 8, 2020 at 20:32
2

Case 1 : for x11 with no auto start X

$ vim ~/.xinitrc

xset s off # don't activate screensaver
xset -dpms # disable DPMS (Energy Star) features.
xset s noblank # don't blank the video device

Case 2 : for X11 with auto start X

Follow the instructions for Case 1, then

$ vim /etc/lightdm/lightdm.conf

[SeatDefaults]
xserver-command=X -s 0 -dpms

cd ~/.config
mkdir autostart
cd autostart
vim screensaver.desktop

[Desktop Entry]
Type=Application
Exec=/home/pi/.xinitrc

Case 3 : bash without X

$ sudo vim /etc/kbd/config

BLANK_TIME=0
POWERDOWN_TIME=0

$ sudo /etc/init.d/kbd restart
2
  • 1
    Hey @Gilles, welcome to RPi.SE. Great answer. It would be even better if you could add a link to your references and/or add some commentary to help beginners along the way. Commented Aug 30, 2013 at 7:14
  • 1
    This just disables the screensaver entirely. How do you set X to use a screensaver after a specific amount of time?
    – Macil
    Commented Feb 27, 2015 at 7:49
1

Update: now that DPMS issue is resolved, it is sufficient to set

xset dpms 900 0 0

on the command line (900 is 15 minutes in seconds) or

Section "ServerFlags"
    Option "StandbyTime" "15"
EndSection

in xorg.conf

Before DPMS was working properly on the Pi 4, I used to install xautolock which runs an arbitrary command as a screen locker. For instance, mine looks like this:

tvservice -o
DISPLAY=:0 xev -geometry 1900x1200 | stdbuf -o0 grep Motion >&-
tvservice -e "CEA 4"

The first line shuts down HDMI signal, making the TV go to sleep. The second line starts the "X event" tool in a window which is bigger than the screen, and waits until "Motion" is reported, that is, when the user moves the mouse inside the window (which is anywhere on the screen). Finally, the third line sets the HDMI mode back to the one I use, which is 1280x720.

xautolock itself is started from lxsession/LXDE-pi/autostart with:

xautolock -time 10 -corners +--- -cornerdelay 5 -noclose -locker bcmsaver

This means that the screen will be locked after 10 minutes, or after 5 seconds if the mouse pointer is "parked" in the top left corner. bcmsaver is the name of locker script above. Depending on how you run xautolock, you may need to specify the full path to the locker script, and use an & to send xautolock to the background.

0

In order to "ENABLE" power management options on Raspbian

GUI version:

sudo apt-get install xscreensaver

(might take a while to install)

You then find the screensaver application in Start > Preferences

Select the first tab Display Modes

Set Mode to "Blank Screen Only"

Set Blank After to "15" minutes"

Select the second tab Advanced

Enable Quick Power-Off in Blank Only Mode

I would recommend to leave Quick Power-Off in Blank Only Mode values for "Standby After, Suspend After and Off After" as default

Please note, that the screensaver daemon might not autostart on reboot

1
  • I just tried xscreensaver and it's not capable to do anything besides screen blanking. Commented Sep 22, 2019 at 22:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.