PC 揚聲器
無論用戶是否想要,電腦似乎經常會不時發出蜂鳴聲或其他聲音。它們的來源多種多樣,同樣你也許可以設置它們是否以及何時發生。對於沒有音效卡或揚聲器可用,同時希望有簡單音頻通知的情況,見#Beep。
來自電腦的聲音可以從機箱內置喇叭、揚聲器或插入音效卡的耳機(這種情況下噪音可能會出乎意料地大)聽到。
禁用PC喇叭[編輯 | 編輯原始碼]
若且唯若你能夠識別出某個聲音是由環境的哪一部分生成的,就有可能關掉特定的一類聲音,而讓其他聲音繼續動作。這樣就可以自定義對聲音的選擇。歡迎將可能對其他用戶有用的配置與設置加入此wiki頁面。
全局設置[編輯 | 編輯原始碼]
可以通過在內核模塊中移除 pcspkr
模塊來完全禁用PC喇叭:
# rmmod pcspkr
將 pcspkr
模塊加入黑名單的方法可以阻止 udev 在啟動時加載它。創建文件:
/etc/modprobe.d/nobeep.conf
blacklist pcspkr
還有一種方法是將其加入內核命令行黑名單。只需把modprobe.blacklist=pcspkr
加入引導加載器的內核行。
控制台[編輯 | 編輯原始碼]
可將以下命令添加到 /etc/profile
或 /etc/profile.d/disable-beep.sh
之類的單獨文件:
setterm -blength 0
另一種方法是在 ~/.inputrc
或 /etc/inputrc
中添加或取消注釋以下命令:
set bell-style none
Less分頁器[編輯 | 編輯原始碼]
要想在 less包 分頁器中禁用PC喇叭,可以通過 less -q
(在到達行尾時靜音PC喇叭)或 less -Q
(全部靜音)啟動它。對於手冊頁,運行 man -P "less -Q"
或設置 $MANPAGER
或 $PAGER
環境變量。
或者也可以將以下行加入你的 ~/.bashrc
:
alias less='less -Q' alias man='man -P "less -Q"'
Xorg[編輯 | 編輯原始碼]
$ xset -b
將這條命令加入 ~/.xinitrc
或 /etc/xprofile
等啟動文件即可固化設置。更多信息見xprofile。
ALSA[編輯 | 編輯原始碼]
大部分音效卡中PC喇叭都被列為一個ALSA通道,稱為 PC Speaker、 PC Beep 或 Beep。使用 alsamixer
或 amixer
即可對喇叭靜音,例如:
$ amixer set 'PC Speaker' 0% mute
要想取消靜音,見Advanced Linux Sound Architecture#解除各聲道的靜音。
GNOME[編輯 | 編輯原始碼]
使用GSettings:
$ gsettings set org.gnome.desktop.wm.preferences audible-bell false
KDE Plasma[編輯 | 編輯原始碼]
響鈴通知設置可在「系統設置」→「輔助功能」→「響鈴」更改。
Cinnamon[編輯 | 編輯原始碼]
Cinnamon 似乎會播放水滴聲。要禁用它,設置 gsettings(1):
$ gsettings set org.cinnamon.desktop.wm.preferences audible-bell false
GTK[編輯 | 編輯原始碼]
將以下行加入 .gtkrc-2.0
,以及 $XDG_CONFIG_HOME/gtk-3.0/settings.ini
的[Settings]部分:
gtk-error-bell = 0
這在Gnome開發者手冊中有記載。
PulseAudio[編輯 | 編輯原始碼]
使用PulseAudio以播放聲音取代PC喇叭蜂鳴。
Beep[編輯 | 編輯原始碼]
用戶可以在登錄到虛擬控制台[損壞的連結:無效的章節]時發出短促的聲音。詳見Wikipedia:bell character#usage。
Beep是一個高級PC喇叭蜂鳴程序。它可以用於沒有音效卡和/或揚聲器可用,同時希望有簡單音頻通知的情況。
安裝[編輯 | 編輯原始碼]
作為非root用戶運行[編輯 | 編輯原始碼]
beep
使用 /dev/input/by-path/platform-pcspkr-event-spkr
來控制PC喇叭。要作為非root用戶訪問它,必須設置適當的權限。創建 /etc/udev/rules.d/70-pcspkr-beep.rules
並添加以下規則:
ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", TAG+="uaccess"
這會允許任何登錄到當前活動虛擬控制台會話的用戶使用PC喇叭。
或者可以設置一個新的用戶組(如 beep
)並設置相應規則,以對設備文件設置正確的權限:
ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="PC Speaker", ENV{DEVNAME}!="", GROUP="beep", MODE="0620"
使用這種方式, beep
組中的任何用戶都能夠控制喇叭。
執行以下命令強制重新載入規則與設備文件,從而無需重啟即可應用新的用戶權限:
$ udevadm control --reload && rmmod pcspkr && modprobe pcspkr
提示與技巧[編輯 | 編輯原始碼]
很多人可能喜歡傳統蜂鳴聲,也有些人可能想要改變一下它的屬性。下面的例子可以播放音調稍高,長度稍短的聲音並重複兩遍。
# beep -f 5000 -l 50 -r 2