xprintidle 在 cronjob 中不起作用。为什么?

xprintidle 在 cronjob 中不起作用。为什么?

我安装了 lxle (Lubuntu) 12.04,并且花了很多时间寻找可行的解决方案,让 PC 在空闲一段时间后关闭。

在检查了许多不起作用的程序后,我决定花大量时间运行 shell 脚本解决方案计划任务

我在这里有 2 个问题困扰着我。

  1. 打印空闲当它由 cronjob 运行时不会给出任何结果(空字符串)——无论是在 crontab 文件还是 shell 文件中,在这些环境中它都只给出空字符串而不是空闲的毫秒数。

  2. 其次,以 root 身份从 crontab 运行关机命令脚本似乎并不简单。

您能给我一个解释该主题的链接吗?我只知道 sudo 作为用户,但脚本不应该要求输入密码,而应该只关闭系统。

答案1

您需要在调用它之前设置 DISPLAY 环境变量,您可以在虚拟控制台(Ctrl-Alt-F1)中尝试此操作,因为它们没有设置 DISPLAY 变量,它们的行为将与 cron 脚本的行为完全相同。

DISPLAY=:0 xprintidle

或者

export DISPLAY=:0
xprintidle

两者都应该有效。

相关内容