tmuxがTERM変数をscreenに設定するのはなぜですか?

tmuxがTERM変数をscreenに設定するのはなぜですか?

tmuxマニュアルページを引用すると、次のようになります。

tmux内で実行されるすべてのプログラムでは、TERM環境変数を「screen」に設定する必要があります。新しいウィンドウは自動的に「TERM = screen」をその環境に追加しますが、シェルの起動ファイルでそれをリセットしないように注意する必要があります。

tmuxセッションがすべての端末(リモートなど)に接続できるためですか?screenこれが最も低い共通分母ですか?私の端末を知っている場合、予期しない結果やサポートされていない機能の中断(スクロールなど)なしで強制的に実行できますか?

ベストアンサー1

これは、以前にインストールされたGNUスクリーン端末記述を利用するために行われます。

両方マルチプレクサそして画面アプリケーションに「同じ」端末記述を提供して、他の端末への接続を簡素化します。 tmuxおよびscreenプログラムは、内部(TERM = screen)と外部(xterm、linuxなど)の違いを処理する必要があります。したがって、screen端末の説明は「どこでも」(通常はncursesによって)インストールされました。

いくつかの違いがあります。

  • GNU画面に非常に古い質問「目立つ」機能を表します(技術的には、特定の端末機能ではなく、Cursesアプリケーションを容易にするために作成された抽象化です)。 tmuxにはこれらの制限はありません。しかし改善された用語=tmux「どこでも」ある必要はありません。
  • GNU画面には、ミキシング端末を使用して説明されている機能があります。外部TERM = xtermと「screen.xterm」が存在する場合は、その値を内部TERM値として選択します。 (例えば参照端末データベース)。 tmuxはこれをしません。

おすすめ記事