Come prevenire il blocco dello schermo quando il coperchio è chiuso?


14

Ho Ubuntu 11.10 con Gnome 3 (no Unity), gnome-screen-saver è stato rimosso e sostituito con xscreensaver. Tutto ciò che fa lo screensaver funziona benissimo - non possiamo lamentarci. Quando chiudo il coperchio del mio laptop, anche per un secondo, lo schermo si blocca (e la finestra di dialogo che chiede la mia password è di xscreensaver). Mi piacerebbe che questo non accadesse ...

Cose che ho provato / già visto:

  • Impostazioni di xscreensaver: la casella di controllo "Blocca schermo dopo" non è selezionata (anche se l'ho provato anche ho controllato e impostato su 720 minuti)
  • gconf-editor - apps -> gnome-screensaver -> lock_enablednon è selezionato
  • Impostazioni di sistema -> Alimentazione - "Quando il coperchio è chiuso" è impostato su "Non fare nulla" sia per la batteria che per l'aria condizionata
  • Impostazioni di sistema -> Schermo - Il blocco è "disattivato"
  • gconf-editor - apps -> gnome-power-manager -> buttons -> lid_ac&& lid_batterysono entrambi impostati su "niente"

  • dconf-editor - apps -> org -> gnome -> desktop -> screensaver -> lock_enablednon è selezionato

Uscita da 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 è in esecuzione:

<~> $ 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

Qualcos'altro che posso controllare? Grazie!


Prova con dconf-editorper vedere se ci sono opzioni lì.
Zoke,

Ho guardato dconf-editor, pubblicato l'output di gsettings - non sembra essere nulla in nessuno dei due ...
Joe Casadonte,

è in esecuzione il tuo demone gnome-settings - nb questo dovrebbe mostrare due voci / usr / libps -ef | grep gnome-settings-daemon
fossfreedom

@fossfreedom - sì, il demone gnome-settings-in esecuzione.
Joe Casadonte,

Ho lo stesso problema. Forse questo è un bug? bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/994754
Aibara

Risposte:


7

Sono riuscito a trovare una soluzione alternativa, anche se immagino che ci sia una soluzione migliore là fuori. Ho osservato cosa stava succedendo quando il mio coperchio è stato chiuso e aperto e ho /etc/acpi/lid.shscoperto che xscreensaver veniva richiamato automaticamente. Non sono sicuro che laptop diversi abbiano impostazioni diverse e quant'altro - non so davvero molto di queste cose.

In ogni caso, ho provato a farlo obbedire semplicemente al suo file di configurazione e non a bloccarlo, ma non sono riuscito a capirlo, quindi ho finito semplicemente cancellando le linee che comportavano xscreensaver. Ora tutto funziona alla grande: nessun blocco, e se il coperchio è chiuso ha trascorso il tempo che è stato impostato per l'avvio di xscreensaver, inizierà normalmente (e non si bloccherà).

Non sono ancora sicuro del perché xscreensaver è configurato per essere chiamato automaticamente quando il coperchio è chiuso o perché ignora le sue impostazioni e si blocca quando il coperchio è aperto. Inoltre non capisco perché con il mio laptop più vecchio ciò accada solo sporadicamente (a volte si blocca ogni volta, a volte per niente), nonostante abbia lo stesso file lid.sh.

Dovrei anche notare che sto usando Ubuntu 12.04 con Unity, anche se non penso che farà alcuna differenza.


Grazie! Grazie grazie grazie grazie GRAZIE!
Joe Casadonte,

Nessun problema! Mi stava facendo impazzire anche.
Aibara,

Soluzione interessante. Sto dando un'occhiata al mio /etc/acpi/lid.sh al momento, e non sono sicuro di quale xscreensaver chiama per commentare - c'è un -unthrottle e un -deactivate. Ho provato a digitare "xscreensaver - help" nella riga di comando per vedere cosa fanno, ma mi ha detto che in realtà "xscreensaver" non è installato - significa che ho un problema diverso? Sono anche su Ubuntu 12.04 Unity, ma suppongo che potrebbe essere una cosa specifica per un laptop: sto usando un ThinkPad T420s lenovo.
Alex

A meno che tu non abbia installato manualmente xscreensaver, probabilmente non ce l'hai. Non è l'impostazione predefinita.
Aibara,

2
Ehi, sto riscontrando lo stesso problema su Ubuntu 14.04 ma a quanto pare non esiste un file /etc/acpi/lid.sh. È lo stesso per te? hai un'altra soluzione?
Yekhezkel Yovel,

3

Dal momento che GTK3 ho usato

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

Ciò impedirà tutte le schermate di blocco. Se vuoi ancora essere in grado di bloccare lo schermo, puoi usare "Cambia account utente ..." come sostituto. Per l'11.10, basta impostare una scorciatoia da tastiera per il comando

gdmflexiserver -xnest

Per 12.04+ è

dm-tool switch-to-greeter

Funziona con gnome-screen-saver, ma sfortunatamente non con xscreensaver.
Aibara,

Il primo comando funziona da solo nel 12.10
alfC

Meraviglioso, funziona alla grande il 13.04! Per coloro che vogliono sapere che cosa è impostato per utilizzare "gsettings get org.gnome.desktop.lockdown disable-lock-screen", molto probabilmente dirà falso.
Elijah Lynn,

3

Sto eseguendo Ubuntu 12.04 Classic (intendendo Unity, credo), e ho avuto lo stesso problema. Ecco cosa volevo: quando lo schermo non è bloccato, chiudere e riaprire il coperchio non dovrebbe bloccare lo schermo.

Questo è facilmente raggiungibile da dconf-editor; sfoglia semplicemente org > gnome > desktop > screensavere deseleziona la lock-enabledvoce.

PS: Sembra facile da fare, ma la risposta è stata difficile da trovare.


A proposito: questa è la stessa impostazione che si trova in Impostazioni-> Luminosità e blocco-> Blocco. Confermato il funzionamento in Ubuntu 14.04, la chiusura del coperchio non blocca più il sistema. Probabilmente questo era un bug nelle versioni precedenti di Ubuntu.
jmiserez,

Ciò ha risolto il problema in Ubuntu MATE, tuttavia ho dovuto passare a org-mate-screensaver per deselezionare la voce.
Muzaffar,

1

Sto eseguendo Gnome Classic il 12.04 e la risposta di Aibara Iduas non ha funzionato per me, ma mi ha portato alla risposta. Ho dovuto modificare /usr/share/acpi-support/screenblank, rimuovendo i riferimenti in esso per xscreensaver.


0

Per disabilitare il blocco dello schermo al ripristino, impostare LOCK_SCREEN=falsein/etc/default/acpi-support

Eseguendo (come root o sudo) questo comando:

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

Creerà un backup del file (/etc/default/acpi-support.bak) e cambierà l'opzione LOCK_SCREEN richiesta su false.


0

Voglio che il mio schermo sia bloccato durante la sospensione, l'ibernazione, quando lo screensaver diventa attivo perché è inattivo il tempo configurato o quando blocco manualmente.
Non voglio che lo schermo venga bloccato quando chiudo il coperchio per un breve periodo (mentre trasporto il mio laptop). Quando chiudo il coperchio voglio solo spegnere il display.
Tutto ciò può essere configurato tramite GUI-utils, tranne che per non bloccare lo schermo quando il coperchio è chiuso - questa funzione sembra mancare nell'attuale GNOME :(

Tuttavia, la seguente sceneggiatura sta facendo il lavoro per me ...

=== /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

Testato con gnome-screensaver + GNOME 3.4.2 + Debian Wheezy


0

Nessuna delle risposte sopra ha funzionato per me. Ho dovuto fare questo:

sudo vim /etc/UPower/UPower.conf

# <snip> ...

ignoreLid=true

# <snip> ...

È necessario un riavvio per rendere effettive. E le tue altre impostazioni di Ubuntu / GNOME che rispettano gli eventi del coperchio sono probabilmente rovinate.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.