How to disable the pc speaker (beep!)
Get rid of the annoying beeps in Linux
Contents
Remove the pc speaker module "pcspkr"
Open a terminal and issue this command as root:
rmmod pcspkr
To prevent the "pcspkr" module from loading again at startup, open /etc/modprobe.d/blacklist with your favorite text editor (as root) and add following lines to the end of the file:
# disable the **** pc speaker blacklist pcspkr
Re-enabling the pc speaker
Temporarily activate it by loading the module (run this from a terminal with root privileges):
modprobe pcspkr
If you don't want to prevent the module from loading during startup, delete the lines from /etc/modprobe.d/blacklist described in the previous section.
Disable console beeps in /etc/inputrc
Another solution is to disable console beeps in /etc/inputrc (change with your favourite editor, should work on all distributions)
# do not bell on tab-completion set bell-style none
Disable the system beep in Gnome
In Ubuntu 7.10 and later, uncheck:
- System > Preferences > Sound > System Beep > Enable System Beep
Or if it's just the terminal tab auto-completion that's bothering you, uncheck:
- Terminal > Edit > Current Profile > Terminal bell
Learning to love the beeps
Actually, these beeps are quite useful sometimes (especially with shell-scripts that want to get your attention with echo -e "\a" ). The reason people tend to hate them are because they get overused.
1. Make bash tab-completion less beepy, by editing /etc/inputrc (or ~/.inputrc). Add:
# Show all if ambigious. set show-all-if-ambiguous on
This makes tab-completion more useful, as well as less irritating: we now only get a beep on a true error (no possible completions); if multiple options are possible, all are printed, and it doesn't beep.
2. Make the beep quieter, shorter, and a nicer pitch. I tend to set 440 Hz, 50ms. Configure with kcontrol (in KDE), or just use xset in your startup files:
xset b 50 440 50