Ubuntu 12.04とDebian 7でこれをテストしました。私がするとき
echo $TERM
わかりました。
xterm
ただし、[ヘルプ]> [情報]ドロップダウンを使用すると表示されますgnome terminal 3.4.1.1
。
これは gnome-terminal だけを使うという意味ですか?それともxtermですか?それとも、gnome-terminalはxtermの拡張ですか?混乱しています。
ベストアンサー1
それは何$TERM
のためですか。
この$TERM
変数は、アプリケーションが端末機能を利用するために使用されます。
たとえば、プログラムがカラーテキストを表示したい場合は、最初に使用している端末がカラーテキストをサポートしていることを確認し、サポートしている場合はカラーテキストを表示する方法を見つける必要があります。
動作方法は、システムが既知の端末とその機能のライブラリを維持することです。これはほとんどのシステムで使用できます/usr/share/terminfo
(termcapもありますが、レガシーなので廃止されました)。
赤いテキストを表示したいプログラムがあるとしましょう。基本的に「と言うterminfoライブラリを呼び出します。xterm端末に赤いテキストを送信する必要があるバイトシーケンスを教えてください。その後、適切なバイトを取得して印刷
します。tput setf 4; echo hi
setf
4
GNOME端末が嘘をつくのはなぜですか?
今すぐリリースされた新しい新しいターミナルエミュレータがありますが、システムのterminfoライブラリにまだ定義されていないと想像してください。アプリケーションがどのような操作を行うかを見つけようとすると、端末が不明なため失敗します。
あなたの端末がこの問題を解決する方法は、それが誰であるかについて嘘をつくことです。したがって、GNOME端末に「私はxtermです」。
XtermはX11が起動して以来使用されてきた非常に基本的な端末なので、ほとんどの端末エミュレータはXtermの機能をサポートしています。したがって、gnome端末を介してxtermと言うと、terminfoライブラリに定義がある可能性が高くなります。
端末タイプについて嘘をつくことの欠点は、端末が実際にxtermよりも多くの機能をサポートできることです(たとえば、多くの新しい端末は256色をサポートしますが、古い端末は16色のみをサポートします)。したがって、より多くの機能を得ることとより多くの互換性を得ることとの間にはバランスがある。ほとんどの端末は、より高い互換性を選択するので、自分自身をxterm
。
この設定を無視したい場合は、多くの端末でこの動作を構成する方法を提供します。しかし、これもできますexport TERM=gnome-terminal
。