web-dev-qa-db-fra.com

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

Je souhaite que lightdm passe en mode économie d'énergie après une période donnée. Si je suis connecté, mon écran expirera conformément aux paramètres de l'utilisateur. Cependant, si personne n'est connecté, l'écran restera indéfiniment.

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

mis à jour le 6/2/2014: Les paramètres affichés par Sudo -H -u lightdm dbus-launch --exit-with-session gsettings list-recursively org.gnome.settings-daemon.plugins.power sont 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 le sleep-inactive-ac-timeout 120 aurait été l'entrée correcte, mais il n'expire pas sauf si je suis connecté en tant qu'utilisateur.

13
Scottie

C'est un bug confirmé:

Et les bugs, en général, sont hors sujet ici .

Quoi qu'il en soit, j'ai trouvé la solution suivante ( commentaire n ° liée au bogue n ° 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, le moniteur est mis hors tension à l'écran de connexion et les délais d'attente de dpms sont définis sur zéro pour une session utilisateur. L'économiseur d'écran fonctionne donc correctement.

4
Radu Rădeanu

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

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

Le fichier dpms-start est un script qui permet à l'utilisateur lightdm d'activer 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-start pour le rendre exécutable. Dans Ubuntu 14.04, je l’utilise avec Unity, Cinnamon et Unity-Greeter pour le verrouillage de l’écran. Je n'utilise pas Synergy pour plusieurs écrans dans lightdm. Une autre solution serait d’ajouter root au groupe lightdm dans/etc/group. Cela éliminerait le besoin de créer l'utilisateur lightdm dans dpms-start.

1
Rob