Недавно понадобилось мне обязательно дождаться момента, когда в сети появится одна машинка, для чего я поставил пинг и сел ждать. После минуты вмыка на "destination is unreachable" я решил сделать так, чтобы при появлении ответных пакетов мой "пылесос" просвистел мне об этом в системный спикер. Погуглив, нашел отличный вариант, и немного его модернизировал. Вот, что получилось:
Установим необходимый пакет:
sudo apt-get install beep
Разблокируем скорее всего заблокированный встроенный бипер:
sudo nano /etc/modprobe.d/blacklist.conf
Ищем в файле строчку blacklist pcspkr и каментим ее, сохранеяем файл.
Затем пишем:
sudo modprobe -r pcspkr && modprobe pcspkr
Чтобы окончательно дать возможность заработать спикеру. Проверяем работоспособность:
beep
Если ищит - все ок, значит копипастим код ниже:
#to beep with pcspcr when ping
beepwhenup ()
{
echo 'Enter host you want to ping:';
read PHOST;
if [[ "$PHOST" == "" ]]; then
exit;
fi;
while true;
do ping -c1 -W2 $PHOST 2>&1 >/dev/null;
if [[ "$?" == "0" ]]; then
for j in $(seq 1 4); do beep -f 3000 -l 200 -r 50 -d 200;
done;
ping -c1 $PHOST;
break;
fi;
done;
}
Это все счастье мы записываем в конец ~.profile и выполняем:
cd ~/
. .profile
для того, чтобы команда beepwhenup попала в систему. Выполнять . .profile
нужно будет при каждой перезагрузке.
Теперь по команде beepwhenup терминал попросит у вас ввести IP пингуемого хоста, и будет ждать, а когда появится пинг - сообщит вам приятным попискиванием (частотой 3000, 50 раз, длительностью в 200 мс и интервалом в 200 мс).
Но!!! Стоит помнить, что спикер будет пищать И НЕ ЗАТКЕТСЯ, пока не будет выполнено все 50 писков.
Приятного пользования.
Установим необходимый пакет:
sudo apt-get install beep
Разблокируем скорее всего заблокированный встроенный бипер:
sudo nano /etc/modprobe.d/blacklist.conf
Ищем в файле строчку blacklist pcspkr и каментим ее, сохранеяем файл.
Затем пишем:
sudo modprobe -r pcspkr && modprobe pcspkr
Чтобы окончательно дать возможность заработать спикеру. Проверяем работоспособность:
beep
Если ищит - все ок, значит копипастим код ниже:
#to beep with pcspcr when ping
beepwhenup ()
{
echo 'Enter host you want to ping:';
read PHOST;
if [[ "$PHOST" == "" ]]; then
exit;
fi;
while true;
do ping -c1 -W2 $PHOST 2>&1 >/dev/null;
if [[ "$?" == "0" ]]; then
for j in $(seq 1 4); do beep -f 3000 -l 200 -r 50 -d 200;
done;
ping -c1 $PHOST;
break;
fi;
done;
}
Это все счастье мы записываем в конец ~.profile и выполняем:
cd ~/
. .profile
для того, чтобы команда beepwhenup попала в систему. Выполнять . .profile
нужно будет при каждой перезагрузке.
Теперь по команде beepwhenup терминал попросит у вас ввести IP пингуемого хоста, и будет ждать, а когда появится пинг - сообщит вам приятным попискиванием (частотой 3000, 50 раз, длительностью в 200 мс и интервалом в 200 мс).
Но!!! Стоит помнить, что спикер будет пищать И НЕ ЗАТКЕТСЯ, пока не будет выполнено все 50 писков.
Приятного пользования.
а достаточно было почитать man ping на предмет ping -a
ОтветитьУдалить:)