无法使用 Cron 或设置锁定屏幕

无法使用 Cron 或设置锁定屏幕

有人能用crontab它自动锁定屏幕吗?我尝试了这里建议的所有方法,但似乎都没有用。我有一个Ubuntu 20.04gnome 桌面,甚至屏幕锁在设置中不起作用。只有以下命令通过终端才有效:

gnome 屏幕保护程序命令 -l

这是当前访问的代码块sudo crontab -e

SHELL=/bin/bash

0 */1 * * * systemctl restart network-manager

0 */1 * * * systemctl restart teamviewerd

*/2 * * * * gnome-screensaver-command -l

答案1

一种更普遍的方式锁定屏幕正在使用:

loginctl lock-session

Cron 不知道会话 IDloginctl

当您从命令行使用时loginctl lock-session,您的会话 ID 已经已知。例如:

$ echo $XDG_SESSION_ID

c2

$ loginctl list-sessions

   SESSION        UID USER             SEAT            
        c2       1000 rick             seat0           

1 sessions listed.

上面显示了从命令行获取会话 ID 的两种方法。

此 GitHub 问题loginctl解释了为什么 变量XDG_SESSION_ID对 而言是未知的systemd。同样的情况也适用于cron

因此,如果您知道您的会话 ID 始终为,则cron可以使用。更简单的方法是使用。loginctl lock-session c2c2lock-sessions

我在我的系统上尝试过这个,它有效。尝试在你的系统上使用它crontab -e

*/5  *   *  *   *     loginctl lock-sessions

现在,每五分钟您的屏幕就会锁定一次。

相关内容