74

When running 'Bash on Ubuntu on Windows' it often generates the Windows notification sound while typing. Common causes are when:

  • I use auto-complete for commands (tab) and there are multiple command options,
  • or when I backspace an already empty command line.

How do I disable these sound effects?

Silveri
  • 2,905

7 Answers7

107

The answer given by Wouter works better overall once set up, but it can be slightly confusing to get working as the correct option doesn't always appear. Follow these steps:

  • Right click the volume control in the Windows taskbar
  • Open the Volume Mixer
  • Open the Bash on Windows console
  • Do something to trigger the console making the notification sound (e.g. press backspace on an empty line). If you've disabled the notification using the alternative method below, you'll have to undo it.
  • Now a Console Window Host option should have appeared in the Volume Mixer (you might have to scroll right)
  • Mute its sound setting

Volume mixer with Console Window Hos

Previous/alternative method

You can simply run the following command from within your Windows Bash shell [source]:

echo "set bell-style none" >> ~/.inputrc

or else edit .inputrc manually with a text-editor to add set bell-style none on it's own line.

You'll need to restart your currently open bash shell before it takes affect.

This will only work for your current user, and won't help if you ssh into other accounts (unless you run that command again for each account).

Silveri
  • 2,905
20

Add this to ~/.inputrc

set bell-style none

Additionally for vi, add this to ~/.vimrc

set visualbell
set t_vb=
Nemo
  • 987
15

Those using Windows Terminal, simply go to settings:

enter image description here

Select the profile you want to stop the bell on:

enter image description here

Set the bell style to none:

enter image description here

Corresponding changes in the JSON settings file:

enter image description here

Worked on Windows Terminal Preview v1.7.572.0.

8

Another way is to open the Volume Mixer by right clicking on the volume control in the Windows taskbar and mute the Console.

Wouter
  • 314
5

If you would like to just change the sound to something less annoying instead of disabling it completely, you can go to Change system sounds from Start Menu (or under Control Panel -> Hardware and Sound -> Sound) and change the Critical Stop sound to something like "Windows Default" or "Windows Ding".

Note that this will affect any other Windows program, or Windows itself, which uses the same sound effect. I'm not able to find a good list of which actions/notifications use that sound by default.

Tobias J
  • 1,352
2

Tried this on Windows Terminal on PowerShell.

Go to the settings JSON file and in profiles > defaults add the line

"bellStyle": "none"

Save settings and restart the terminal.

Source: https://onelharrison.medium.com/how-to-mute-the-windows-terminal-bell-fee86af19ddb

vyb
  • 21
1

I'm using Git Bash (mintty) and the above solutions didn't work for me. Of course, it refers specific to WSL (Windows Subsystem for Linux), but many of you may come over this question when using Git Bash (not sure if applies to cygwin or other bash linux emulators).

I was able to fix it by:

  • Right+click on the Git Bash title bar -> Options
  • In the left menu go to Terminal
  • In the details window, under the Bell Group Option, instead of Default Beep* -> Select no beep
  • Apply

You can test by trying to do a tab-tab for a command or anything that previously was triggering the Bell.

azbarcea
  • 119