我有一个 bash 脚本,仅当我的笔记本电脑连接到网络时才使用 notify-OSD 打印通知。所以我把 bash 脚本放在 /etc/network/if-up.d
我将一些日志消息打印到文件中以确认脚本确实正在运行。但是通知的东西似乎不起作用。我刚刚将这一行添加到文件中
notify-send -u 'critical' -i /home/vivek/Downloads/proxy.ico 'SetProxy Status' 'proxy set to auto'
但是,当我像这样从终端显式运行该脚本(通过双击它或)时:
cd /etc/network/if-up.d
./setproxy
setproxy 是 bash 文件的名称,然后我看到通知工作正常。为什么会有这种行为?我怎样才能解决这个问题?我正在使用 ubuntu 12.04
/tmp/trace 中的输出:
+ nmcli con status
+ grep -q 'Hostel\|IITD'
+ '[' 1 -eq 0 ']'
+ gsettings set org.gnome.system.proxy mode none
** (process:12320): WARNING **: Command line `dbus-launch --autolaunch=673e71ca3fc5f402403d22380000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
** (process:12320): WARNING **: Command line `dbus-launch --autolaunch=673e71ca3fc5f402403d22380000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
+ echo 'You are outside college! No Proxy'
+ notify-send -u critical -i /home/vivek/Downloads/proxy.ico 'SetProxy Status' 'You are outside college, proxy set to none'