Как я могу издавать звуковой сигнал на ПК, когда сетевой кабель отключен или сеть не доступна для какого-либо конкретного интерфейса, такого как eth0 или eth1?
Последующие действия:
$ 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
Вы можете использовать следующий скрипт:
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, вы должны раскомментировать это.
Вы не будете хотеть продолжать бесконечно писать, чтобы узнать, есть ли у вас сеть: то, что вы ищете, это сценарий «пост-ап». Это довольно сложно, но вы должны быть в состоянии сделать это.
Сначала выясните, как сделать звук. Вы можете использовать методы, которые использует @iUngi, например echo -e
или beep
.
Чтобы добавить этот звуковой сигнал к точке, в которой у вас есть сеть, используйте информацию по адресу https://wiki.ubuntu.com/OnNetworkConnectionRunScript
Часть, которая вас интересует ( но прочитайте все!) вот что:
Отредактируйте текстовый файл конфигурации / etc / network / interfaces и добавьте одну из следующих директив pre-up, post-up, pre-down, post - до соответствующего сетевого подключения, например:
auto eth0
iface eth0 inet dhcp
имя WiFi
после запуска / etc / network /if-up.d/myscript.shперезагрузите сеть:
/etc/init.d/networking restart
Очевидно, что вы можете добавить дополнительный например, проверьте ping или просто получите заголовки (curl --head
), если ваше соединение не всегда в интернете , но может быть локальным (и тогда вам не нужен звуковой сигнал), но я думаю, это не должно быть необходимо во всех случаях.