Como evitar o bloqueio da tela quando a tampa está fechada?

14

Eu tenho o Ubuntu 11.10 com Gnome 3 (sem unidade), o gnome-screen-saver foi removido e substituído pelo xscreensaver. O material do protetor de tela funciona bem - não há queixas. Quando fecho a tampa do meu laptop, mesmo por um segundo, a tela é bloqueada (e a caixa de diálogo solicitando minha senha é do xscreensaver). Eu gostaria que isso não acontecesse ...

Coisas que eu já tentei / observei:

  • Configurações do xscreensaver - a caixa de seleção "Bloquear tela após" não está marcada (embora eu também tenha tentado e marcada como 720 minutos)
  • gconf-editor - apps -> gnome-screensaver -> lock_enablednão está marcado
  • Configurações do sistema -> Energia - "Quando a tampa está fechada" está definido como "Não fazer nada" para a bateria e o A / C
  • Configurações do sistema -> Tela - O bloqueio está "desativado"
  • gconf-editor - apps -> gnome-power-manager -> buttons -> lid_ac&& lid_batterysão definidos como "nothing"

  • dconf-editor - apps -> org -> gnome -> desktop -> screensaver -> lock_enablednão está marcado

Saída de 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

O gnome-settings-daemon está em execução:

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

Mais alguma coisa que eu possa verificar? Obrigado!

Joe Casadonte
fonte
Tente dconf-editorver se existem opções lá.
Zoke
Olhou para dconf-editor, saída gsettings postados - não parece ser qualquer coisa em qualquer um deles ...
Joe Casadonte
é seu gnome-settings-daemon em execução - isto deve exibir duas entradas / usr / libps -ef | grep gnome-settings-daemon
fossfreedom
@fossfreedom - sim, o gnome-settings-daemon está em execução.
precisa saber é o seguinte
Eu tenho o mesmo problema. Talvez isso seja um bug? bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/994754
Aibara

Respostas:

7

Consegui descobrir uma solução alternativa, embora imagine que haja uma solução melhor por aí. Eu olhei o que estava acontecendo quando minha tampa foi fechada e aberta /etc/acpi/lid.she descobri que o xscreensaver estava sendo chamado automaticamente. Não tenho certeza se laptops diferentes têm configurações diferentes e outros enfeites - eu realmente não sei muito sobre essas coisas.

De qualquer forma, tentei fazê-lo simplesmente obedecer ao arquivo de configuração e não bloquear, mas não consegui descobrir, então acabei simplesmente excluindo as linhas que envolviam o xscreensaver. Agora tudo funciona muito bem: sem travamento, e se a tampa estiver fechada durante o tempo que você configurou para o xscreensaver iniciar, ele será iniciado normalmente (e não será travado).

Ainda não sei ao certo por que o xscreensaver é configurado para ser chamado automaticamente quando a tampa é fechada ou por que ignora suas configurações e trava quando a tampa é aberta. Também não entendo por que, no meu laptop mais antigo, isso acontece esporadicamente (às vezes ele trava toda vez, às vezes nem sequer), apesar de ter o mesmo arquivo lid.sh.

Devo também observar que estou usando o Ubuntu 12.04 com Unity, embora não pense que isso faça alguma diferença.

Aibara
fonte
Obrigado! Obrigado obrigado obrigado obrigado OBRIGADO!
Joe Casadonte 01/07
Sem problemas! Isso estava me deixando louco também.
Aibara
Solução legal. Estou dando uma olhada no meu /etc/acpi/lid.sh no momento e não tenho certeza sobre qual xscreensaver chamar para comentar - há um -unthrottle e--desativate. Tentei digitar 'xscreensaver --help' na linha de comando para ver o que eles fazem, mas ele me disse que realmente o 'xscreensaver' não está instalado - isso significa que tenho um problema diferente? Também estou no Ubuntu 12.04 Unity, mas acho que pode ser uma coisa específica de laptop: estou usando um Lenovo ThinkPad T420s.
Alex13
Hum, a menos que você instale manualmente o xscreensaver, provavelmente não o possui. Não é o padrão.
Aibara
2
Ei, estou tendo o mesmo problema no Ubuntu 14.04, mas aparentemente não há arquivo /etc/acpi/lid.sh. É o mesmo para você? você tem outra solução?
Yekhezkel Yovel
3

