Еще со времен DOS можно было свистеть, гудеть и пикать встроенным динамиком компьютера, и даже симфонии играть. Сейчас это особо не нужно, ибо везде звуковые карты, динамики и прочая мультимедия. Но иногда PC-speaker нужная и полезная вещь, способная сигнализировать о чем либо, например, о разрыве соединения с Интернетом на домашнем сервере, к которому не подключен монитор, или о том, что торрент докачался. Да и вообще, способов, как можно применить спикер — множество. Даже симфонии можно играть.
Зачастую, PC-speaker в линуксе отключен, точнее, не загружен модуль ядра, который им управляет. Обычно это модуль pcspkr
, хотя, в некоторых источниках написано, что может быть и другой модуль snd-pcsp.
У меня оказался первый.
Проверить, загружен ли соответствующий модуль ядра можно командами
lsmod |grep pcspkr
и lsmod |grep snd-pcsp
соответственно.
Если команда ничего не выдала, то модуль не загружен.
Если выдала что-то похожее, значит, модуль загружен:
>lsmod |grep pcspkr pcspkr 1448 0
Если модуль не загружен, нужно попробовать его загрузить:
modprobe pcspkr
или
modprobe snd-pcsp
Если команда не выдала ошибки, модуль загружен. Можно проверить с помощью команды lsmod
. Если случилась ошибка, то печально. Модуль, скорее всего, придется собирать. Ну, или не так печально, а даже наоборот — модуль встроен в ядро, и PC-speaker по умолчанию включен. Попробуйте простой beep.
Для простого beep достаточно отправить на консоль символ с кодом 007, ASCII-символ BEL
echo -ne '\007'
Способ может не сработать из SSH-терминала, либо из терминала X. Терминал SSH «булькнет» не на удаленном компьютере, а на локальном, а X-server может перенаправить beep на колонки, вместо PC-speaker’a
Простые звуки и даже целые мелодии можно играть на спикере утилитой beep
.
На рабочей машине она уже была в комплекте ОС, на Ubuntu ее можно установить командой apt-get install beep
, а в Slackware она ставится через Sbopkg
Проект имеется на Github, можно собрать и из исходников
Примеры вызова:
beep
Без параметров издаст стандартный beep
beep -f 500 -l 1000
Выдаст звук частотой 500 Гц, продолжительностью 1 секунду (1000 миллисекунд)
Пример скрипта, играющего тему Die Gedanken Sind Frei из ролика в начале заметки.
Больше мелодий и ссылок на готовые скрипты Копия
How do I make my pc speaker beep. Еще больше про то, как можно пискнуть спикером.
3 Responses to PC-speaker в Linux, или как сделать beep из консоли встроенным динамиком ПК