Создайте файл внутри с /lib/systemd/system-sleep/
именем, например lightdm
:
sudo touch /lib/systemd/system-sleep/lightdm
сделать этот файл исполняемым:
sudo chmod +x /lib/systemd/system-sleep/lightdm
Каждый раз, когда вы «приостанавливаете» или «возобновляете» свою Ubuntu, этот скрипт будет запускаться.
Откройте его, используя нужный текстовый редактор, например:, sudo nano /lib/systemd/system-sleep/lightdm
и вставьте в него следующие строки, а затем сохраните его:
#!/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
Что оно делает?
Когда вы переводите Ubuntu в «спящий» режим, этот скрипт будет сохранять текущие временные метки, затем при возобновлении системы он будет проверять старые временные метки с текущей, если разница будет больше, чем «600» секунд (10 минут), которые он покажет у вас "lightdm" экран блокировки в противном случае он ничего не делает.
Для последнего шага:
откройте «настройки системы» -> «Яркость и блокировка». Отключите запрос пароля после пробуждения из режима ожидания, потому что мы оставляем обработку экрана блокировки скрипту.
После перезагрузки или выключения вам все равно необходимо ввести пароль.