如何在Windows上禁用Bash通知音效


40

当运行“在Windows上的Ubuntu上的Bash”时,通常会在键入时生成Windows通知声音。常见原因是:

  • 我为命令(标签)使用自动完成功能,并且有多个命令选项,
  • 或当我退格一个已经空的命令行时。

如何禁用这些声音效果?

Answers:


51

设置后,Wouter给出的答案总体上会更好,但由于并不总是出现正确的选项,因此使工作变得有些混乱。跟着这些步骤:

  • 右键单击Windows任务栏中的音量控件
  • 打开音量混合器
  • 在Windows控制台上打开Bash
  • 采取一些措施来触发控制台,使通知声音发出(例如,在空白行上按退格键)。如果您使用以下替代方法禁用了通知,则必须撤消该通知。
  • 现在,“ 控制台窗口主机”选项应该已经出现在“音量混合器”中(您可能需要向右滚动)
  • 静音设置

带有控制台窗口的音量混合器

先前/替代方法

您只需在Windows Bash shell [ 源代码 ]中运行以下命令:

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

否则.inputrc,请使用文本编辑器手动进行编辑以添加set bell-style none其自己的行。

您需要重新启动当前打开的bash shell才能生效。

这仅适用于当前用户,如果您使用ssh进入其他帐户则无济于事(除非您再次为每个帐户运行该命令)。


1
放入set bell-style noneinputrc与放入bind "set bell-style none".bashrc有什么区别?一个比另一个好吗?
吉姆(Jim)

后者是更可取的,因为它是用户配置的替代文件,由于发行版的更新而不会被覆盖。
AvatarKava

出于某种原因,当我键入PythonPython外壳时,仍然会发出哔哔声。有没有办法为Python解释器修复此设置?
Pro Q

13

将此添加到〜/ .inputrc

set bell-style none

此外,对于vi,将此添加到〜/ .vimrc

set visualbell
set t_vb=

它仅适用于您所在的服务器,如果您需要连接到多台服务器,则必须在每台服务器上执行相同的操作……
坦率的

@frank .inputrc和.vimrc是用户特定的,而不是主机特定的。您是否以其他用户身份登录?
Nemo

6

另一种方法是通过右键单击Windows任务栏中的音量控件以打开音量混合器,并使控制台静音。


谢谢!这对我来说比最佳答案更有效。即使您编辑本地.inputrc,当您将ssh放入远程主机时,您仍然会发出哔声(除非您努力将.inputrc传播到任何地方)。

1

如果您只想将声音更改为较不烦人的声音,而不是完全禁用它,则可以Change system sounds从“开始”菜单(或在“控制面板”->“硬件和声音”->“声音”下)将Critical Stop声音更改为类似“ Windows Default ”或“ Windows Ding”。

请注意,这将影响使用相同声音效果的任何其他Windows程序或Windows本身。我无法找到一个很好的列表,默认情况下哪些动作/通知会使用该声音。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.