在 Windows 10 上的 WSL 终端中禁用蜂鸣声[关闭]

Posted

技术标签:

【中文标题】在 Windows 10 上的 WSL 终端中禁用蜂鸣声[关闭]【英文标题】:Disable beep in WSL terminal on Windows 10 [closed] 【发布时间】:2016-08-11 23:24:34 【问题描述】:

如何在 Windows 10 上的 WSL 中禁用视觉和音频铃声/哔声?

【问题讨论】:

这个问题与 *** 定义的编程无关。 可能在相关站点 superuser.com 或 unix.stackexchange.com(Unix 和 Linux)上更合适。考虑使用 Q 底部的标志链接并要求版主移动它。请不要在 2 个不同的网站上发布相同的 Q。谢谢,祝你好运。 你不能在你的 readline 初始化文件中 set bell-style none 吗?即 1.INPUTRC 环境变量的值,2.~/.inputrc 或 3./etc/inputrc /etc/inputrc 如果你有~/.inputrc 会被忽略,你有吗?还是 INPUTRC 指向别处? @shellter 我认为这个问题在这里很好。据我所知,问题不一定是关于编程才有资格获得 SO。 这个问题正在meta讨论。 【参考方案1】:

    要在 bash 中禁用哔声,您需要在 /etc/inputrc 文件中取消注释(或添加,如果还没有的话)set bell-style none 行。

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

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

    set visualbell
    set t_vb=
    

    要在 less 中也禁用哔声(即,在手册页中以及使用“git diff”时),您需要在您的 ~/.profile 文件中添加 export LESS="$LESS -R -Q"

【讨论】:

为了快速一次性解决声音,可以通过 Windows 音量混合器 github.com/Microsoft/BashOnWindows/issues/… 禁用 仅供参考,我必须重新启动控制台才能应用,但它确实有效! @TJB 我认为启动source path-to-.bash_profile - 或您更改的文件 - 并且配置将被重新加载,这样就可以避免您重新启动控制台。不过我很高兴它成功了! 这根本行不通。 为什么这不是默认设置?有没有人想,“伙计,每次我完成标签时,我真正需要听到的是 BEEEP BEEEP BEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEP”【参考方案2】:

在系统中替换 将“关键停止”声音变为静音 1 的 wav 文件。

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

(感谢SuperUser 上的 this.lau_ 发现这一点)。

【讨论】:

如果你有一个 Linux 机器,很容易发出 1 秒的静音。安装袜子。然后 $ rec quiet.wav trim 0 1 这对我有帮助。当我将“关键停止”设置为无时,它被重置为“默认哔声”,我也必须将其设置为无。这些声音很烦人,尤其是当我们戴着耳机时。 Windows 应该学习。【参考方案3】:

我发现 TedMilker 的解决方案有效,但每次重新启动时我都需要重新调整音量混合器。为了使其永久化,我在 Windows App Volume 和 Device Preferences 中调整了音量。

取自this post:

设置/系统/声音/应用音量和设备偏好

将控制台窗口主机设置为零。

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

【讨论】:

【参考方案4】:

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

查看@Nemo 的回答,了解每个文件的内容。

【讨论】:

很确定.vimrc在这里没有意义【参考方案5】:

@Andrea Tulimiero 的答案适用于本地,但是当您 ssh 到远程服务器时,哔声再次打开。我的建议是从 Windows 10 任务栏中禁用。右下角有音量混合器,对我有用。

【讨论】:

【参考方案6】:

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

unsetopt beep

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

我很快就找到了这个选项,但如果它在这篇文章中会更快^^

高频

【讨论】:

【参考方案7】:

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

1) 关闭 bash 的铃声

vi ~/.inputrc
set bell-style none

2) 关闭 vi 的铃声

vi ~/.vimrc
set visualbell
set t_vb=

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

【讨论】:

谢谢,这个解决方案是我最喜欢的,因为它解决了哔哔声的两个来源,终端本身和 vim,并且避免了视觉铃声的闪烁。我也喜欢您创建用户配置文件而不是在 /etc 中编辑系统配置文件 请注意,这也可以很好地在访问远程计算机时禁用来自 ssh 的蜂鸣声,只需在远程计算机上的主文件夹中创建相同的文件,就不会再发出蜂鸣声了。 我正在使用 git git 版本 2.31.0。窗户十。 Windows 终端。将我的 inputrc 文件设置为“set bell-style none”对我有用。【参考方案8】:

由于唯一的噪音终端往往是铃声,如果你想在任何地方关闭它,最简单的方法是在 Windows 上为 bash 做到这一点:

    在提示符下混合退格键 右键单击声音图标并选择打开音量混合器 将控制台窗口主机上的音量降低到零

【讨论】:

我真的很喜欢简洁 鉴于我通过 ssh 连接到很多服务器并且无法轻松管理所有服务器上的本地 bash 设置,因此这个解决方案对我来说是最好的,因为它是全球性的。 针对 windows 引起的问题的 windows 解决方案 :D 您是否按退格键或其他键使控制台窗口发出噪音?在打开搅拌机之前执行此操作。在 Windows 确定它们发出噪音之前,应用程序不会出现在混音器中。然后它会在一段时间后删除它们。 奶酪和米饭!这是唯一对我有用的东西。真烦人。谢谢@TedMilker【参考方案9】:

/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

【讨论】:

哇,为什么有人认为哔哔声是一个很好的默认设置?谢谢!需要您的回答才能关闭 vi 中的铃声。 适用于本地,但不适用于 ssh 到远程服务器。 @Matt - 对于 SSH 会话,您需要调整正在使用的 SSH 客户端中的设置。例如,如果您使用 PuTTY,请调整其设置。 您需要一个 ~/.inputrc 和一个 ~/.vimrc 来从 bash 和 vim 中删除哔哔声,请参阅@Nemo 的解决方案。另请注意,如果您想避免来自 ssh 的哔哔声,则需要在您正在 ssh 连接的远程计算机上使用这两个文件。【参考方案10】:

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

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

如果您创建.bash_profile,您的.profile 将被忽略,Windows 在那里写入的任何内容都将不起作用。

【讨论】:

【参考方案11】:

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

setterm -blength 0

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

【讨论】:

这对我不起作用 - 关于 inputrc 文件的另一个答案是 @reach4thelasers 您想禁用哪个哔声?正如您在下面看到的 vim 之类的,我的回答确实有效。 这是当您按下删除按钮并且走得太远时发生的哔哔声 - 所以尝试删除任何内容......太烦人了!!! @reach4thelasers 哈哈,我明白你的意思,想象一下我在大学里有 30 名学生的计算机实验室的声音! 对我来说,只有解决方案要禁用 bash 的哔声,您需要在 /etc/inputrc 文件中取消注释/添加 set bell-style none 对我有用。

以上是关于在 Windows 10 上的 WSL 终端中禁用蜂鸣声[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Windows 10 终端启动 WSL?

kubectl:在 WSL 终端中找不到

在 Windows 10 上的 WSL2 上使用 JDK 的正确方法是啥?

WSL2 上的 Maven 看不到 JAVA_HOME

对于使用 WSL2 进行签名的 git 提交,Windows 10 上的 Visual Studio Code 中没有 GPG 密码提示

在 Windows 10 Home 上使用 WSL2 上的 Docker Desktop 时,如何更改 docker 映像的位置?