当从 anacrontab 达到目标时间时,我试图显示一条消息,我想最好的方法是使用通知。
我已将此行添加到我的用户 crontab 中以实现相同的目的:
* * * * * XDG_RUNTIME_DIR=/run/user/1000 notify-send -u critical "Test"
但这在 anacrontab 中不起作用:
1 0 job.personal XDG_RUNTIME_DIR=/run/user/1000 notify-send -u critical "test"
我sudo anacron -f
用来查看结果,它在以下输出中给出/var/log/syslog
:
Jun 2 16:34:12 qy88zx anacron[28183]: Anacron 2.3 started on 2020-06-02
Jun 2 16:34:12 qy88zx anacron[28183]: Will run job `job.personal' in 0 min.
Jun 2 16:34:12 qy88zx anacron[28183]: Job `job.personal' started
Jun 2 16:34:12 qy88zx anacron[28183]: Job `job.personal' terminated
Jun 2 16:34:12 qy88zx anacron[28183]: Normal exit (1 job run)
我错过了什么吗?
在检查 acrontab 和 crontab 的区别时,我注意到 anacrontab 文件包含两个附加变量HOME=/root
,LOGNAME=root
因此我将它们更改为我自己的用户空间。我试过设置DISPLAY=:0
,DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
但仍然没有运气。
请注意,我在终端中使用shell做了同样的事情,而没有更改任何环境变量,例如DISPLAY
.
您可以使用at来执行此操作:
您可以将此行放在您的 crontab 文件中,以便每次重新安排作业。注意“1000”是您的用户 ID
id -u
:。感谢user535733