Jak kontrolować preferencje oszczędzania energii LightDM?

14

Chcę, aby lightdm przeszedł w tryb oszczędzania energii po określonym czasie. Jeśli jestem zalogowany, mój ekran wygasa zgodnie z ustawieniami użytkownika, jednak gdy nikt nie jest zalogowany, ekran pozostanie włączony na zawsze.

Przejrzałem kilka postów, które sugerują, co robić, ale żaden z nich nie działa lub nie jest to spowodowane moją ograniczoną znajomością Linuksa.

zaktualizowano 6/2/2014: Ustawienia pokazane przez sudo -H -u lightdm dbus-launch --exit-with-session gsettings list-recursively org.gnome.settings-daemon.plugins.powersą następujące:

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

Zakładałbym, że sleep-inactive-ac-timeout 120byłby to prawidłowy wpis, ale nie upłynął limit czasu, chyba że jestem zalogowany jako użytkownik.

Scottie
źródło
OK - ludzie oznaczyli to jako powtórzenie, ale sugerowane rozwiązanie w ogóle nie działa dla mnie. Nie wydaje mi się, aby te same ustawienia były wymienione, a te w sugerowanej rozdzielczości i te, które są ustawione dla konta lightdm, pasują bezpośrednio do mojego, ale mimo to ekran nie wygasa, gdy nie jest zalogowany jako użytkownik. Wszelkie inne pomysły na to, co się dzieje?
Scottie
2
Czy możesz dodać, jakiej wersji Ubuntu i jakiej wersji dystrybucji / pulpitu używasz.
Mateo
spojrzałeś na laptop-mode-toolslub TLP? Pierwszy uruchamia opcje oszczędzania energii przed kompilacją i dodaje plik .conf do zarządzania nim, drugi to aplikacja innej firmy, z której korzystam i działa naprawdę dobrze (plik .conf jest bardzo dobrze wyjaśniony)
MrVaykadji
Potwierdzony błąd i naprawione bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/1237372
Braiam

Odpowiedzi:

4

To jest potwierdzony błąd:

I ogólnie błędy są tutaj nie na temat .

W każdym razie znalazłem następujące obejście ( komentarz # 33 związany z błędem # 1245474 ), które działa dla mnie:

[...] Dodałem skrypt do obsługi wyłączania limitów czasu X dpms podczas logowania użytkownika. Oto trzy pliki, które utworzyłem. Najpierw plik konfiguracyjny:

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

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

Upewnij się, że powyższe jest własnością root. Najłatwiej jest stworzyć go za pomocą sudoedit.

Następne są dwa skrypty. Muszą one należeć do roota i zostać wykonane w trybie wykonywalnym ( 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 
) &

Biorąc powyższe pod uwagę, wyłączam monitor na ekranie logowania, a limity czasu dpms są ustawione na zero dla sesji użytkownika, więc wygaszacz ekranu działa poprawnie.

Radu Rădeanu
źródło
Nie jestem pewien, czy można rzucić jakieś światło na to, dlaczego teraz to nie działa po aktualizacji do 14.04. Oczywiście ekran blokady jest teraz inny, więc podejrzewam, że powyższe nie działa. Pomysły?
Scottie,
To nie działa na Ubuntu 16.10 (lightdm + openbox).
Xdg
1

Utworzyłem plik /etc/lightdm/lightdm.conf.d/o nazwie 50-dpms.conf.

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

Plik dpms-start to skrypt, który pozwala użytkownikowi lightdmwłączyć 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

Pamiętaj, aby wpisać, sudo chmod +x /etc/lightdm/lightdm.conf.d/dpms-startaby był wykonywalny. W Ubuntu 14.04 używam tego z Unity i Cinnamon i Unity-Greeter dla ekranu blokady. Nie używam Synergy do wielu wyświetlaczy w lightdm. Innym sposobem byłoby dodanie roota do grupy lightdm w / etc / group. To wyeliminowałoby potrzebę tworzenia użytkownika lightdm w dpms-start.

Obrabować
źródło
powyższy skrypt wydaje się mieć błędy składniowe, czy mógłbyś to naprawić?
hodowla