How to disable Bash on Windows notification sound effect

44,586

Solution 1

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).

Solution 2

Add this to ~/.inputrc

set bell-style none

Additionally for vi, add this to ~/.vimrc

set visualbell
set t_vb=

Solution 3

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.

Solution 4

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

Solution 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.

Share:
44,586

Related videos on Youtube

Silveri
Author by

Silveri

Updated on September 18, 2022

Comments

  • Silveri
    Silveri over 1 year

    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?

  • choover
    choover almost 8 years
    Thank you! This was way more effective for me than the top answer. Even if you edit the local .inputrc, you'll still get beeps when you ssh into remote hosts (unless you put in the effort to propagate your .inputrc everywhere).
  • Jim
    Jim over 7 years
    What's the difference between putting set bell-style none in inputrc vs putting bind "set bell-style none" in .bashrc? Is one preferable to the other?
  • AvatarKava
    AvatarKava about 7 years
    The latter is preferable as it's a user-configured override file and won't be subject to overwrite due to updates on the distribution version.
  • Pro Q
    Pro Q almost 6 years
    For some reason, when I type Python and I'm in the Python shell, the beep still goes off. Is there any way to fix this setting for the Python interpreter as well?
  • frank
    frank over 5 years
    It only work for the server were you are, if you need to connect to multiple server, you'll have to do the same on every server...
  • Nemo
    Nemo over 5 years
    @frank .inputrc and .vimrc are user specific, not specific to a host. Are you logging in as different user?
  • Jason Doucette
    Jason Doucette about 3 years
    Please note that the only way to remove the insane sound delay -- that pauses and stalls the entire shell for seconds if you have a fast keyboard repeat rate and it is processing dozens of Backspaces -- is to terminate the sound from being triggered at all. Muting your speaker will not do the job.
  • Phoenix
    Phoenix over 2 years
    Please note that links can break, so it is preferable if you include some content from the link.
  • vyb
    vyb over 2 years
    Thanks for the tip, but I already included the relevant content from the link...not sure what you meant here.
  • Pandian Le
    Pandian Le over 2 years
    In mycase it is system sounds