如何在 crontab 中使用通知发送?

Vit*_*lla 11 cron

我真的阅读了很多教程,但是 crontab 没有启动通知发送。

我试过的:

  1. etc/crontab

    最后补充:

    15 * * * * notify-send 'crontab' 'test'
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 crontab 界面:

    crontab -e
    
    Run Code Online (Sandbox Code Playgroud)

    最后补充:

    15 * * * * notify-send 'crontab' 'test'
    
    Run Code Online (Sandbox Code Playgroud)

Vit*_*lla 12

正如@Lnux 所建议的:

创建一个 .sh,例如test.sh

#!/bin/sh
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";

#Code:
DISPLAY=:0 notify-send "Test"
Run Code Online (Sandbox Code Playgroud)

然后设置crontab:

crontab -e
Run Code Online (Sandbox Code Playgroud)

在底部,添加:

* * * * * /home/myUser/test.sh
Run Code Online (Sandbox Code Playgroud)

注意:您可以将 .sh 文件放在另一个位置,并且不要忘记允许执行它。


Mic*_*vka 6

Crontab 在后台运行,如果没有指定的图形输出,它不会显示任何内容。所以你应该说明你想使用哪个输出。要实现这一点,请放在export DISPLAY=:0 &&您的命令之前,例如

15 * * * * export DISPLAY=:0 && notify-send 'I am alive!'