PC speaker
The computer often seems to make beep noises or other sounds at various times, whether we want them or not. They come from various sources, and as such, you may be able to configure if or when they occur. For situations where no sound card or speakers are available and a simple audio notification is desired, see #Beep.
Sounds from the computer can be heard from the built-in case speaker, the speakers, or headphones which are plugged into the soundcard (in which case the noise may be unexpectedly loud).
Contents
Disable PC Speaker
Turning off a particular instance of a sound, while leaving the others operational, is possible if and only if one can identify which portion of the environment generates the particular sound. This allows customizing the selection of sounds. Please feel free to add any configurations and settings to this wiki page that may be useful for other users.
Globally
The PC speaker can be disabled by unloading the pcspkr
kernel module:
# rmmod pcspkr
Blacklisting the pcspkr
module will prevent udev from loading it at boot:
# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
Blacklisting it on the kernel command line is yet another way. Simply add modprobe.blacklist=pcspkr
to your bootloader's kernel line.
Console
You can add this command in /etc/profile
or a dedicated file like /etc/profile.d/disable-beep.sh
:
setterm -blength 0
Another way is to uncomment or add this line in /etc/inputrc
or ~/.inputrc
:
set bell-style none
Less pager
To disable PC speaker in less pager, you can launch it with less -q
to mute PC speaker for end of line events or less -Q
to mute it altogether. For man pages, launch man -P "less -Q"
or set the $MANPAGER
or $PAGER
environment variables.
Alternatively, you can add these lines to your ~/.bashrc
:
alias less='less -Q' alias man='man -P "less -Q"'
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.
ALSA
For most sound cards the PC speaker is listed as an ALSA channel, named either PC Speaker, PC Beep, or Beep. To mute the speaker, either use alsamixer or amixer:
$ amixer set channel 0% mute
To unmute the channel, see Advanced Linux Sound Architecture#Unmuting the channels.
GNOME
Using GSettings:
$ gsettings set org.gnome.desktop.wm.preferences audible-bell false
Cinnamon
Cinnamon seems to play a "water drop" sound. To disable it, set in dconf:
$ dconf write /org/cinnamon/desktop/wm/preferences/audible-bell false
GTK+
Append this line to ~/.gtkrc-2.0
:
gtk-error-bell = 0
Add the same line to the [Settings] section of $XDG_CONFIG_HOME/gtk-3.0/settings.ini
:
[Settings] gtk-error-bell = 0
This is documented in the Gnome Developer Handbook.
Beep
Beep is an advanced PC speaker beeping program. It is useful for situations where no sound card and/or speakers are available, and simple audio notification is desired.
Installation
You may also need to unmute the PC speaker in ALSA.
Access for non-root users
By default beep
will fail if not run by the root. Other users may call it using sudo. To let group users
call sudo beep
without a password (for example to use it in scripts), /etc/sudoers
should be edited:
%users ALL=(ALL) NOPASSWD: /usr/bin/beep
or, to let only a single user do that:
username ALL=(ALL) NOPASSWD: /usr/bin/beep
Another way is setting the sticky bit on /usr/bin/beep
:
# chmod 4755 /usr/bin/beep
Note however that this way anyone can execute /usr/bin/beep
with root permissions. The change also creates a difference between local copy and the package, which will be reported by pacman -Qkk
.
Tips and Tricks
While many people are happy with the traditional beep sound, some may like to change its properties a bit. The following example plays slighly higher and shorter sound and repeats it two times.
# beep -f 5000 -l 50 -r 2