Как отключить звуки PC Speaker в Linux? 3 0
Рецепт был опубликован 31 января 2010 года в 21:12, а менялся 10 февраля 2020 года в 03:30.
Надоедливый писк PC Speaker’а зачастую досаждает многим пользователям GNU/Linux-систем — особенно в тех нередких случаях, когда авторы дистрибутивов оставили звуки (бипы) включенными по умолчанию. Как же отключить PC Speaker?
За его работу отвечает модуль Linux-ядра pcspkr. Для того, чтобы он перестал функционировать, достаточно выгрузить его из системы:
Если вы хотите, чтобы этот модуль больше никогда автоматически не загружался при старте системы, нужно занести его в «черный список» модулей Linux-ядра, который учитывается при загрузке Linux. Обычно нужный файл можно найти по адресу /etc/modprobe.d/blacklist, но, например, в случае современных релизов Ubuntu Linux (9.10 «Karmic Koala») он называется немного по-другому: /etc/modprobe.d/blacklist.conf. Кроме того, зачастую файл blacklist может быть разбит на несколько, по типам устройств (все они располагаются в том же /etc/modprobe.d, но с именами, например, вида blacklist-*.conf) — тогда стоит довериться банальной логике и подобрать наиболее подходящий вариант. Итак, для отключения PC Speaker при загрузке Linux-системы (и бипов во время работы в ней) необходимо добавить в blacklist следующую запись:
Чтобы вновь его активировать в запущенной системе, достаточно выполнить:
А чтобы вновь восстановить его подключение при загрузке системы — закомментировать или удалить добавленную вами ранее строку в blacklist.
PC speaker (Русский)
Состояние перевода: На этой странице представлен перевод статьи PC speaker. Дата последней синхронизации: 21 ноября 2017. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Хотим мы этого или нет, компьютер часто издает звуковые сигналы и другие звуки. Они происходят из различных источников и, как правило, вы можете настроить условие или время для их срабатывания. Для случаев, когда нет звуковой карты или динамиков, и требуется простое аудио оповещение, смотрите раздел #Beep.
Звуковой сигнал компьютера может раздасться из встроенного динамика, колонок или наушников, которые подключены к звуковой карте (в некоторых случаях шум может быть неожиданно громким).
Примечание: Звуковые сигналы могут быть вызваны BIOS (базовая система ввода/вывода), OS (операционная система), DE (окружение рабочего стола), или различными приложениями. BIOS вызывает наибольшие проблемы из-за того, что он хранится на чипе EPROM, на материнской плате, и единственным непосредственным управлением, которое доступно пользователю, остается включение/выключение питания. Внести какие-либо изменения для него невозможно, если настройки BIOS не имеют опции, которые вы можете применить, или вы не хотите попробовать перепрограммировать этот чип с соответствующей прошивкой. Сгенерированые BIOS звуковые сигналы задаются не здесь, но вы можете вовсе отсоединить встроенный динамик для отключения всех системных звуков. (Делайте это на свой страх и риск.)
Отключение PC Speaker
Отключение конкретного источника звука, в то время, когда остальные продолжают работать, возможно только в том случае, если мы может определить какая часть окружения сгенерировала конкретный звук. Это позволяет выборочно настраивать звуки. Пожалуйста, размещайте свои примеры настроек и конфигураций, которые могут оказаться полезными для других пользователей.
Глобально
PC speaker может быть отключен выгрузкой модуля ядра pcspkr :
Помещение в черный список модуля pcspkr предотвратит его загрузку udev при загрузке системы:
# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
Размещение в черном списке в командной строке ядра — еще один способ добиться похожего эффекта. Просто добавьте modprobe.blacklist=pcspkr к вашей строке начальной загрузки ядра.
Xorg
You can add this command to a startup file such as /etc/xprofile to make it permanent. See xprofile for more information.
Терминал
Вы можете добавить эту команду в /etc/profile или в отдельный файл вроде /etc/profile.d/disable-beep.sh :
Другой способ — это раскомментировать или добавить строку в /etc/inputrc или ~/.inputrc :
Постраничный вывод утилитой Less
Для отключения PC speaker при использовании утилиты less , вы можете запустить её с параметром less -q , чтобы заглушить PC speaker по достижении конца постраничного вывода, или less -Q чтобы отключить повсеместно. Для получения справки, выполните man -P «less -Q» или настройте переменные окружения $MANPAGER или $PAGER .
Также, вы можете добавить следующие строки в ваш .bashrc:
alias less='less -Q' alias man 'man -P "less -Q"'
ALSA
Для большинства звуковых карт PC speaker отображается как канал ALSA, и может называться как PC Speaker, PC Beep, или Beep. Чтобы заглушить динамик, воспользуйтесь alsamixer или amixer.
$ amixer set channel 0% mute
Для включения звука обратитесь к странице руководства Advanced Linux Sound Architecture#Unmuting the channels.
Совет: Если вы используете PulseAudio и канал PC speaker не отображается в устройствах ALSA по умолчанию, попробуйте выбрать устройства соответствующей звуковой карты — прокси-контроль PulseAudio может не отображать PC speaker
GNOME
При использовании GSettings:
$ gsettings set org.gnome.desktop.wm.preferences audible-bell false
Cinnamon
В Cinnamon вероятно используется звук «падающей капли». Для его отключения, измените в dconf:
$ dconf write /org/cinnamon/desktop/wm/preferences/audible-bell false
GTK+
Добавьте следующую строку в ~/.gtkrc-2.0 :
Добавьте такую же строку в секцию [Settings] файла $XDG_CONFIG_HOME/gtk-3.0/settings.ini :
Beep
Beep — это улучшенная программа для подачи звукового сигнала посредством PC speaker. Она может оказаться востребована в ситуациях, когда звуковая карта отсутствует или нет доступных динамиков, но требуется простое звуковое уведомление.
Установка
Возможно, вам потребуется включить звук канала PC speaker в ALSA.
Доступ для обычных (non-root) пользователей
По умолчанию, beep не будет работать, если запущена не с правами суперпользователя. Другие пользователи могут использовать ее при помощи sudo. Для передачи группе users возможности вызывать sudo beep без пароля (например, для использования в скриптах), следует отредактировать /etc/sudoers :
%users ALL=(ALL) NOPASSWD: /usr/bin/beep
или выдать права только одному пользователю:
username ALL=(ALL) NOPASSWD: /usr/bin/beep
Также можно настроить бит закрепления в памяти /usr/bin/beep :
Обратите внимание, что при этом любой сможет выполнять /usr/bin/beep без прав суперпользователя. Изменение также создаст разность между локальной копией и пакетом, о чем будет сообщено в pacman -Qkk .
Полезные советы
В то время, как большинство пользователей устраивает звуковой сигнал по умолчанию, некоторые, возможно, захотят его слегка изменить. Следующий пример позволит сделать звуковой сигнал выше и короче, и повторит два раза.