在Windows 10上禁用Linux Bash的提示音[关闭]


388

Windows 10上拥有Linux Bash确实很酷,但是就我不得不与Microsoft提供的不太理想的终端苦苦挣扎而言,我将在所有方面都受Ubuntu的束缚。 无论如何,当您在Bash上执行某些操作时,是否有办法关闭提示音? 由于无法评论,因为那里不存在,也无法启动

bell-style audiblesc config beep start= disabled


12
该Q与为StackOverflow定义的编程无关。在相关站点superuser.com或unix.stackexchange.com(Unix和Linux)上,它可能更合适。考虑使用Q底部的标志链接,并要求主持人移动它。请不要在2个不同的网站上发布相同的Q。谢谢,祝你好运。
shellter '16

9
您不能set bell-style none在您的readline初始化文件中吗?那是1. INPUTRC环境变量的值2. ~/.inputrc或3 /etc/inputrc.。
本杰明·W.

@shellter你说得对,我会搬的!
Andrea Tulimiero 2016年

同时,@ BenjaminW。我已经设定响铃风格没有在/ etc / inputrc文件,但没有奏效
安德烈Tulimiero

4
/etc/inputrc如果您有一个~/.inputrc,将被忽略,您有一个吗?还是INPUTRC指向其他地方?
本杰明·W.

Answers:


587
  1. 要禁用哔的bash你需要取消注释(或添加如果尚未有)线set bell-style none在你的/etc/inputrc文件中。

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

  2. 要同时停用的蜂鸣VIM你需要添加set visualbell你的~/.vimrc文件。

  3. 减少蜂鸣声,也需要export LESS="$LESS -R -Q"~/.profile文件中添加(例如,在手册页中以及使用“ git diff”时)。


14
快速的一次性解决方案可以通过Windows Volume Mixer禁用声音github.com/Microsoft/BashOnWindows/issues/…–
Olga

51
仅供参考,我必须重新启动控制台才能应用此操作,但它确实起作用了!
TJB'7

2
@TJB我认为应该足以启动source path-to-.bash_profile-或更改的文件-并且将重新加载配置,以免您重启控制台。但是我很高兴它起作用了!
Andrea Tulimiero

2
如果您还可以在答案中添加@TJB提到的或您说的那样需要重新启动控制台,那会更好,source path-to-.bash_profile但是无论如何还是要感谢您的帮助。
阿曼·图纳瓦

3
这根本不起作用。
文斯

129

由于唯一的噪音终端往往是响铃,如果您想在任何地方都关闭它,那么在Windows上进行bash的最简单方法是:

  1. 在提示符处将空格退回一堆
  2. 右键单击声音图标,然后选择打开音量混合器
  3. 将控制台窗口主机上的音量降低到零

12
我真的很喜欢这种简单性
工程师

8
鉴于我要使用大量服务器并且无法轻松管理所有服务器上的本地bash设置,因此该解决方案对我而言是最佳的解决方案,因为它具有全局性。
伊利亚·W·加涅

9
Windows引起的问题的Windows解决方案:D
PabTorre

3
您是否按了退格键或其他一些键来使控制台窗口产生噪音?在打开搅拌机之前进行此操作。在Windows确定它们正在发出噪音之前,应用程序不会出现在混音器中。一段时间后,它将删除它们。
TedMilker '18年

2
奶酪和米饭!这是唯一对我有用的东西。多么烦人。感谢@TedMilker
Ilan

113

取消注释set bell-style none/etc/inputrc,创造一个.bash_profilesetterm -blength 0没有发出蜂鸣音停止VIM。

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

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


23
哇,为什么有人什么时候认为哔哔是一个很好的默认设置?谢谢!需要关闭vi中的铃声。
Andrew T Finnell

适用于本地,但不适用于SSH到远程服务器。
马特

@Matt-对于SSH会话,您需要在使用的SSH客户端中调整设置。例如,如果您使用的是PuTTY,请调整其设置。
asterx

1
您既需要〜/ .inputrc也需要〜/ .vimrc来从bash和vim中删除蜂鸣声,请参阅@Nemo的解决方案。还要注意,如果要避免ssh发出蜂鸣声,则需要在要ssh-sing的远程计算机上使用这两个文件。
Romain Pokrzywka '18 -10-10

78

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

1)关闭铃铛

vi ~/.inputrc
set bell-style none

2)关闭铃铛vi

vi ~/.vimrc
set visualbell
set t_vb=

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


5
谢谢,此解决方案是我的最爱,因为它可以解决蜂鸣声的两个来源,终端本身和vim,并且避免了可视铃声的闪烁。我还喜欢您在创建用户配置文件,而不是在/ etc中编辑系统配置文件
Romain Pokrzywka,

请注意,这在访问远程计算机时也可以很好地禁用来自ssh的提示音,只需在远程计算机上的home文件夹中创建相同的文件,并且不再发出哔声即可。
Romain Pokrzywka

叹息,这是真正的正确答案
ZJR

13

替换为系统声音,将WAV文件的“紧急停止”声音设为静音1

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

系统声音配置

(在SuperUser上 this.lau_的信用用于发现此内容)。


3
如果您使用的是Linux机器,则很容易发出1秒钟的静音声。安装袜。然后$ rec
silence.wav

1
这对我有帮助。当我将“紧急停止”设置为“无”时,将其重置为“默认提示音”,我也必须将其设置为“无”。这些声音令人讨厌,尤其是当我们戴着耳机时。Windows应该学习。
Venki

11

它不特定于bash Windows10。但是,如果要删除zsh的贝尔终端,只需在zshrc中使用正确的选项即可。(对于vim,答案已经发布)

unsetopt beep

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

我已经很快找到了这个选项,但是如果它在这篇文章中^^,它会发现得更快。

高频



6

我发现TedMilker的解决方案有效,但是每次重新启动时我都需要重新调整Volume Mixer。为了使其永久存在,我在Windows应用程序音量和设备偏好设置中调整了音量级别。

取自这篇文章

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

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

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


1

除了jgr208所说的以外,您可能已经有一个~/.profile文件,并且~/.bash_profile可能不存在(与我一样)。

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

如果创建了.bash_profile,您.profile将被忽略,Windows在那里写的任何内容都将无法工作。


1

要在远程计算机上进行ssh禁用蜂鸣声,只需在远程计算机上创建相同的蜂鸣声~/.inputrc~/.vimrc文件即可停止ssh本身的蜂鸣声。

有关每个文件的内容,请参见@Nemo的答案。


0

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

setterm -blength 0

这会将蜂鸣声发生的时间设置为0,因此没有蜂鸣声。


8
这对我不起作用-关于inputrc文件的其他答案确实有效
10:52到达reach4thelasers

@ reach4thelasers以及您要禁用哪个提示音?正如您在下面看到的vim一样,我的答案确实有用。
jgr208 '16

当您按下删除按钮并走得太远时,便会发出哔哔声-因此,请尝试删除任何内容……太烦人了!!!
到达4thelasers

@ reach4thelasers哈哈,我知道您的意思,想象一下在30名学生的大学计算机实验室中发出的声音!
jgr208 '16

1
对我来说,只有解决方案要禁用bash的哔哔声,您需要取消注释/在/ etc / inputrc文件中添加无响铃样式的设置对我有用。
benjguin

-1

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

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.