如何更改 WSL bash 声音/控制台主机声音

如何更改 WSL bash 声音/控制台主机声音

与许多其他人一样,我不喜欢 Windows 在自动完成失败或在 WSL bash 中的空行上按回车键时发出的标准错误声音。信息:Windows 10 Edu、带有 Ubuntu 20.04 的 WSL2。

然而,我不想排除它-我想要改变它。我只能通过 Sound Mixer 或编辑 inputrc 文件来找到消除它的技巧。有一个答案说我可以改变整个声音,这当然不是我想要的。我想要一个 WSL bash 的自定义声音,其余的保持 Win 默认。

这可能吗?也许是注册表或 WSL 本身内的某些东西?

我在 下找到了声音/usr/share/sounds/freedesktop/stereo,里面有bell.oga我想要使用的文件。我安装了 gnome-tweaks,我会在 Ubuntu 上调整它;但我还没有让 WSL2 中的 GUI 工作。无论如何,我不确定 WSL 中的任何设置是否会影响 Windows 将 WSL bash 视为另一个“控制台主机窗口”。我很感激任何有关这方面的线索!

答案1

对于较旧的 Windows 版本,WSL 使用旧版“Windows 控制台主机”作为终端。要更改 Windows 控制台主机中的铃声,请更改关键停止声音,如中所述@StaceyRichards 的回答

对于全新安装的 Windows 10 22H2 及更高版本,WSL 的默认设置现在应为 Windows Terminal。正如我在这个答案,您现在可以使用设置更改 Windows 终端中的铃声profile.bellSound。您还可以彻底关闭铃声或者(正如@MaxStarkenburg 在评论中提到的)将其更改为视觉铃声/闪光。

其他选择

这些是我原始答案的一部分,但是现在 Windows 终端中有了此功能,这将是我的首选解决方案:

  • 是另一个可以运行 WSL 的 Windows 终端应用程序。我看到它的配置中有一个“BellURL”选项,但我找不到有关其工作原理的任何文档。不过,可能值得一试。

  • 如果您愿意,现在还可以使用 Linux GUI 终端应用程序和 WSLg。我猜其中一些应该有这个设置。

答案2

控制面板>更改系统声音

在“声音”对话框的“声音”选项卡中,选择关键停止树项中的项目活动部分。

下拉声音选择框并选择除 Windows Background.wav 之外的其他内容,或者浏览并选择您自己的 wav 文件。

这将改变关键停止所以如果你不想这样做,那么这不是适合你的答案。

更改关键停止声音

相关内容