我想设置一个 cron 作业,每天下午三点锁定我的会话。当我进入dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
终端窗口时,会话会立即锁定,但是当我在 crontab 中执行相同操作时(即使使用 BASH 脚本),它不起作用。我想创建一个 BASH 脚本来锁定会话并将dbus-send
其添加到crontab
。
答案1
使用 loginctl 从 crontab 锁定您的桌面屏幕。
/opt/bin/lock-session.sh:
#!/bin/bash
# crontab -e
# min hour dom month dow command
# 0 15 * * * /bin/bash -c /opt/bin/lock-session.sh
# Display (is the first value of Sessions).
# Sessions (array of sessions).
property=Sessions
for session in $(loginctl show-user $USER -p $property --value); do
[[ \
$(loginctl show-session $session -p Desktop --value) ]] && loginctl lock-session $session
done
exit 0