Crea un file all'interno /lib/systemd/system-sleep/
, chiamato ad esempio lightdm
::
sudo touch /lib/systemd/system-sleep/lightdm
rendere eseguibile questo file:
sudo chmod +x /lib/systemd/system-sleep/lightdm
Ogni volta che "sospendi" o "riprendi" Ubuntu, questo script verrà eseguito.
Aprilo usando l'editor di testo desiderato, ad esempio sudo nano /lib/systemd/system-sleep/lightdm
:, e incolla queste righe e salvalo:
#!/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
Cosa fa?
Quando stai mettendo Ubuntu in modalità "sleep" questo script salverà i timestamp correnti, quindi riprendendo il sistema controllerà i vecchi timestamp con quello attuale, se il diverso fosse più di "600" secondo (10 Minuetti) mostrerà schermata di blocco "lightdm" altrimenti non fa nulla.
Per l'ultimo passaggio:
apri "impostazioni di sistema" -> "Luminosità e blocco". Disabilita la richiesta di password dopo il risveglio dalla sospensione, perché lasciamo la gestione della schermata di blocco allo script.
Dopo il riavvio o l'arresto è ancora necessario inserire la password.