Tạo một tệp trong /lib/systemd/system-sleep/
, có tên, ví dụ lightdm
::
sudo touch /lib/systemd/system-sleep/lightdm
làm cho tập tin này thực thi:
sudo chmod +x /lib/systemd/system-sleep/lightdm
Mỗi khi bạn "tạm dừng" hoặc "tiếp tục" Ubuntu, tập lệnh này sẽ được chạy.
Mở nó bằng trình soạn thảo văn bản mong muốn của bạn, ví dụ : sudo nano /lib/systemd/system-sleep/lightdm
, và dán các dòng này vào nó và sau đó lưu nó:
#!/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
Những gì nó làm?
Khi bạn đặt Ubuntu ở chế độ "ngủ", tập lệnh này sẽ lưu các dấu thời gian hiện tại, sau đó trong khi tiếp tục hệ thống, nó sẽ kiểm tra các dấu thời gian cũ với chế độ hiện tại, nếu khác hơn là "600" giây (10 phút) thì nó sẽ hiển thị bạn "lightdm" màn hình khóa nếu không nó không làm gì cả.
Đối với bước cuối cùng:
mở "cài đặt hệ thống" -> "Độ sáng và khóa". Vô hiệu hóa yêu cầu mật khẩu sau khi thức dậy khỏi bị đình chỉ, vì chúng tôi để việc xử lý màn hình khóa theo kịch bản.
Sau khi khởi động lại hoặc tắt máy, bạn vẫn cần nhập mật khẩu của mình.