Wie kann ich verhindern, dass der Bildschirm bei geschlossenem Deckel blockiert wird?


14

Ich habe Ubuntu 11.10 mit Gnome 3 (no Unity), der Gnome-Bildschirmschoner wurde entfernt und durch xscreensaver ersetzt. Das Bildschirmschoner-Zeug funktioniert alles gut - da gibt es keine Beschwerden. Wenn ich den Laptopdeckel auch nur für eine Sekunde schließe, wird der Bildschirm gesperrt (und das Dialogfeld, in dem ich nach meinem Kennwort gefragt werde, ist xscreensavers). Ich möchte, dass das nicht passiert ...

Dinge, die ich bereits ausprobiert / angeschaut habe:

  • xscreensaver settings - das Kontrollkästchen "Lock Screen After" ist nicht aktiviert (obwohl ich es auch ausprobiert und auf 720 Minuten gesetzt habe)
  • gconf-editor - apps -> gnome-screensaver -> lock_enabledist nicht aktiviert
  • Systemeinstellungen -> Stromversorgung - "Wenn der Deckel geschlossen ist" ist sowohl für die Batterie als auch für die Klimaanlage auf "Nichts tun" eingestellt
  • Systemeinstellungen -> Bildschirmsperre ist "aus"
  • gconf-editor - apps -> gnome-power-manager -> buttons -> lid_ac&& lid_batterysind beide auf "nichts" gesetzt

  • dconf-editor - apps -> org -> gnome -> desktop -> screensaver -> lock_enabledist nicht aktiviert

Die Ausgabe von: gsettings list-recursively org.gnome.settings-daemon.plugins.power:

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 'suspend'
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 'hibernate'
org.gnome.settings-daemon.plugins.power idle-brightness 30
org.gnome.settings-daemon.plugins.power idle-dim-ac false
org.gnome.settings-daemon.plugins.power idle-dim-battery true
org.gnome.settings-daemon.plugins.power idle-dim-time 10
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'nothing'
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 1
org.gnome.settings-daemon.plugins.power sleep-display-ac 600
org.gnome.settings-daemon.plugins.power sleep-display-battery 600
org.gnome.settings-daemon.plugins.power sleep-inactive-ac false
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'
org.gnome.settings-daemon.plugins.power sleep-inactive-battery true
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

gnome-settings-daemon läuft:

<~> $ ps -ef | grep gnome-settings-daemon
1000      1719  1645  0 19:37 ?        00:00:01 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
1000      1726     1  0 19:37 ?        00:00:00 /usr/lib/gnome-settings-daemon/gsd-printer
1000      1774  1645  0 19:37 ?        00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper

Kann ich noch etwas überprüfen? Vielen Dank!


Versuchen Sie es mit, um dconf-editorzu sehen, ob es dort Optionen gibt.
Zoke

Blick auf dconf-editor, veröffentlichte gsettings-Ausgabe - scheint in keiner von beiden etwas zu sein ...
Joe Casadonte

ps -ef | grep gnome-settings-daemon
Läuft

@fossfreedom - ja, der Gnome-Settings-Daemon läuft.
Joe Casadonte

Ich habe das gleiche Problem. Vielleicht ist das ein Fehler? bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/994754
Aibara

Antworten:


7

Ich habe es geschafft, eine Problemumgehung zu finden, obwohl ich mir vorstellen kann, dass es eine bessere Lösung gibt. Ich schaute, was passierte, als mein Deckel geschlossen und geöffnet wurde /etc/acpi/lid.shund stellte fest, dass xscreensaver automatisch aufgerufen wurde. Ich bin mir nicht sicher, ob verschiedene Laptops unterschiedliche Einstellungen haben - ich weiß wirklich nicht viel über dieses Zeug.

Auf jeden Fall habe ich versucht, es einfach dazu zu bringen, seine Konfigurationsdatei zu befolgen und nicht zu sperren, aber ich konnte es nicht herausfinden, so dass ich einfach die Zeilen löschte, die xscreensaver betrafen. Jetzt funktioniert alles wunderbar: Keine Verriegelung, und wenn der Deckel nach Ablauf der von Ihnen festgelegten Zeit geschlossen wird, um xscreensaver zu starten, wird es normal gestartet (und nicht verriegelt).

