Comment contrôler les préférences d'économie d'énergie LightDM?

14

Je veux que lightdm passe en mode économie d'énergie après une période de temps spécifique. Si je suis connecté, mon écran expirera conformément aux paramètres utilisateur, mais si personne n'est connecté, l'écran restera allumé pour toujours.

J'ai regardé certains articles qui font des suggestions sur ce qu'il faut faire, mais aucun d'entre eux ne semble fonctionner ou c'est dû à ma connaissance limitée de Linux.

mise à jour 6/2/2014: Les paramètres indiqués par sudo -H -u lightdm dbus-launch --exit-with-session gsettings list-recursively org.gnome.settings-daemon.plugins.powersont les suivants:

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

J'aurais supposé que l' sleep-inactive-ac-timeout 120entrée aurait été correcte, mais elle n'expire pas sauf si je suis réellement connecté en tant qu'utilisateur.

Scottie
la source
OK - les gens ont marqué cela comme une répétition, mais la solution suggérée ne fonctionne pas du tout pour moi. Je ne semble pas avoir les mêmes paramètres répertoriés et ceux de la résolution suggérée et ceux qui sont définis pour le compte lightdm correspondent directement au mien, mais l'écran ne s'éteint pas lorsqu'il n'est pas connecté en tant qu'utilisateur. Avez-vous d'autres idées sur ce qui se passe?
Scottie
2
Pouvez-vous ajouter quelle version d'Ubuntu et quelle distribution / édition de bureau vous utilisez.
Mateo
avez-vous regardé laptop-mode-toolsou TLP? Le premier déclenche les options d'économie d'énergie de pré-construction et ajoute un fichier .conf pour le gérer, le second est une application tierce que j'utilise et fonctionne très bien (le fichier .conf est très bien expliqué)
MrVaykadji
Bogue
+

Réponses:

4

Ceci est un bug confirmé:

Et les bogues, généralement, sont hors sujet ici .

Quoi qu'il en soit, j'ai trouvé la solution de contournement suivante ( commentaire # 33 lié au bogue # 1245474 ) qui fonctionne pour moi:

[...] J'ai ajouté un script pour gérer la désactivation des délais d'expiration X dpms lorsque l'utilisateur se connecte. Voici les trois fichiers que j'ai créés. Tout d'abord, le fichier de configuration:

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

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

Assurez-vous que ce qui précède appartient à root. Le plus simple est de le créer avec sudoedit.

Viennent ensuite les deux scripts. Ceux-ci doivent appartenir à root et être exécutables ( 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 
) &

Compte tenu de ce qui précède, j'obtiens le moniteur hors tension à l'écran de connexion, et les délais d'attente dpms sont définis sur zéro pour une session utilisateur, de sorte que l'économiseur d'écran fonctionne correctement.

Radu Rădeanu
la source
Je ne sais pas s'il est possible de comprendre pourquoi cela ne fonctionne pas maintenant après une mise à niveau vers 14.04. Évidemment, l'écran de verrouillage est maintenant différent, donc je pense que ce qui précède ne fonctionne plus. Des idées?
Scottie
Cela ne fonctionne pas sur Ubuntu 16.10 (lightdm + openbox).
Xdg
1

J'ai créé un fichier dans /etc/lightdm/lightdm.conf.d/named 50-dpms.conf.

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

Le fichier dpms-start est un script qui permet à l'utilisateur d' lightdmactiver 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

Assurez-vous de taper sudo chmod +x /etc/lightdm/lightdm.conf.d/dpms-startpour le rendre exécutable. Dans Ubuntu 14.04, j'utilise ceci avec Unity et Cinnamon et Unity-Greeter pour l'écran de verrouillage. Je n'utilise pas Synergy pour plusieurs écrans dans lightdm. Une autre façon serait d'ajouter root au groupe lightdm dans / etc / group. Cela éliminerait la nécessité de créer l'utilisateur lightdm dans dpms-start.

Rob
la source
le script ci-dessus semble avoir des erreurs de syntaxe, pourriez-vous le corriger?
kenn