红联Linux门户
Linux帮助

crontab中的notify-send不能显示通知的处理方法

发布时间:2016-09-12 09:53:52来源:jianshu作者:四月的妖怪
在新版本的gnome-ubuntu系统中,发现crontab 中的 notify-send 不能显示通知(某些版本的ubuntu中是可以显示的,如Mint),但命令确实执行了,因为其中的无UI命令都执行了。当然后面搜索到了具体的解决办法,记录如下:
 
写一个代码引用otify-send :
#!/bin/bash 
# showtips
source /home/work/.bashrc
pid=$(pgrep -u work gnome-session | head -n 1)
dbus=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed 's/DBUS_SESSION_BUS_ADDRESS=//' )
export DBUS_SESSION_BUS_ADDRESS=$dbus
export HOME=/home/work
export DISPLAY=:0
/usr/bin/notify-send  $1 $2 $3 $4
 
注意变更其中的目录/home/work/为你实际的目录路径,保存为/usr/bin/showtips,赋于showtips运行权限:
sudo chmod +x /usr/bin/showtips
 
然后在crontab中使用showtips代替 notify-send
56-59 16 * DISPLAY=:0 /usr/bin/showtips -i /home/work/tips.png "提醒" "准备下班!"
经测试,通知完美显示。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24093.html