web-dev-qa-db-ja.com

KDEで「Bell in session Shell」というフォームの通知をトリガーするものは何ですか?

DebianテストでKDEを実行しています。

端末(Konsole)で実行されているプログラムは、「Bell in session Shell」という形式のシステム通知をトリガーすることがあります。

これらの通知をトリガーするものは?

注:無効にする方法は尋ねていません。Konsole-> [設定]-> [通知の構成]に無効にするオプションがあることはわかっています。そもそも、どのような振る舞いがそれらをトリガーするのか、それらをトリガーしないように、または異なる条件下でそれらをトリガーするようにそれらをトリガーするいくつかのプログラムを変更する可能性を考慮して、私は尋ねています。

8
HighCommander4

これがkonsoleターミナルエミュレーターがベルを解釈する方法だと思います。

Bashで実行してみてください

sleep 3 && echo -e "\a"

次に、別のアプリに切り替えて3秒待ちます。

何年も前に、実際の端末が大きなコンピュータに接続されたとき、そのような端末にコマンドを送信するための「エスケープシーケンス」と呼ばれる特別なプロトコルがありました。色を変更したり、新しい行に移動したり、ベルを鳴らしたりするシーケンスがあります。最初の端末には、長時間実行されているタスクが終了したことをオペレーターに通知するための実際のベルが装備されていました。

最新の端末エミュレーター(konsole、xterm、またはテキストモードの場合は実際のコンソール)は、単にそのような端末をエミュレートするため、そのようなシーケンスを理解します。

TERMenv。変数は、エミュレートされた端末の名前を示します。 ncursesのような一部のライブラリは、termcap(またはterminfo)ファイルを使用して、この端末で何に使用されているシーケンスを見つけます。

7
user996142