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

14

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á conforme as configurações do usuário; no entanto, quando ninguém estiver logado, a tela permanecerá ligada para sempre.

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

atualizado em 02/06/2014: As configurações mostradas sudo -H -u lightdm dbus-launch --exit-with-session gsettings list-recursively org.gnome.settings-daemon.plugins.powersã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 sleep-inactive-ac-timeout 120que teria sido a entrada correta, mas não atingirá o tempo limite, a menos que eu esteja logado como usuário.

Scottie
fonte
OK - as pessoas marcaram isso como uma repetição, mas a solução sugerida não funciona para mim. Parece que não tenho as mesmas configurações listadas e as da resolução sugerida e as definidas para a conta lightdm correspondem diretamente às minhas, mas ainda assim a tela não atinge o tempo limite quando não está logado como usuário. Alguma outra idéia sobre o que está acontecendo?
Scottie
2
Você pode adicionar qual versão do Ubuntu e que edição distro / desktop você está usando.
Mateo
você já olhou laptop-mode-toolsou TLP? O primeiro aciona as opções de economia de energia pré-compiladas e adiciona um arquivo .conf para gerenciá-lo, o segundo é um aplicativo de terceiros que eu uso e funciona muito bem (o arquivo .conf é muito bem explicado)
MrVaykadji

Respostas:

4

Este é um erro confirmado:

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

Enfim, encontrei a seguinte solução alternativa ( comentário nº 33 relacionado ao bug nº 1245474 ) que funciona para mim:

[...] adicionei um script para lidar com o desligamento dos tempos limite do X dpms quando o usuário faz 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

Verifique se o acima é de propriedade da raiz. O mais fácil é criá-lo com o sudoedit.

A seguir estão os dois scripts. Eles precisam pertencer ao root e tornar executáveis ​​( 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 
) &

Dado o exposto, o monitor é desligado na tela de login e os tempos limite do dpms são definidos como zero para uma sessão do usuário, para que o protetor de tela funcione corretamente.

Radu Rădeanu
fonte
Não tenho certeza se é possível esclarecer por que isso agora não está funcionando após a atualização para o 14.04. Obviamente, a tela de bloqueio agora é diferente, então eu suspeito que o acima não funciona mais. Ideias?
Scottie
Isso não está funcionando no Ubuntu 16.10 (lightdm + openbox).
Xdg
1

Eu criei um arquivo no /etc/lightdm/lightdm.conf.d/nomeado 50-dpms.conf.

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

O arquivo dpms-start é um script que permite ao usuário lightdmativar 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-startpara torná-lo executável. No Ubuntu 14.04, eu uso isso com o Unity e o Cinnamon e o Unity-Greeter para a tela de bloqueio. 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.

Roubar
fonte
O script acima parece ter erros de sintaxe, você poderia corrigi-lo?
Kennedy 24/04