GNU/Linux >> Linux の 問題 >  >> Linux

$ termはどこでどのように解釈されますか?

ターミナルマジック 内部で機能します。

Dockerコンテナーで遊んでいる間、環境変数$TERM 設定されていません。これにより、vimやtmuxのような奇妙な外観のコンソールアプリケーションが発生しましたが、CTRL + l(画面のクリア)も無視されました。

すべての機能はかなり確信しています 画面の部分的な更新、色、画面のリセットなどのコマンドは、エスケープコードを使用して実現されますよね?

では、この変数はどこで解釈され、たとえば、適切な値を設定した場合、CTRL + 1を使用してターミナル画面をリセットできますか?誰がチェックする たとえば、どの色がサポートされていますか(xtermとxterm-256color)?シェル?アプリケーションまたはncursesのようなライブラリ?そして、可能な値/端末タイプはどこで定義されていますか?

承認された回答:

$TERM terminfoシステムによって読み取られ、解釈されます。 terminfoは、ほとんどのシステムで/usr/share/terminfoにある端末の説明のデータベースも指します。 。 $TERM そのデータベースのエントリの1つと一致する必要があります。機能が少ないtermcapと呼ばれる古いライブラリもありましたが、terminfoがそれに取って代わりました。最新のシステムでは、terminfoはncursesライブラリの一部です。

アプリケーションは通常、tigetstr()などのライブラリ関数を使用して端末機能を直接フェッチします。 または、画面のレイアウトを管理するために、より高いレベルのcursesインターフェイスを使用します。いずれにせよ、$TERM そして、terminfoデータベースが参照されます。


Linux
  1. Linuxターミナルとシェルをクリスマス化する方法

  2. スライススクリーン端末で上下にスクロールする方法

  3. Linux コンソールで、出力をラップしない方法

  1. Linuxコマンドをバックグラウンドで起動し、ターミナルでプロセスをデタッチする方法

  2. LinuxターミナルプロンプトでBashの色とコンテンツをカスタマイズする方法

  3. キティターミナルエミュレータ:インストール、構成、および使用方法

  1. Tput:$ termの値がなく、-tが指定されていませんか?

  2. Guake ターミナルをインストールして自動起動に追加する方法

  3. Linuxでターミナルコンソールをズームインおよびズームアウトする方法