- Пищалка в линуксе: beep
- подскажите пожалуйста,почему PC спикер не пищит..
- [SOLVED]beep не работает
- Beep in shell script не работает?
- 10 ответов
- Для консоли Linux ( CTRL + ALT + F1 . F6 ):
- Почему это не работает по умолчанию
- Для терминалов X11 (например, по умолчанию gnome-terminal )
- Почему это не работает по умолчанию
Ёж — птица гордая, пока не пнёшь — не полетит
Пищалка в линуксе: beep
17.07.13 02:36 / Обновлено 17.07.13 03:35 | Версия для печати | Linux | Программы |
В нашей серверной сервера не пронумерованы, порядка нету никакого. А ещё на них стоит линукс, который годами работает без сбоев. И по прошествии лет как-то забывается, на каком сервере что установлено. Получается так, что ты знаешь имя сервера, заходишь на него по ssh для диагностики — вот он, родной, а где стоит сама железяка — хрен его знает. Бывает, что необходимо узнать.
В такие моменты иногда спасает команда » eject -T » и сервер определяется по высунутому языку лотка сиди-и-рви. Но и здесь может подстерегать чудный облом. Поскольку, как я уже говорил, на серверах стоит линукс, сидиромы им не нужны: только занимают место, собирают пыль и жрут энергию, которой и так в мире дефицит. Поэтому на половине серверов — сидиромов тупо нет.
Зато на каждом уважающем себя сервере должна быть установлена пищалка (унылые любители суржика ещё называют её «спикером», а скучные педанты — «системным динамиком»). Это мелкая хрень, которая раньше впаивалась в материнскую плату, потом стала подсоединяемой, а в последнее время её постоянно забывают положить в комплект; её задача — пищать. Один короткий писк при старте загрузки и целая азбука морзе (см. документацию к маме), если с железом что-то не в порядке.
Пищалка — единственная связь материнской платы с внешним миром, когда поломалось «железо». Поэтому, повторюсь, на любом сервере пищалка должна быть установлена в обязательном порядке. И ею можно пищать из системы!
1. Устанавливаем пакет beep
apt-get install beep
2. Загружаем модуль ядра pcspkr (можно snd_pcsp, но лучше pcspkr), если не загружен. Скорее всего — не загружен, а без него пищать не будет. Это драйвер пищалки.
Оба модуля не подгружаются автоматически, потому что находятся в ч0рном списке модулей ( /etc/modprobe.d/blacklist.conf ). snd_pcsp — за то, что он «низкокачественный», «тупо шумит при попытке проигрывания звука», да ещё и «подвисает при входе в графическую сессию». pcspkr — потому что «мерзкий громкий писк, нервирующий каждого» и «вместо него есть приятный пульсаудио». Первый раз читал — ржал в голос.
В общем, pcspkr можно смело из ч0рного списка удалять.
3. Пищим
Если устанавливать программу beep и подгружать драйвер надо от рута, то пищать можно (и нужно) от обычного пользователя.
4. Проявляем изобретательность
beep -f 196 -l 400 -n -f 262 -l 800 -n -f 196 -l 600 -n -f 220 -l 200 -n -f 247 -l 800 -n -f 165 -l 400 -n -f 165 -l 400 -n -f 220 -l 800 -n -f 196 -l 600 -n -f 175 -l 200 -n -f 196 -l 800 -n -f 131 -l 400 -n -f 131 -l 400 -n -f 147 -l 800 -n -f 147 -l 400 -n -f 165 -l 400 -n -f 175 -l 800 -n -f 175 -l 400 -n -f 196 -l 400 -n -f 220 -l 800 -n -f 247 -l 400 -n -f 262 -l 400 -n -f 294 -l 1200 -n -f 196 -l 400 -n -f 330 -l 800 -n -f 294 -l 600 -n -f 262 -l 200 -n -f 294 -l 800 -n -f 247 -l 400 -n -f 196 -l 400 -n -f 262 -l 800 -n -f 247 -l 600 -n -f 220 -l 200 -n -f 247 -l 800 -n -f 165 -l 400 -n -f 165 -l 400 -n -f 220 -l 800 -n -f 196 -l 400 -n -f 175 -l 400 -n -f 196 -l 800 -n -f 131 -l 400 -n -f 131 -l 400 -n -f 262 -l 800 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 196 -l 1600 -n -f 330 -l 1600 -n -f 294 -l 400 -n -f 262 -l 400 -n -f 247 -l 400 -n -f 262 -l 400 -n -f 294 -l 1200 -n -f 196 -l 400 -n -f 196 -l 1600 -n -f 262 -l 1600 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 196 -l 400 -n -f 220 -l 400 -n -f 247 -l 1200 -n -f 165 -l 400 -n -f 165 -l 1600 -n -f 262 -l 800 -n -f 220 -l 600 -n -f 247 -l 200 -n -f 262 -l 800 -n -f 220 -l 600 -n -f 247 -l 200 -n -f 262 -l 800 -n -f 220 -l 400 -n -f 262 -l 400 -n -f 350 -l 1600 -n -f 350 -l 1600 -n -f 330 -l 400 -n -f 294 -l 400 -n -f 262 -l 400 -n -f 294 -l 400 -n -f 330 -l 1200 -n -f 262 -l 400 -n -f 262 -l 1600 -n -f 294 -l 1600 -n -f 262 -l 400 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 247 -l 400 -n -f 262 -l 1200 -n -f 220 -l 400 -n -f 220 -l 1600 -n -f 262 -l 800 -n -f 247 -l 400 -n -f 220 -l 400 -n -f 196 -l 800 -n -f 131 -l 600 -n -f 131 -l 200 -n -f 196 -l 1600 -n -f 220 -l 800 -n -f 246 -l 800 -n -f 262 -l 3200
-f — частота, от 0 до 20 000 герц
-l — длительность, в миллисекундах
-n — новый писк
5. Выгружаем модуль с чувством выполненного долга, чтобы не жрал целых 8 килобайт оперативы.
Способы применения: будильник (по крону, мерзкий звук — самое оно), идентификация серверов и рабочих станций (пользователь сам позвонит в панике, особенно если системник начнёт пищать, как таймер на бомбе из фильмов), сигнал об окончании работы фонового скрипта и т.д.
Источник
подскажите пожалуйста,почему PC спикер не пищит..
добрый день!возник такой вопрос. хочу чтоб PC спикер пропищал, выполняю команду echo -e «\a» — не пищит. делаю printf «\a» — не пищит. PC спикер точно работает (пищит при загрузке биос) в системе процесс pcspkr определяется.система fedora 8. может я не правильно что то делаю? может надо устройство указать какое-нибудь. как быть. помогите пожалуйста
>в системе процесс pcspkr определяется.
Это не процесс, это модуль(драйвер) ядра.
lsmod |grep pcspkr
ну я это и имел в виду
Поставь прогу beep.
что за прога. мне просто в дальнейшем хотелось бы сделать так чтоб при загрузке комп пищал 3 раза,когда полностью загрузится система..эта программка позволит так сделать?
Да. После установки проги — echo ‘beep -r3’ >> /etc/rc.local
а где ее взять можно? че-то нигде найти не могу
и еще бы ее описание. что она умеет. команды. и тд
Если ядро самосбор, то спикер может оказаться в нём выключенным. По памяти путь к опции не скажу.
нет я дро не самосборное, да и модуль pcspkr всегда загружен
а может такое быть что на каком-то компе команда echo -e «\a» пикает. а на другом выполняется, но не пикает нет? от чего это может зависеть.
а где ее взять можно? че-то нигде найти не могу
Эта программа обычно есть в репозиториях и так и называется — beep. Какой у тебя дистрибутив?
и еще бы ее описание. что она умеет. команды. и тд
Например вот так она будет играть спикером имперский марш из Звёздных Войн:
Посмотрите в alsamixer, возможно он Mute или громкость выкручена на минимум.
Источник
[SOLVED]beep не работает
app-misc/beep молчит, echo -e ‘\a’ — тоже.
Answer: Видимо, китайцы не положили пищалку в мою машину.
Еще немного материала в тему(включая то, как всё-таки заставить работать speaker в иксах): https://wiki.archlinux.org/index.php/PC_speaker
его давно отключили. как программно так видимо и аппаратно. нужно удостоверится что он в принципе работает. может его надо включить в параметрах ядра но это не точно.
в python есть две либы для звука
нашел свои старые сообщения про убунту:
для десктопного компьютера вопрос решается следующим образом: закоментируйте решеткой строчку blacklist pcspkr в файле /etc/modprobe.d/blacklist.conf дальше sudo modprobe pcspkr и beep будет работать.
peregrine писал: пищалка по дефолту отключена за надоедливостью и плохим воздействием на звук. Добавлю к топику jura12, что вероятно придётся включить beep в alsamixer.
Способ может не сработать из SSH-терминала, либо из терминала X. Терминал SSH «булькнет» не на удаленном компьютере, а на локальном, а X-server может перенаправить beep на колонки, вместо PC-speaker’a
Источник
Beep in shell script не работает?
Я хотел бы использовать звуковой сигнал в сценарии оболочки. К сожалению, ни один из методов, которые я нашел через Google, не работает для меня.
и команда beep после того как я установил его через apt.
Что может быть причиной?
10 ответов
Первый забег sudo modprobe pcspkr а потом beep должно сработать.
Причина этого не в том, что по умолчанию Ubuntu больше не загружает драйвер оборудования, который выдает звуковые сигналы.
Если это работает для вас, чтобы разрешить загрузку pcspkr, отредактируйте /etc/modprobe.d/blacklist.conf файл (используя gksudo gedit возможно) и закомментируйте строку с надписью blacklist pcspkr так это выглядит так:
Не будучи поклонником звукового сигнала pcspkr, я использую звуковой сигнал одного из системных звуков с помощью команды paplay установленного сервера pulseaudio.
Сначала найдите понравившийся вам звук (например, вы можете просмотреть / usr / share / sounds для некоторых доступных) и создать ссылку на него.
Тогда имейте это доступным как команда
Теперь просто беги beep всякий раз, когда вам это нужно. Например, чтобы предупредить вас о завершении команды:
Так как это вопрос с очень высоким рейтингом в Google, я добавлю шаги, которые я сделал, чтобы снова включить звуковой сигнал в консоли и X11:
Для консоли Linux ( CTRL + ALT + F1 . F6 ):
Почему это не работает по умолчанию
Как уже ответили, pcspkr Драйвер ядра для ПК Speaker занесен в черный список в Ubuntu.
Временно включить до перезагрузки:
Автоматически включить при загрузке:
(удалить или оставить комментарий pcspkr линия, добавив его с # )
Для терминалов X11 (например, по умолчанию gnome-terminal )
Почему это не работает по умолчанию
В X, как и при использовании Unity, KDE, Gnome Shell, звуковые события регистрируются PulseAudio благодаря module-x11-bell , который загружается по умолчанию в /usr/bin/start-pulseaudio-x11 , И образец звука PulseAudio играет на звуковой сигнал, bell.ogg , пусто по умолчанию. Кроме того, громкость звонка может быть отключена.
Чтобы временно включить текущий сеанс,
Есть другие подходящие образцы, которые вы можете попробовать /usr/share/sounds Например, проверьте те на /usr/share/sounds/gnome/default/alerts/
Обратите внимание, что beep Программа на самом деле не нужна. Но если он установлен, он использует динамик ПК. Это был единственный способ включить зуммер под X:
Чтобы автоматически включить при загрузке, просто добавьте вышеупомянутые строки в
/.profile или общесистемный в /etc/profile
Чтобы проверить это:
Чтобы решить эту проблему постоянно:
- Бежать gconf-editor и если desktop | gnome | peripherals | keyboard | bell_mode настройка присутствует, затем измените ее с off в on
- Бежать dconf-editor и если org | gnome | settings-daemon | peripherals | keyboard | bell-mode настройка присутствует, затем измените ее с off в on
- добавлять pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg в файл
/.xprofile (тебе нужно gnome-control-center-data за glass.ogg )
добавлять [ «$DISPLAY» ] && xset b 100 в файл
Самый простой способ активировать это решение — перезагрузить компьютер.
Кроме того, чтобы немедленно реализовать это решение для окна терминала, которое уже открыто, запустите pactl командовать и запустить xset команда в окне терминала в вопросе.
Я сталкивался с этой проблемой раньше. Из того, что я помню, проблема в том, что терминал звонка пытается позвонить во внутренний компьютерный динамик (как в настольном компьютере старой школы), но ноутбуки и некоторые более новые компьютеры пропускают такую вещь.
Единственное решение, которое я нашел в то время, было sudo apt-get install sox а также
» Звуковой сигнал работает только в том случае, если на вашем ПК есть» динамик «. У многих современных ноутбуков / небольших устройств его нет».
Попробуйте сыграть такой звук: play xxxxx.wav Я нашел хороший WAV- файл, который кажется коротким и приятным, но вы также можете выбрать и свой собственный. Работает для меня, когда все остальное не удалось.
Если к компьютеру подключены фактические динамики, и вы не получаете звуковой сигнал, скорее всего, вы используете compiz. Compiz полагается на pulseaudio, который ловит звуковые сигналы и воспроизводит их, в то время как metacity обходит обычные настройки и использует libcanberra для воспроизведения звукового сигнала. Если это работает с metacity, а не compiz, то это ваша проблема, в противном случае htorque дал ответ.
Я наконец нашел решение, которое не требует alsamixer иметь опцию звукового сигнала ПК. Я думаю, что я помню все мои изменения:
раскомментируйте следующее в /etc/pulse/default.pa :
за эту ошибку, запустить pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
Я добавил эту небольшую функцию в свой.bashrc в качестве замены звукового сигнала:
Он ищет файл в /usr/share/ звуки, начиная с предоставленного аргумента или «колокольчика», и воспроизводит его. beep —list возвращает список файлов в /usr/share/ Sounds.
Альтернативный подход — установите xterm / console на «Visual Bell», чтобы при звуковом сигнале окно просто ненадолго инвертировало свои цвета.
У меня есть функция bash под названием beep, чтобы привлечь мое внимание после завершения команды.
И это используется таким образом
Возможно, уже слишком поздно, НО для парня в будущем, ищущего это:
Сегодня, июнь 2020 года, в Ubuntu 18.04 вся sudo modprobe pcspkr и комментируя из blacklist pcspkr часть /etc/modprobe.d/blacklist.conf file, как описано здесь, не кажется необходимым.
Мой все еще находится в черном списке, но звук моего звонка работает нормально!
Вместо этого просто убедитесь, что звук звонка на терминале включен на вашем gnome-terminal настройки:
Щелкните правой кнопкой мыши на экране в gnome-terminal -> Настройки -> установите флажок «Терминальный звонок» в разделе «Звук», как показано ниже:
Теперь запустите это и услышите глухой звук характерного звука колокольчика:
Это также работает с удаленными сеансами ssh, что очень удобно, например, при сборке на удаленной машине, так что он будет воспроизводить звук звонка, когда сборка будет завершена, чтобы предупредить вас:
Обратите внимание, что также нажатие, Backspace когда нечего удалять, также будет воспроизводить этот звук в gnome-terminal .
Источник