pids=`pgrep -u $user gnome-panel`
我发现gnome-panel不在那里了。搜索了一下解决方法,发现很多人抱怨这个解决方法已经不再起作用了。因此,我对这个问题进行了一些研究,并想出了这个(notify-plugin2.sh):
#!/bin/bash
DBUS_SESSION_BUS_ADDRESS=$(cat /home/user/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0 | grep DBUS_SESSION_BUS_ADDRESS= | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//')
su user Test.sh $DBUS_SESSION_BUS_ADDRESS
在切换到非root用户之前,获取DBUS_SESSION_BUS_ADDRESS
。如果我没有理解错的话,这个语句是有效的。基于上面链接中的代码,我编写了另一个脚本(Test.sh
)。
#!/bin/sh
user=`whoami`
title="Test"
timeout=30000
icon="~/Pictures/PicturesForPwrPoint/Pluged.jpg"
DBUS_SESSION_BUS_ADDRESS=$1
echo $DBUS_SESSION_BUS_ADDRESS
DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS \ notify-send -u low -t $timeout -i "$icon" "$title"
从其他代码中我所看到的,唯一的问题就是获取
DBUS_SESSION_BUS_ADDRESS
。如果我没错的话,只要解决了这个问题,就可以实现弹出屏幕上的漂亮窗口了。因此我的问题是:为什么启动时没有出现漂亮的弹出消息?
sudo sh notify-plugin2.sh