Como bloqueio a tela depois de voltar da hibernação?

12

Consegui hibernar e retomar com êxito o meu PC desktop Ubuntu 12.04 usando o procedimento que documentei nesta resposta . No entanto, agora tenho um problema que, sempre que o PC é reiniciado, ele não bloqueia a tela.

Como posso bloquear a tela depois que o sistema volta da hibernação?

Vikrant Chaudhary
fonte

Respostas:

9

Eu adicionei um alias no ~/.bashrcarquivo

alias hibernate='sudo echo "Hibernating..."; gnome-screensaver-command -l; sudo pm-hibernate;'

Para que ele bloqueie a tela antes de hibernar.

Елин Й.
fonte
Maravilhoso! Tome um upvote ...
Ajoy
5

Consegui solucionar esse problema usando o seguinte comando

sudo pm-hibernate; gnome-screensaver-command -l

Observe que você deve executá-lo como um usuário normal e não como usuário root para o bloqueio funcionar, porque, por padrão, no Ubuntu, não há senha para o usuário root; portanto, após o resumo, a tela de bloqueio pode ser desbloqueada simplesmente apertando o botão rato.

Vikrant Chaudhary
fonte
+1 Muito obrigado pela observação de que o protetor de tela precisa ser executado como usuário normal (não como root). Faz completamente sentido ... Esse é o ponto ... Obrigado!
zbynour
Bem trabalhado para mim: (Ubuntu 15.04 - 3.19.0-25-generic # 26 Ubuntu SMP Fri 24 de julho 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux)
cantoni
3

Eu tenho outra solução alternativa. eu copiei isso de /etc/acpi/sleep.shpara /etc/acpi/hibernate.shpouco antespm-hibernate

if [ x$LOCK_SCREEN = xtrue ]; then
    if pidof xscreensaver > /dev/null; then
    for x in /tmp/.X11-unix/*; do
        displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
        getXuser;
        if [ x"$XAUTHORITY" != x"" ]; then
        export DISPLAY=":$displaynum"
        . /usr/share/acpi-support/screenblank
        fi
    done
    fi
fi

agora eu posso hibernar com o bloqueio do menu de energia ou um botão de suspensão

mzzzzb
fonte
Ele funciona lindamente no 14.04 com troca criptografada (e em casa), no entanto, não consigo ver o sleep.sh lá - apenas para compartilhar experiências e pressionar algumas palavras-chave.
Alen
0

Não no Ubuntu, mas o seguinte funciona para mim:

systemd-inhibit --what sleep --why "Lock screen" --mode delay xdg-screensaver lock & systemctl suspend

Substitua xdg-screensaver lockpelo comando para bloquear a tela no seu sistema e systemctl suspendpor systemctl hibernatese deseja bloquear a tela antes de hibernar.

Isso funciona bloqueando a tela em paralelo à suspensão da máquina. No entanto, o comando de bloqueio de tela está sendo executado como inibidor que atrasa o sono. Dessa forma, o systemd esperará até que a tela seja bloqueada antes de executar.

Se você tiver inibidores que estão bloqueando a suspensão, adicione a -isinalização no final.

piegames
fonte