我的互联网时不时会断线。每次互联网重新连接时,我都想运行 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
输出,如果有帮助的话。
我怎样才能实现这个目标?
答案1
这是一个非常简单的 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
答案2
假设您的脚本有名称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
就这样
;)