crontab + 通知发送 + Ubuntu 16.04

crontab + 通知发送 + Ubuntu 16.04

在我的 Ubuntu 16.04 64 位操作系统中,我尝试了以下操作

* * * * * export DISPLAY=:0.0 && notify-send Hey "How are you"

* * * * * export DISPLAY=:0.0 && /usr/bin/notify-send Hey "How are you"

但不幸的是,它不起作用。

我在其他线程中发现上述命令有效。

如何在我的计算机上运行它?

该命令notify-send Hey "How are you"在终端上运行。

该命令也可以* * * * * echo "trying to notify at $(date)" >> /home/user/Desktop/test.txt从 crontab 文件正常运行

的输出$ echo $DISPLAY:0

$ who -u
cosmicraga   tty7         2016-11-07 06:45 06:12        2524 (:0)
cosmicraga   pts/1        2016-11-07 12:54   .          6333 (:0)
cosmicraga   pts/17       2016-11-07 12:50 00:02        6333 (:0)

答案1

notify.sh在主目录中创建文件。

#!/usr/bin/env bash

username=$(/usr/bin/whoami)
pid=$(pgrep -u $username nautilus)
dbus=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed 's/DBUS_SESSION_BUS_ADDRESS=//' )
export DBUS_SESSION_BUS_ADDRESS=$dbus

/usr/bin/notify-send "How are you"

在里面crontab

* * * * *  DISPLAY=0:0 /bin/sh /home/YOURUSERNAME/notify.sh

相关内容