无法从 cronjob 运行通知发送

无法从 cronjob 运行通知发送

在我的 Kubuntu 22.04 中,我的 crontab 运行的脚本使用了notify-send。但是,它不起作用:没有弹出窗口出现。如果我将stderr脚本的输出(特别是)重定向到文件,则会打印此错误:

Error calling StartServiceByName for org.freedesktop.Notifications: Timeout was reached

如果我notify-send直接从 cronjob 运行,

0 * * * * env DISPLAY=:0.0 notify-send --expire-time=0 --app-name="Test" 'Test text' 1>/tmp/out1 2>/tmp/out2

out1out2都是空的;但是,这不像以前那样有效。弹出窗口不会出现。

有没有办法让它notify-send按预期工作?

答案1

我猜想,要notify-send在 cron 作业中工作,您必须DBUS_SESSION_BUS_ADDRESS从当前桌面会话复制环境变量并将其设置在 cron 作业中。此外,notify-send必须以当前登录到桌面会话的同一用户身份运行。

至少对我来说这是有效的。

相关内容