Ich bin mir immer noch nicht sicher, warum xscreensaver so eingestellt ist, dass es beim Schließen des Deckels automatisch aufgerufen wird oder warum es seine Einstellungen ignoriert und beim Öffnen des Deckels sperrt. Ich verstehe auch nicht, warum dies bei meinem älteren Laptop nur sporadisch vorkommt (manchmal wird es jedes Mal gesperrt, manchmal überhaupt nicht), obwohl dieselbe lid.sh-Datei vorhanden ist.

Ich sollte auch beachten, dass ich Ubuntu 12.04 mit Unity verwende, obwohl ich glaube, dass das keinen Unterschied macht.


Vielen Dank! Danke Danke Danke Danke Danke Danke DANKE!
Joe Casadonte

Kein Problem! Es hat mich auch verrückt gemacht.
Aibara,

Kühle Lösung. Ich schaue gerade in meiner Datei /etc/acpi/lid.sh nach und bin mir nicht sicher, welchen xscreensaver-Aufruf ich auskommentieren soll - es gibt ein -unthrottle und ein -deactivate. Ich habe versucht, 'xscreensaver --help' in die Befehlszeile einzugeben, um zu sehen, was diese tun, aber es hat mir gesagt, dass tatsächlich 'xscreensaver' nicht installiert ist - bedeutet das, dass ich ein anderes Problem habe? Ich bin auch auf Ubuntu 12.04 Unity, aber ich denke, es könnte ein Laptop-spezifisches Problem sein: Ich verwende ein Lenovo ThinkPad T420s.
Alex

Hm, wenn Sie xscreensaver nicht manuell installiert haben, haben Sie es wahrscheinlich nicht. Dies ist nicht die Standardeinstellung.
Aibara

2
Hey, ich habe das gleiche Problem mit Ubuntu 14.04, aber anscheinend gibt es keine /etc/acpi/lid.sh Datei. Geht es dir auch so? hast du eine andere lösung
Yekhezkel Yovel

3

Seit GTK3 habe ich verwendet

gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'

Dadurch werden alle Sperrbildschirme verhindert. Wenn Sie den Bildschirm dennoch sperren möchten, können Sie 'Benutzerkonto wechseln ...' als Ersatz verwenden. Richten Sie für 11.10 einfach eine Tastenkombination für den Befehl ein

gdmflexiserver -xnest

Für 12.04+ ist es

dm-tool switch-to-greeter

Dies funktioniert mit Gnome-Bildschirmschoner, aber leider nicht mit xscreensaver.
Aibara,

Der erste Befehl allein funktioniert in 12.10
AlfC

Wunderbar, funktioniert super am 13.04! Für diejenigen, die wissen möchten, welche Einstellungen sie haben, um nur "gsettings get org.gnome.desktop.lockdown disable-lock-screen" zu verwenden, wird es höchstwahrscheinlich "false" sagen.
Elijah Lynn

3

Ich verwende Ubuntu 12.04 Classic (was meiner Meinung nach Unity bedeutet) und hatte die gleichen Probleme. Ich wollte Folgendes: Wenn der Bildschirm nicht gesperrt ist, sollte das Schließen und erneute Öffnen des Deckels nicht dazu führen, dass der Bildschirm gesperrt wird.

Dies ist leicht erreichbar durch dconf-editor; org > gnome > desktop > screensaverNavigieren Sie einfach zum lock-enabledEintrag und deaktivieren Sie ihn .

PS: Es scheint einfach zu sein, aber die Antwort war schwer zu finden.


Übrigens: Dies ist dieselbe Einstellung wie unter Einstellungen-> Helligkeit und Sperre-> Sperre. Bestätigt das Arbeiten in Ubuntu 14.04, sperrt das Schließen des Deckels das System nicht mehr. Wahrscheinlich war dies ein Fehler in früheren Versionen von Ubuntu.
JMISEREZ

