Как я могу заставить компьютер издавать звуковой сигнал, когда сетевой кабель отключен?

Как я могу издавать звуковой сигнал на ПК, когда сетевой кабель отключен или сеть не доступна для какого-либо конкретного интерфейса, такого как 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

2 ответа

Решение

Вы не будете хотеть продолжать писать бесконечно, чтобы знать, если у вас есть сеть: то, что вы ищете, это сценарий "после". Это довольно сложно, но вы должны быть в состоянии сделать это.

Сначала разберись, как сделать звук. Вы можете использовать методы, которые использует @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 restart

Например, вы можете добавить дополнительный контрольный пинг или просто получить заголовки (curl --head) если ваше соединение не всегда в Интернете, но может быть локальным (и тогда вы не хотите звуковой сигнал), но я думаю, что это не нужно во всех случаях.

Вы можете использовать следующий скрипт:

wget --spider http://www.google.com
if [ "$?" != 0 ]; then  
   echo -e '\a'
fi

Это проверка, доступен ли гугл или нет. Если нет, то пиши. Вы можете использовать цикл в то время как звуковой сигнал больше раз. Также вы можете использовать cronjob, чтобы проверить подключение.

Также есть звуковой сигнал, но также проверьте, есть ли в черном списке

cat /etc/modprobe.d/blacklist.conf | grep 'pcspkr'

Если он находится в файле blacklist.conf, вы должны раскомментировать это.

Другие вопросы по тегам