How to disable system beep for non-privileged user

For beeps generated in your shell (which seem to be the most annoying ones), add this to "~/.inputrc":

set bell-style none

Note that this is not terminal- but host-specific. That means that when you log in to another computer via ssh where this isn't set, the beep is back. (I tested on Fedora)


There's various levels at which beeps can be controlled by the user. Here's some I'm aware of:

APPLICATION LEVEL

  • export LESS="$LESS"' -q' - adds -q to the default options for less so it doesn't ring the bell (eg. when trying to scroll past the end of a file)
  • echo 'set bell-style none' >> ~/.inputrc - disables bell for all applications using readline (restart your terminal to see effect)

TERMINAL LEVEL

  • xterm -vb - enables "visual bell", which flashes the terminal window instead of making an audible noise. You can add xterm*visualBell: true to your X resources (~/.Xdefaults) to change the default. Most terminal emulators include a similar option.

X SERVER LEVEL

  • xset b off - disables X server bell

MACHINE LEVEL?

  • alsamixer - mute or turn down the Speaker and Bell channels

In my case muting the ALSA channels didn't help - I still got a bell sometimes from the builtin speaker (even with headphones plugged in). But disabling the X server bell got rid of it.

Tags:

Linux

Audio