Como controlar as preferências de economia de energia do LightDM?

13

Eu quero que o lightdm entre na economia de energia após um período específico de tempo. Se eu estiver logado, minha tela expirará de acordo com as configurações do usuário, no entanto, quando ninguém estiver logado, a tela permanecerá ativa para sempre.

Eu olhei algumas postagens que fazem algumas sugestões sobre o que fazer, mas nenhuma delas parece funcionar ou está no meu conhecimento limitado do Linux.

atualizado em 6/2/2014: as configurações mostradas por sudo -H -u lightdm dbus-launch --exit-with-session gsettings list-recursively org.gnome.settings-daemon.plugins.power são as seguintes:

org.gnome.settings-daemon.plugins.power active true
org.gnome.settings-daemon.plugins.power button-hibernate 'hibernate'
org.gnome.settings-daemon.plugins.power button-power 'interactive'
org.gnome.settings-daemon.plugins.power button-sleep 'suspend'
org.gnome.settings-daemon.plugins.power button-suspend 'suspend'
org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'
org.gnome.settings-daemon.plugins.power idle-brightness 30    
org.gnome.settings-daemon.plugins.power idle-dim true    
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'suspend'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'suspend' 
org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor false    
org.gnome.settings-daemon.plugins.power notify-perhaps-recall true    
org.gnome.settings-daemon.plugins.power percentage-action 2    
org.gnome.settings-daemon.plugins.power percentage-critical 3    
org.gnome.settings-daemon.plugins.power percentage-low 10    
org.gnome.settings-daemon.plugins.power priority 0    
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 120    
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend' 
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0    
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend' 
org.gnome.settings-daemon.plugins.power time-action 120    
org.gnome.settings-daemon.plugins.power time-critical 300    
org.gnome.settings-daemon.plugins.power time-low 1200    
org.gnome.settings-daemon.plugins.power use-time-for-policy true

Eu teria assumido que o sleep-inactive-ac-timeout 120 teria sido a entrada correta, mas não o tempo limite a menos que eu esteja realmente conectado como usuário.

    
por Scottie 11.01.2014 / 12:05

2 respostas

4

Este é um bug confirmado:

E bugs, geralmente, estão fora do tópico aqui .

De qualquer forma, encontrei a seguinte solução alternativa ( comment # 33 relacionada para o bug # 1245474 ) que funciona para mim:

  

[...] eu adicionei um script para lidar com o desligamento dos tempos limite de X dpms quando o   usuário faz o login. Aqui estão os três arquivos que eu criei. Primeiro, o   arquivo de configuração:

     

/etc/lightdm/lightdm.conf.d/50-dpms.conf

[SeatDefaults] 
display-setup-script=/etc/lightdm/dpms-enable
session-setup-script=/etc/lightdm/dpms-disable
     

Certifique-se de que o item acima seja de propriedade de root. O mais fácil é criá-lo com   sudoedit.

     

Em seguida, estão os dois scripts. Estes precisam ser possuídos pela raiz e feitos   executável ( chmod +x ).

     

/ etc / lightdm / dpms-enable

#!/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 
) &
     

/ etc / lightdm / dpms-disable

#!/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 
) &
     

Diante do exposto, consigo o desligamento do monitor na tela de login e   Os tempos limite de dpms são definidos como zero para uma sessão do usuário, portanto, o protetor de tela   funciona corretamente.

    
por Radu Rădeanu 23.02.2014 / 09:13
1

Eu criei um arquivo em /etc/lightdm/lightdm.conf.d/ chamado 50-dpms.conf .

[SeatDefaults]
display-setup-script=/usr/local/bin/dpms-start

O arquivo dpms-start é um script que permite ao usuário lightdm ativar o dpms.

#!/bin/sh
sudo xhost +si:localuser:lightdm # creates a user 'lightdm'
sudo su lightdm -s /bin/bash <<HERE # lightdm starts dpms from HERE
/usr/bin/xset +dpms
exit
HERE # and stops at this HERE

Certifique-se de digitar sudo chmod +x /etc/lightdm/lightdm.conf.d/dpms-start para torná-lo executável. No Ubuntu 14.04 eu uso isso com Unity e Cinnamon e Unity-Greeter para tela de bloqueio. Eu não uso o Synergy para vários monitores no lightdm. Outra maneira seria adicionar root ao grupo lightdm em / etc / group. Isso eliminaria a necessidade de criar o usuário lightdm no dpms-start.

    
por Rob 31.10.2014 / 03:20