在 Windows 10 上禁用 WSL 终端中的蜂鸣声

Disable beep in WSL terminal on Windows 10

如何在 Windows 10 上的 WSL 中禁用视觉和音频 bell/beep?

找到 .bash_profile 文件的位置并在文件中输入以下内容:

setterm -blength 0

这会将蜂鸣声发生的时间量设置为 0,因此不会发出蜂鸣声。

  1. 要禁用 bash 中的蜂鸣声,您需要取消注释(如果不存在则添加)行 set bell-style none你的 /etc/inputrc 文件。

    注意: 由于它是一个受保护的文件,您需要成为特权用户才能对其进行编辑(即使用类似 sudo <editor> /etc/inputrc 的内容启动您的文本编辑器)。

  2. 要在 vim 中也禁用蜂鸣声和可视铃声,您需要将 following 添加到 ~/.vimrc 文件:

    set visualbell
    set t_vb=
    
  3. 要在 less 中也禁用蜂鸣声(即也在手册页中和使用“git diff”时),您需要添加 export LESS="$LESS -R -Q" 在你的 ~/.profile 文件中。

除了 jgr208 所说的,您可能已经有一个 ~/.profile 文件,但 ~/.bash_profile 可能不存在,就像我的情况一样。

在这种情况下,将 setterm -blength 0 添加到 .profile

如果您创建一个 .bash_profile,您的 .profile 将被忽略,任何 Windows 写在那里的内容都将无效。

/etc/inputrc 中取消注释 set bell-style none 并使用 setterm -blength 0 创建 .bash_profile 并没有阻止 vim 发出哔哔声。

对我有用的是在我的主目录中用 set visualbell 创建一个 .vimrc 文件。

来源:https://linuxconfig.org/turn-off-beep-bell-on-linux-terminal

由于终端机只会发出铃声,如果您想在任何地方关闭它,最简单的方法是 bash on Windows:

  1. 在提示符下大量退格
  2. 右键单击声音图标并选择打开音量混合器
  3. 降低控制台上的音量 Window 主机为零

您需要在 bash 和 vim 配置中添加以下行,

1) 关闭 bash

的铃声
vi ~/.inputrc
set bell-style none

2) 关闭 vi 的铃声

vi ~/.vimrc
set visualbell
set t_vb=

设置可视铃会关闭音频铃,清除可视铃长度会停用闪烁。

它不特定于 bash windows 10。 但是如果你想删除 zsh 的 bell 终端,只需在 zshrc 中使用正确的选项。 (对于 vim,回答已经 posted)

unsetopt beep

http://zsh.sourceforge.net/Doc/Release/Options.html

我很快就找到了这个选项,但如果它在这个 post 上会更快找到它 ^^

高频

在 Windows 终端设置中,select 配置文件,然后单击 'advanced' > 'bell notification'

并将其关闭:

要在远程机器上使用 ssh 时禁用蜂鸣声,只需在远程机器上创建相同的 ~/.inputrc~/.vimrc 文件来停止 ssh 本身发出蜂鸣声。

每个文件的内容请看@Nemo 的回答。

我发现 TedMilker 的解决方案有效,但每次重新启动时我都需要重新调整音量混合器。为了使其永久化,我在 Windows 应用程序音量和设备首选项中调整了音量级别。

摘自this post

设置/系统/声音/应用程序音量和设备首选项

将控制台 Window 主机设置为零。

(您可能需要在控制台 window 中按 Tab / Backspace 以在控制台 Window 主机滑块出现之前触发铃声。)

将系统声音 "Critical Stop" 替换为无声的 wav 文件 1

完全删除声音对我不起作用。显然在这种情况下使用了一些默认声音。

(感谢 this.lau_ 在 SuperUser 上的发现)。