Scenario / Questions

I’ve recently started using a new desktop PC with Ubuntu Linux installed. However the terminal beeps annoyingly. i.e. If I’m at the start of the line and I press Backspace, it’ll beep to tell me that there are no characters to delete. Of if I am trying to tab complete and there are no completions for it, then it’ll beep.

How do I turn this off?

Find below all possible solutions or suggestions for the above questions..

Suggestion: 1

As the pc speaker is annoying altogether (at least, I think it is), I just go

modprobe -r pcspkr

and add it to /etc/modprobe.d/blacklist.conf like this:

blacklist pcspkr

No more beeps. Ever.

Does not work for bells through /dev/snd/*, obviously

Suggestion: 2

Easiest fix: put

set prefer-visible-bell on

in your ~/.inputrc.

This however will only work for applications using the readline library (this includes Bash). Other applications may still decide to beep at you.

If you want to disable all beeping, you will have to do it in the terminal. How to do this depends on your terminal. In xterm it’s option -vb (also works in many other terminals, e.g. in rxvt). Most graphical terminals have a config option for this.

Also see the Visible bell mini-Howto for all the dirty details.

Suggestion: 3

from cybercity:

  • Open Gnome terminal
  • Click on Settings > Preferences > Silence Terminal Bell

Suggestion: 4
$ setterm -blength 0

You’ll want to add this to your Bash profile.

Suggestion: 5

In addition to the setterm and GNOME settings solutions already suggested there are the following:

If running X, open an xterm and enter xset b off.

To disable system bell in Bash startup edit ~/.inputrc or /etc/inputrc and add the line set bell-style none or set bell-style visual if you want a screen flash.

There’s a good article on this here.