当网线拔掉或任何特定接口(例如 eth0 或 eth1)均无可用网络时,如何在 PC 中发出哔哔声?
跟进:
$ sudo apt-get install beep
$ cat /etc/modprobe.d/blacklist.conf | grep 'pcspkr'
blacklist pcspkr
$ sudo vim /etc/modprobe.d/blacklist.conf
#blacklist pcspkr
:wq
$ sudo modprobe pcspkr
$ beep
答案1
您不会想一直运行 wget 来了解网络是否可用:您正在寻找的是“post-up”脚本。这有点高级,但您应该能够做到这一点。
首先,弄清楚如何发出声音。您可以使用@iUngi 使用的方法,例如echo -e
或beep
。
要将此蜂鸣声添加到有网络的位置,请使用以下信息https://wiki.ubuntu.com/OnNetworkConnectionRunScript
您感兴趣的部分(但请阅读全文!)是这样的:
编辑文本配置文件 /etc/network/interfaces 并将以下指令 pre-up 、 post-up 、 pre-down 、 post-down 之一添加到适当的网络连接,例如:
自动 eth0
iface eth0 inet dhcp
名称 WiFi
post-up /etc/network/if-up.d/myscript.sh重启网络:
/etc/init.d/networking 重启
显然,你可以添加额外的检查,例如 ping,或者curl --head
如果你的连接不是一直在线,则只获取标头 ( )互联网但可以是本地连接(并且您不希望听到哔哔声),但我认为在所有情况下都不需要这样做。
答案2
您可以使用以下脚本:
wget --spider http://www.google.com
if [ "$?" != 0 ]; then
echo -e '\a'
fi
这将检查是否可以访问 Google。如果不能,则发出哔哔声。您可以使用一段时间循环来发出更多次哔哔声。您也可以使用 cronjob 来检查连接性。
还有嘟还要检查是否在黑名单中
cat /etc/modprobe.d/blacklist.conf | grep 'pcspkr'
如果它在 blacklist.conf 文件中,你必须取消其注释。