Dies löste das Problem in Ubuntu MATE, allerdings musste ich zum org-mate-screensaver navigieren, um den Eintrag zu deaktivieren.
Muzaffar


0

Um die Bildschirmsperre beim Fortsetzen zu deaktivieren, setzen Sie LOCK_SCREEN=falsein/etc/default/acpi-support

Führen Sie (als root oder sudo) diesen Befehl aus:

sed -i.bak s/'LOCK_SCREEN=true'/'LOCK_SCREEN=false'/ /etc/default/acpi-support

Erstellt eine Sicherungskopie der Datei (/etc/default/acpi-support.bak) und setzt die erforderliche Option LOCK_SCREEN auf false.


0

Ich möchte, dass mein Bildschirm gesperrt wird, wenn er angehalten wird, in den Ruhezustand wechselt, wenn der Bildschirmschoner aktiviert wird, weil ich die konfigurierte Zeit nicht aktiv bin oder wenn ich ihn manuell sperre.
Ich möchte nicht, dass der Bildschirm gesperrt wird, wenn ich den Deckel für kurze Zeit schließe (während ich meinen Laptop transportiere). Beim Schließen des Deckels möchte ich nur das Display ausschalten.
All dies kann über GUI-Utils konfiguriert werden, außer den Bildschirm nicht zu sperren, wenn der Deckel geschlossen ist - diese Funktion scheint im aktuellen GNOME zu fehlen :(

Dennoch, das folgende Skript die Arbeit für mich ...

=== /etc/acpi/local/lid.sh.pre ===

#!/bin/bash

. /etc/default/acpi-support  ## in this file: LOCK_SCREEN_LID=false

function fail () {
  echo $@ >> /tmp/lid_no_screensaver.log
  beep
}

function screensaver_disable () {
  export DISPLAY=$1
  USER=$2
  if sudo -u $USER LANG=C gnome-screensaver-command -q | grep -q 'screensaver is active' ; then
    TIME_ACTIVE=$(DISPLAY=':0' sudo -u joe LANG=C gnome-screensaver-command --time | sed -r -e 's/The screensaver has been active for ([[:digit:]]*) seconds./\1/')
    [ $TIME_ACTIVE -ge 10 ] && return  ## we don't stop the screensaver when he should lock
  fi

  sudo -u $USER gnome-screensaver-command --deactivate
  ( sleep 1
    sudo -u $USER LANG=C gnome-screensaver-command -q | grep -q 'screensaver is inactive' || fail 'Unable to deactivate screensaver :('
  ) &
}

if [ "$LOCK_SCREEN_LID" = false ] ; then
  for DISPLAY in $(ps aux | grep X | grep -v grep | sed -e 's|^[^/]*||' | cut -d' ' -f2) ; do
    for USER in $(ps aux | grep gnome-screensaver | grep -v grep | cut -d' ' -f1) ; do
      if ! grep -q open /proc/acpi/button/lid/*/state; then
        screensaver_disable $DISPLAY $USER
      fi
    done
  done
fi

=== / etc / default / acpi-support ===

LOCK_SCREEN_LID=false

Getestet mit gnome-screensaver + GNOME 3.4.2 + Debian Wheezy


0

Keine der obigen Antworten hat für mich funktioniert. Ich musste das machen:

sudo vim /etc/UPower/UPower.conf

# <snip> ...

ignoreLid=true

# <snip> ...

Es war ein Neustart erforderlich, um wirksam zu werden. Und Ihre anderen Ubuntu / GNOME-Einstellungen, die Lid-Ereignisse berücksichtigen, sind wahrscheinlich fehlerhaft.


-1

Installieren Sie das Gnome-Tweak-ToolInstallieren Sie das Gnome-Tweak-Tool . Klicken Sie rechts auf "Shell" und dort können Sie auswählen, was mit oder ohne Akku geschehen soll.


Leider sagten beide "nichts tun".
Joe Casadonte

Diese Optionen scheinen nicht das zu tun, wonach sie gefragt werden. zumindest unter Ubuntu 12.04.
Gurjeet Singh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.