私のインターネットは時々切断されます。インターネットが再接続するたびにBashスクリプトを実行したいと思います。
スクリプトは非常に簡単です。
#!/bin/bash
mplayer /home/user/sound.mp3
/usr/bin
に配置され、ターミナルでonline_notifier
として呼び出すと完全に機能します。
インターネットが再接続するたびにこのスクリプトを実行したいと思います。 /etc/network/interfaces/
ファイルに次の行を追加してみました。
post-up sound_notifier
これは、そのファイルの完全なコンテンツです。
auto lo
iface lo inet loopback
post-up sound_notifier
私もフルパスで試しました。しかし、うまくいきませんでした。 ifconfig
output がこれに役立ちます。
どうすればこれを達成できますか?
これは非常にシンプルなbashスクリプトです。 chmod +x
で実行可能にし、カスタム起動アプリケーションとして追加して、ログインごとにこれを継続的に実行します。 aplayについて述べたので、これはGUIだけでなくコマンドラインでも機能するはずです。私の現在のラップトップは音が出ないので、すべてをnotify-send
でテストする必要がありました。必要に応じてスクリプトを自由に調整してください。
#!/bin/bash
# set -x
while [ 1 ]; do
STATUS_CURRENT=$(nmcli -t -f STATE nm status)
if [[ $STATUS_CURRENT == "connected" && $STATUS_LAST != "connected" ]]; then
# replace this with aplay sound
notify-send "We've connected"
# Elif [[ $STATUS_CURRENT == "disconnected" && $STATUS_LAST == "connected" ]];then
# notify-send "Disconnected now"
fi
STATUS_LAST="$STATUS_CURRENT"
sleep 2
done
スクリプトの名前がsound_notifier
であり、/usr/bin
に配置されているとします:
Sudo chmod +x /usr/bin/sound_notifier
スクリプトを作成する/etc/network/if-up.d/start_sound_notifier
Sudo nano /etc/network/if-up.d/start_sound_notifier
以下のコードを追加します
#!/bin/sh
if [ "$METHOD" = loopback ]; then
exit 0
fi
# Only run from ifup.
# if [ "$MODE" != start ]; then
# exit 0
# fi
sound_notifier
スクリプトを実行可能にします。
Sudo chmod +x /etc/network/if-up.d/start_sound_notifier
それで全部です
;)