Crie um arquivo em /lib/systemd/system-sleep/
, chamado por exemplo: lightdm
:
sudo touch /lib/systemd/system-sleep/lightdm
torna este arquivo executável:
sudo chmod +x /lib/systemd/system-sleep/lightdm
Toda vez que você "suspender" ou "retomar" o seu Ubuntu, este script será executado.
Abra-o usando o editor de texto desejado, por exemplo: sudo nano /lib/systemd/system-sleep/lightdm
, cole as linhas nele e salve-o:
#!/bin/sh
set -e
case "$1" in
pre)
#Store current timestamp (while suspending)
/bin/echo "$(date +%s)" > /tmp/_suspend
;;
post)
#Compute old and current timestamp
oldts="$(cat /tmp/_suspend)"
ts="$(date +%s)"
#Prompt for password if suspended > 10 minutes
if [ $((ts-oldts)) -ge 600 ];
then
export XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
/usr/bin/dm-tool lock
fi
/bin/rm /tmp/_suspend
;;
esac
O que isso faz?
Quando você está colocando o seu Ubuntu no modo "sleep", este script salvará os timestamps atuais e, ao retomar o sistema, ele verificará os timestamps antigos com o atual, se o diferente for mais que "600" segundos (10 Minuets) vai mostrar-lhe "lightdm" tela de bloqueio caso contrário, não faz nada.
Para o último passo:
abrir "configurações do sistema" - > "Brilho e bloqueio". Desativar pedindo senha depois de acordar de suspensão, porque deixamos de lidar com a tela de bloqueio para o script.
Após a reinicialização ou desligamento, você ainda precisará digitar sua senha.