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

在新版本的gnome-ubuntu系统中,发现crontab 中的 notify-send 不能显示通知(某些版本的ubuntu中是可以显示的,如Mint),但命令确实执行了,因为其中的无UI命令都执行了。当然后面Google到了具体的解决办法,记录如下:
  写一个代码引用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 "提醒" "准备下班!"

经测试,通知完美显示。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容