MyTetra Share
Делитесь знаниями!
Как заставить работать утилиту beep в linux
Время создания: 07.02.2022 17:20
Текстовые метки: linux, beep, пищалка, звук
Раздел: Компьютер - Linux - Звук и аудио
Запись: xintrea/mytetra_syncro/master/base/1644243655vb3bqykgij/text.html на raw.github.com

Часто в современных дистрибутивах Linux не работает утилита beep, которая должна выводить звук на пищалку или звуковой динамик материнской платы. Устранить эту проблему можно следующими способами.


Самый первый способ - в файле /etc/modprobe.d/blacklist.conf закомментировать знаком решетки '#' строчку:


# blacklist pcspkr


после чего надо перегрузить данный модуль ядра:


sudo modprobe pcspkr


И звук должен начать выводиться.


Второй способ применим, если alsa перехватила управление beep и пытается выводить звук на колонки, а не вопроизводить набортным спискером. Для этого надо заблеклистить спикер в файле /etc/modprobe.d/alsa-base-blacklist.conf:


# blacklist snd-pcsp
# blacklist pcspkr


После чего надо перезагрузиться или перегрузить alsa.


Если эти способы не помогают, тогда надо попробовать добавить unix-пользователя, под которым вызывается утилита beep, в группы audio и dialout в файле /etc/group. Это странное решение, но в некоторых дистрибутивах оно работает.


В более старых Linux утилита beep была связана с наличием группы input. Возможно, что помещение пользователя в данную группу тоже может решить проблему.


В Arch Linux работает другое решение. По умолчанию, beep не будет выдавать звук, если запущена не с правами суперпользователя. Другие пользователи могут использовать ее при помощи sudo. Для передачи группе users возможности вызывать sudo beep без пароля (например, для использования в скриптах), следует отредактировать файл /etc/sudoers:


%users ALL=(ALL) NOPASSWD: /usr/bin/beep


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования