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