我正在尝试使用 at 命令安排电脑关闭,如下所示:
echo "systemctl poweroff" | at -M now +1 minute
或者像这样:
echo "sudo systemctl poweroff" | at -M now +1 minute
但什么也没发生。为什么?
atd
正在运行,下面的命令运行良好,只是为了检查一下:
echo "echo Hello 2>&1 > /home/<user_name>/at-test.txt" | at -M now +1 minute
我知道可以使用安排关闭shutdown -P TIME
,但请先回答我的问题,而不是指出一些替代方案。那么我做错了什么?
答案1
策略工具包可以将规则应用于shutdown
非登录会话上下文中运行的规则poweroff
(这只是另一个名称的程序)作为作业,该作业与应用于登录会话上下文中运行 的规则不同。systemctl
at
shutdown
sudo
只是这个布丁的鸡蛋太多了,增加了不必要的额外复杂性。系统是已经应用规则确定哪些非特权用户、在哪些上下文中可以成功触发系统关闭。添加sudo
附加机制最重要的是只是使访问规则集的数量加倍,并增加了诊断问题时必须考虑的可能情况的数量。
进一步阅读
- https://unix.stackexchange.com/a/465337/5132
- https://unix.stackexchange.com/a/196014/5132
- 伦纳特·珀特林等人。 (2014)。
systemd-logind.service
。 systemd 手册页。 freedesktop.org。 - 关机、暂停需要身份验证(安排在以下时间)
- 在 Ubuntu 中禁用“关机”和“断电”命令
- https://askubuntu.com/questions/536591/