PC speaker (Русский)

From ArchWiki
Jump to: navigation, search
Состояние перевода: На этой странице представлен перевод статьи PC speaker. Дата последней синхронизации: 21 ноября 2017. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Хотим мы этого или нет, компьютер часто издает звуковые сигналы и другие звуки. Они происходят из различных источников и, как правило, вы можете настроить условие или время для их срабатывания. Для случаев, когда нет звуковой карты или динамиков, и требуется простое аудио оповещение, смотрите раздел #Beep.

Звуковой сигнал компьютера может раздасться из встроенного динамика, колонок или наушников, которые подключены к звуковой карте (в некоторых случаях шум может быть неожиданно громким).

Примечание: Звуковые сигналы могут быть вызваны BIOS (базовая система ввода/вывода), OS (операционная система), DE (окружение рабочего стола), или различными приложениями. BIOS вызывает наибольшие проблемы из-за того, что он хранится на чипе EPROM, на материнской плате, и единственным непосредственным управлением, которое доступно пользователю, остается включение/выключение питания. Внести какие-либо изменения для него невозможно, если настройки BIOS не имеют опции, которые вы можете применить, или вы не хотите попробовать перепрограммировать этот чип с соответствующей прошивкой. Сгенерированые BIOS звуковые сигналы задаются не здесь, но вы можете вовсе отсоединить встроенный динамик для отключения всех системных звуков. (Делайте это на свой страх и риск.)

Отключение PC Speaker

Отключение конкретного источника звука, в то время, когда остальные продолжают работать, возможно только в том случае, если мы может определить какая часть окружения сгенерировала конкретный звук. Это позволяет выборочно настраивать звуки. Пожалуйста, размещайте свои примеры настроек и конфигураций, которые могут оказаться полезными для других пользователей.

Глобально

PC speaker может быть отключен выгрузкой модуля ядра pcspkr:

# rmmod pcspkr

Помещение в черный список модуля pcspkr предотвратит его загрузку udev при загрузке системы:

# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

Размещение в черном списке в командной строке ядра - еще один способ добиться похожего эффекта. Просто добавьте modprobe.blacklist=pcspkr к вашей строке начальной загрузки ядра.

Xorg

$ xset -b

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:

setterm -blength 0

Другой способ - это добавить или раскомментировать строку в /etc/inputrc или ~/.inputrc:

set bell-style none

ALSA

Для большинства звуковых карт PC speaker отображается как канал ALSA, и может называться как PC Speaker, PC Beep, или Beep. Чтобы заглушить динамик, воспользуйтесь alsamixer или amixer.

$ amixer set channel 0% mute

Для включения звука обратитесь к странице руководства Advanced Linux Sound Architecture (Русский)#Включить звук каналов.

Совет: Если вы используете 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:

gtk-error-bell = 0

Добавьте такую же строку в секцию [Settings] файла $XDG_CONFIG_HOME/gtk-3.0/settings.ini:

[Settings]
gtk-error-bell = 0

Подробно это рассмотрено в Gnome Developer Handbook.

Beep

Beep - это улучшенная программа для подачи звукового сигнала посредством PC speaker. Она может оказаться востребована в ситуациях, когда звуковая карта отсутствует или нет доступных динамиков, но требуется простое звуковое уведомление.

Установка

Установите пакет beep.

Возможно, вам потребуется включить звук канала 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:

# chmod 4755 /usr/bin/beep

Обратите внимание, что при этом любой сможет выполнять /usr/bin/beep без прав суперпользователя. Изменение также создаст разность между локальной копией и пакетом, о чем будет сообщено в pacman -Qkk.

Полезные советы

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

# beep -f 5000 -l 50 -r 2

Смотрите также