web-dev-qa-db-ja.com

マニュアルページ以下でターミナルベルをオフにします

manlessなどの端末アプリケーションの端末ベルをオフにする方法があるかどうか疑問に思っています。すでにファイル/マニュアルページの上部にいるときに「k」を押して上にスクロールしようとします。通常、ターミナルエミュレータのベルを完全にオフにしますが、人気のあるxset b offコマンドがセットアップで機能していないようです。Ubuntu16.04からXTermを実行しています(具体的にはWSLで) X11を介してXmingに転送します。したがって、XTermのベルをオフにする方法についてのメモもあれば、それが利用可能であればありがたいです。

set bell-style none~/.inputrcに入れてreadlineのベルをオフにする方法を知っていますが、残念ながら、これは入力(たとえば、複数の利用可能なタブの補完)にのみ役立ち、man/lessページをスクロールする場合には役立ちません。

ベルをオフにするlessへの-Qコマンドライン引数も知っていますが、manlessの両方(およびおそらく他のもの)に適用されるより一般的な設定/コマンドがあることを望んでいると思います)。

XTermのベルを完全にオフにできない場合は、少なくともすべての迷惑なベルが表示されるまで、各アプリケーションのベルを1つずつオフにする方法を学習します。

3
villapx

manは、Ubuntu(および他のほとんどのシステム)ではlessであるデフォルトのポケットベルを使用します。これは変更できますが、変更したことはご存知でしょう。そのため、manのフォーマットされた出力をページングするインターフェイスはlessのように見えます。 manがマンページをフォーマットした後、lessを使用してマンページを表示します。 したがって、おそらく必要なのは、lessalways-Qオプションが渡されたかのように動作させることです。 manやその他のプログラムで使用されます。

lessが実行されると、コマンドライン引数で渡されたオプションに加えて、使用するオプションについてLESS環境変数が調べられます。したがって、WSLコマンドプロンプトを開いたときにソースとなるスクリプトの1つにこれを入れることができます。

export LESS=-Q

または、LESS変数にすでに存在するオプションを保持するこれをお勧めします。通常、その変数は通常はまだ定義されていないため、これは不要ですが、定義されていない場合でも機能します。

export LESS="$LESS -Q"

ほとんどのUbuntuユーザーは、これと他の 環境変数彼らの~/.profileファイル に設定したいと思うでしょう。 ( ~/.pam_environmentを使用する方法 一部の人が好む方法もあります 異なる構文を使用します 。)これも私がお勧めするものですシェルWSLが提供するログインシェルは、 最近のビルド(または構成済みの場合)では です。

これを確認するには、WSLコマンドプロンプトウィンドウを開いたときに提供されるシェルでshopt login_Shellを実行します。ログインシェルではなく、Windowsショートカットに-lまたは--loginを追加したくない場合は、それらのexportコマンドの1つを.bashrcではなく.profileに配置します。

6
Eliah Kagan

xtermには、ベルを鳴らす代わりに端末をフラッシュする視覚的なベルオプションがあります。オプション-vbを使用するか、~/.Xdefaultsに設定します

XTerm*visualBell:true

または同じものをxrdb -mergeにエコーします

1
meuh