Desde GTK3 eu tenho usado

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

Isso impedirá todas as telas de bloqueio. Se você ainda deseja bloquear a tela, pode usar 'Alternar conta de usuário ...' como um substituto. Para a 11.10, basta configurar um atalho de teclado para o comando

gdmflexiserver -xnest

Para 12.04+ sua

dm-tool switch-to-greeter
edm
fonte
Isso funciona com o gnome-screen-saver, mas infelizmente não o xscreensaver.
Aibara
O primeiro comando sozinho funciona em 12.10
alfC 19/11/12
Maravilhoso, funciona muito bem em 13.04! Para aqueles que querem saber o que está definido para usar apenas "gsettings get org.gnome.desktop.lockdown disable-lock-screen", provavelmente será falso.
Elias Lynn
3

Estou executando o Ubuntu 12.04 Classic (que significa unidade, eu acho) e tive o mesmo problema. Aqui está o que eu queria: Quando a tela não está bloqueada, fechar e reabrir a tampa não deve bloquear a tela.

Isso é facilmente alcançável por dconf-editor; basta procurar org > gnome > desktop > screensavere desmarcar a lock-enabledentrada.

PS: Parece fácil, mas a resposta foi difícil de encontrar.

Gurjeet Singh
fonte
BTW: Essa é a mesma configuração que está em Configurações-> Brilho e Bloquear-> Bloquear. Confirmado o trabalho no Ubuntu 14.04, fechar a tampa não bloqueia mais o sistema. Provavelmente isso foi um bug nas versões anteriores do Ubuntu.
jmiserez
Isso resolveu o problema no Ubuntu MATE, no entanto, tive que navegar para org-mate-screensaver para desmarcar a entrada.
Muzaffar
1

Estou executando o Gnome Classic em 12.04, e a resposta de Aibara Iduas não funcionou para mim, mas me levou à resposta. Eu tive que editar /usr/share/acpi-support/screenblank, removendo referências nele para o xscreensaver.

user79937
fonte
0

Para desativar o bloqueio de tela no currículo definido LOCK_SCREEN=falseem/etc/default/acpi-support

Executando (como root ou sudo) este comando:

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

Criará um backup do arquivo (/etc/default/acpi-support.bak) e alterará a opção LOCK_SCREEN necessária para false.

pl1nk
fonte
0

Quero que minha tela seja bloqueada ao suspender, hibernar, quando o protetor de tela se tornar ativo por estar inativo durante o tempo configurado ou quando eu bloquear manualmente.
Não quero que a tela fique bloqueada quando fecho a tampa por um curto período de tempo (enquanto estou transportando meu laptop). Ao fechar a tampa, quero apenas desligar a tela.
Tudo isso pode ser configurado via GUI-utils, exceto para não bloquear a tela quando a tampa estiver fechada - esse recurso parece estar ausente no GNOME atual :(

No entanto, o script a seguir está fazendo o trabalho por mim

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

Testado com gnome-screensaver + GNOME 3.4.2 + Debian Wheezy

Johannes Lötzsch
fonte
0

Nenhuma das respostas acima funcionou para mim. Eu tive que fazer isso:

sudo vim /etc/UPower/UPower.conf

# <snip> ...

ignoreLid=true

# <snip> ...

Exigia uma reinicialização para entrar em vigor. E suas outras configurações do Ubuntu / GNOME que respeitam os eventos do Lid provavelmente estão desarmadas.

pztrick
fonte
-1

Instale o gnome-tweak-toolInstale o gnome-tweak-tool . Clique em "Shell" à direita e você poderá escolher o que fazer com ou sem a bateria.

rockr101
fonte
Infelizmente ambos disseram "não façam nada".
Joe Casadonte
Essas opções parecem não fazer o que está sendo solicitado; pelo menos no Ubuntu 12.04.
Gurjeet Singh