我有一個bash腳本,只有當我的筆記本電腦連接到網絡時,纔會使用notify-OSD打印通知。所以我已經將bash腳本放在/etc/network/if-up.d中自動運行時Bash腳本無法正常工作
我在文件中打印了一些日誌消息,以確認腳本確實在運行。但通知事情似乎並不奏效。我只是說此行的文件
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的名稱文件,然後我看到通知工作完美。爲什麼會這樣?我怎樣才能解決這個問題?我使用在/ tmp /跟蹤的Ubuntu 12.04
輸出:
+ 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'
感謝您的回覆。只是要清楚,你的意思是我需要添加這樣的東西:#!源〜/ .bashrc ||/etc/profile而不是通常的#!/ bin/bash? –
@VivekPradhan,no,'source'應該放在'#!/ bin/bash'之後的* next *行中 –
Ok @sputnick我試過這個: #!bin/bash source〜/ .bashrc ||源/ etc/profile,但我仍然看不到通知。你可以嘗試使用一個簡單的bash腳本來顯示通知,並將它放在/etc/network/if-up.d中,讓我知道你是如何工作的。 –