Eu resolvi isso com um script, vinculado ao atalho de teclado: CTRL + SUPER + DELETE.
Crie o script em / usr / local / bin e chame-o de algo como lock_and_suspend:
$ sudo gedit /usr/local/bin/lock_and_suspend
Aqui está o script:
#!/bin/bash
xscreensaver-command -lock
sleep 2
xfce4-session-logout --suspend
Atualize suas permissões:
$ sudo chmod a+x /usr/local/lock_and_suspend
$ sudo chmod 711 /usr/local/lock_and_suspend
$ sudo chown yourusername /usr/local/bin/lock_and_suspend
E execute-o simplesmente digitando lock_and_suspend na linha de comando. Ou amarre lock_and_suspend a um atalho de teclado em SettingsManager> Teclado> Atalhos de aplicativos.
Funciona simplesmente bloqueando a tela antes de suspender o sistema. O comando de suspensão é necessário porque o bloqueio de tela precisa de tempo para entrar em vigor. Suspender o interromperá antes de terminar, se não houver uma pausa entre eles.
Pode ser necessário instalar o xscreensaver. O bloqueio de tela geralmente é executado pelo xlock4. Mas o xlock4 apenas percorre possíveis bloqueadores de tela, como o xscreensaver, e seleciona o que funciona. Não me lembro exatamente por que fiz isso. Basta dizer que não funcionou quando tentei bloquear a tela usando xflock4 (usando seu atalho de teclado padrão CTRL + ALT + DEL) antes de suspender o sistema.
De qualquer forma, o ponto é que você realmente faz três coisas: bloquear a tela, suspender o sistema, fechar a tampa. E, por experiência, você deseja garantir que o sistema esteja bloqueado e suspenso antes de fechar a tampa, porque geralmente ocorre quando, quando você confia em alguma configuração para bloquear e suspender ao fechar a tampa, às vezes falha e você ' Não há como verificar sem abrir a tampa. Mas como a abertura da tampa impede o sistema de suspender, como você sabe se ele foi suspenso? (É o caso do gato de Schrödinger. Ou do rato de Fourdan). A única maneira de garantir é bloquear e suspender o sistema antes de fechar a tampa. E a única maneira conveniente de fazer isso é com um único atalho de teclado (CTRL + SUPER + DEL).
Pode ser necessário fechar as portas traseiras do xscreensaver screenlock .
Em algum momento, talvez eu tenha instalado o armário de luz e configurado para bloquear a tela . Não me lembro se isso era realmente necessário.
$ sudo apt install light-locker
$ xfconf-query -c xfce4-session -p /general/LockCommand -s "light-locker-command --lock" --create -t string
Também pode ser necessário ativar o xscreensaver e o gerenciador de energia em Configurações> Sessão e Inicialização> Inicialização automática do aplicativo. E talvez desinstalar / desativar o gnome-screensaver.
Você pode instalar o xfce4-power-manager e configurá-lo (usando o gerenciador de configurações ou xfce4-power-manager --customize
) para 'suspender', 'quando a tampa do laptop estiver fechada'. Nesse caso, pode ser necessário configurar o gerenciador de energia para manipular o evento de fechamento da tampa corretamente . Mas eu estava inclinado a travar + suspender antes de fechar a tampa.