在我的 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