如何显示来自 anacrontab 的消息

如何显示来自 anacrontab 的消息

我尝试在 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=/rootLOGNAME=root因此我将它们更改为我自己的用户空间。我尝试设置DISPLAY=:0DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus但仍然没有成功。

请注意,我做了同样的事情在终端没有改变任何环境变量,如DISPLAY

答案1

您可以使用去做这个:

echo "XDG_RUNTIME_DIR=/run/user/1000 notify-send -u critical \"test\"" | at 10am + 4 days

您可以将这一行放入 crontab 文件中,以便每次重新安排作业。注意“1000”是您的用户 ID id -u:。

谢谢用户535733

相关内容