Der Bildschirm wird nicht ausgeschaltet, wenn er inaktiv ist

10

Vor kurzem habe ich festgestellt, dass die Helligkeits- und Sperreinstellungen zum Ausschalten des Bildschirms nach einer Zeit der Inaktivität ignoriert werden.

Ich habe meine Einstellungen nach 1 Minute und um den Bildschirm zu sperren, wenn der Bildschirm ausgeschaltet wird, aber mein Computer scheint nie den Bildschirm auszuschalten.

Ich habe ähnliche Fragen gesehen, bei denen Leute ein Problem feststellen, bei dem die Bildschirme wieder angehen und der Sperrbildschirm angezeigt wird, aber ich bekomme den Computer überhaupt nicht zum Sperren.

    
Joe W 12.04.2017, 20:01

1 Antwort

0

Ich kann dies umgehen

Vergessen Sie nicht die Einstellungen in der GUI, Sie können Ihren Bildschirm sperren und Ihre Bildschirme über die Befehlszeile in den Standby-Modus senden

Um den Bildschirm zu sperren, können Sie

verwenden
gnome-screensaver-command -l

oder (wenn gnome3 nicht verwendet wird)

xdg-screensaver lock

und zum Ausschalten Ihrer Monitore (Standby) können Sie

verwenden
xset dpms force off

Nun, da Sie dies nicht manuell machen wollen, sondern nach ein paar Minuten Leerlauf, müssen wir herausfinden, wie lange Sie im Leerlauf waren. Dies kann mit xprintidle

geschehen
sudo apt-get install xprintidle

xprintidle gibt Millisekunden (xserver) idletime

zurück

Lasst uns das jetzt zu einem Skript zusammenfassen (*). Benutze deinen Lieblingseditor, um das Folgende zu kopieren / einzufügen, indem du IDLE_TIME nach deinen Wünschen modifizierst

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

Dann machen Sie es mit

ausführbar
chmod +x /home/yourusername/idle_stby_lock_screen.sh

Sie können es auf der Kommandozeile testen

/home/yourusername/idle_stby_lock_screen.sh

Wenn Sie damit zufrieden sind, können Sie es zum Start Ihres Ubuntu hinzufügen, wie hier in den Antworten beschrieben oder mit der "Startup" -App in Ubuntu - stellen Sie sicher, dass Sie den absoluten Pfad zu Ihrem Skript verwenden.

    
Robert Riedl 08.02.2018 11:31

Tags und Links