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?

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.


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.


+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


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.