在我的 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
out1
并且out2
是空的;但是,这并不像以前那样有效。弹出窗口不会出现。
有没有办法让notify-send
工作按预期进行?
我想要
notify-send
在 cron 作业中工作,您必须DBUS_SESSION_BUS_ADDRESS
从当前桌面会话复制环境变量并将其设置在 cron 作业中。此外,notify-send
必须以当前登录桌面会话的同一用户身份运行。至少这对我有用。