Ekran nie wyłącza się, gdy jest nieaktywny


11

Ostatnio zauważyłem, że ustawienia jasności i blokady, aby wyłączyć ekran po okresie bezczynności, są ignorowane.

Mam swoje ustawienia po 1 minucie i aby zablokować ekran, gdy ekran się wyłączy, ale mój komputer nigdy nie wydaje się go wyłączać.

Widziałem podobne pytania, w których ludzie zwracają uwagę na problem, w którym ekrany włączają się ponownie, a ekran blokady jest wyświetlany, ale komputer nie blokuje się wcale.

wprowadź opis zdjęcia tutaj

Odpowiedzi:


1

Mogę zaproponować obejście tego problemu


Nieważne ustawienia GUI, możesz zablokować ekran i przełączyć ekran w tryb gotowości za pomocą wiersza poleceń


Aby zablokować ekran, możesz użyć

gnome-screensaver-command -l

lub (jeśli nie używaj gnome3)

xdg-screensaver lock

i do wyłączenia monitorów (czuwania), których możesz użyć

xset dpms force off

Teraz, ponieważ nie chcesz tego robić ręcznie, ale po kilku minutach bezczynności musimy dowiedzieć się, jak długo byłeś bezczynny. Można to zrobić za pomocąxprintidle

sudo apt-get install xprintidle

xprintidle zwróci milisekundy okresu czasu (xserver)

Teraz połączmy to w skrypt (*). Użyj ulubionego edytora, aby skopiować / wkleić następujące elementy, modyfikując je IDLE_TIMEwedług własnych upodobań

nano /home/yourusername/idle_stby_lock_screen.sh
#!/bin/sh

# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((5*60*1000))  # replace the '5' with how many minutes you'd like


# Sequence to execute when timeout triggers.
trigger_cmd() {
    echo "Triggered action $(date)"
}

sleep_time=$IDLE_TIME
triggered=false

while sleep $(((sleep_time+999)/1000)); do
    idle=$(xprintidle)
    if [ $idle -ge $IDLE_TIME ]; then
        if ! $triggered; then
            gnome-screensaver-command -l
            export DISPLAY=:0; xset dpms force off
            triggered=true
            sleep_time=$IDLE_TIME
        fi
    else
        triggered=false
        # Give 150 ms buffer to avoid frantic loops shortly before triggers.
        sleep_time=$((IDLE_TIME-idle+150))
    fi
done

Następnie uczyń go wykonywalnym za pomocą

chmod +x /home/yourusername/idle_stby_lock_screen.sh

Możesz to przetestować w linii poleceń

/home/yourusername/idle_stby_lock_screen.sh

jeśli jesteś z niego zadowolony, możesz dodać go do uruchamiania Ubuntu, jak opisano w tych odpowiedziach tutaj lub za pomocą aplikacji „Startup” w Ubuntu - po prostu użyj bezwzględnej ścieżki do skryptu.


Chociaż to rozwiązanie zadziałałoby, nie jestem pewien, jak opłacalne jest, gdy blokowanie / wygaszacz ekranu ma być wbudowaną funkcją Ubuntu.
Joe W

@JoeW, jak powiedziałem: obejście
Robert Riedl

Używam tego również, aby upewnić się, że moje ekrany pozostają w trybie gotowości, ponieważ czasami budzą się, z jakiegokolwiek powodu ...
Robert Riedl
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.