我想知道是否有办法关闭终端应用程序的终端铃声,例如man
和less
,例如当您已经在文件/手册页的顶部并按“k”尝试向上滚动时。通常,我会完全关闭终端模拟器上的铃声,但流行的xset b off
命令似乎不适用于我的设置:我正在通过 X11 转发到 Xming 从 Ubuntu 16.04(特别是在 WSL 中)运行 XTerm . 因此,如果有任何关于如何关闭 XTerm 铃声的说明,我也将不胜感激。
我知道如何通过输入来关闭readline
的铃set bell-style none
,~/.inputrc
但不幸的是,这只有助于输入(例如多个可用的选项卡完成),而不是在滚动 man/less 页面时。
我也知道关闭铃声的-Q
命令行 arg ,但我想我希望有一个更通用的设置/命令适用于两者和(可能还有其他人)。less
man
less
我想如果我不能完全关闭 XTerm 的铃声,我会尝试并学习如何一个一个地关闭每个应用程序的铃声,直到我至少得到所有烦人的铃声。
man
使用您的默认寻呼机,在 Ubuntu(和大多数其他系统)上是less
. 您可以更改此设置,但您可能会知道您做到了。这就是为什么您通过man
的格式化输出进行分页的界面看起来和感觉就像less
:它是。格式化手册页后man
,它用于less
显示它。所以你可能想要的是让less
总是表现得好像-Q
选项已经传递给它,包括当它被man
其他程序使用时。运行时,除了在命令行参数中传递给它的选项之外,它还会
less
检查环境变量以查找要使用的选项。LESS
因此,您可以将其放在打开 WSL 命令提示符时获取的脚本之一中:LESS
或者您可能更喜欢这个,它保留了变量中已经存在的任何选项。通常这是不必要的,因为通常无论如何都没有定义该变量,但即使它不是,这仍然有效:大多数 Ubuntu 用户都希望在他们的文件中设置这个和其他环境变量。(也有一些人更喜欢的一种方式,它使用不同的语法。)这也是我向您推荐的方式,如果 WSL 为您提供的 shell 是登录 shell,它在最近的构建中(或者如果您有将其配置为)它应该是。
~/.profile
~/.pam_environment
shopt login_shell
您可以通过在打开 WSL 命令提示符窗口时提供的 shell 中运行来检查这一点。如果它不是登录 shell,并且您不想添加-l
或添加--login
到 Windows 快捷方式,则将其中一个export
命令放入.bashrc
而不是.profile
.xterm 有一个可视铃声选项,用于闪烁终端而不是响铃。使用选项
-vb
或设置在您的~/.Xdefaults
或将相同的内容回显到
xrdb -merge