Comment 33 for bug 1245474

Revision history for this message
Ted Felix (tedfelix) wrote :

Thanks, Eugene. Your solution works for me as well.

To complete this workaround, I've added a script to handle turning off the X dpms timeouts when the user logs in. Here are the three files that I've created. First, the config file:

/etc/lightdm/lightdm.conf.d/50-dpms.conf
--- cut here -------------
[SeatDefaults]
display-setup-script=/etc/lightdm/dpms-enable
session-setup-script=/etc/lightdm/dpms-disable
--- cut here -------------

Make sure the above is owned by root. Easiest is to create it with sudoedit.

Next are the two scripts. These need to be owned by root and made executable (chmod +x).

/etc/lightdm/dpms-enable
--- cut here -------------
#!/bin/sh

(
    # This delay is required. Might be because the X server isn't
    # started yet.
    sleep 10

    # Set up a 5 minute timeout before powering off the display.
    xset dpms 0 0 300
) &
--- cut here -------------

/etc/lightdm/dpms-disable
--- cut here -------------
#!/bin/sh

(
    # This delay is required. Might be because the X server isn't
    # started yet.
    sleep 10

    # Turn off X's handling of dpms timeout. Otherwise
    # gnome-settings-daemon and gnome-screensaver will fight over it.
    xset dpms 0 0 0
) &
--- cut here -------------

Given the above, I get monitor power-down at the login screen, and the dpms timeouts are set to zero for a user session, so the screensaver works properly.

Is this the right solution? I'm not sure. So far, I've been unable to track down how 13.04 did this without config files and scripts. It would be nice to have that for comparison.