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