xtermは、 X Window Systemの標準ターミナルエミュレータです。コマンドラインインターフェースを必要とするプログラムを実行できます。
特定のプログラムが指定されていない場合、xterm はユーザーのシェルを実行します。Xディスプレイは、1 つ以上のユーザーの xterm ウィンドウの出力を同時に表示できます。[ 2 ] [ 3 ]各 xterm ウィンドウは独立したプロセスですが、すべて同じキーボードを共有し、各 xterm プロセスがフォーカスを取得すると順番にキーボードが切り替わります。通常、フォーカスはユーザーがポインタ (マウス カーソルなど) を画面上で移動するときに X アプリケーション間で切り替わりますが、xterm はフォーカスを取得する(セキュア キーボード機能) およびキーボードを使用せずに送信された入力イベントを受け入れる ( Allow SendEvents機能) ためのオプションを提供します。これらのオプションには制限があり、xterm マニュアルで説明されています。[ 4 ]
XTermはX Window Systemよりも前に誕生しました。元々は、Xの開発が始まった1984年の夏に、ジム・ゲティスの教え子であるマーク・ヴァンデヴォールデによってVAXStation 100 (VS100)用のスタンドアロン端末エミュレータとして書かれました。スタンドアロンプログラムとしてよりもXの一部としての方が有用であることがすぐに明らかになったため、X向けに再設計されました。ゲティスが語るところによると、「xtermの内部構造が恐ろしい理由の一つは、当初は単一のプロセスで複数のVS100ディスプレイを駆動できるように設計されていたからです。」[ 5 ]
長年にわたりXリファレンス実装の一部として機能した後、1996年頃に開発の主要ラインはXFree86(それ自体はX11R6.3から派生したもの)に移行し、現在はトーマス・ディッキーによってメンテナンスされている。
xterm の多くの派生版も利用可能で、例えば韓国語話者向けに調整された hanterm や、日本語話者向けに設計された kterm などがあります。[ 6 ] X のほとんどの端末エミュレータは、xterm の派生版として始まりました。[ 7 ]
初期バージョンはVT102とTektronix 4014をエミュレートしていた。[ 8 ]
後のバージョンでは、 DECやその他の端末用の制御シーケンスが追加されました。


ほとんどのXアプリケーションと同様に、xtermはグローバルXリソースファイル(例:/usr/lib/X11/app-defaults/XTerm)、ユーザーごとのリソースファイル(例:~/XTerm、~/.Xresources)、またはコマンドライン引数によってカスタマイズできます。コマンドラインオプションのほとんどは、マニュアルページに記載されているように、リソース設定に対応しています。
プログラム名はxtermですが、X リソースクラスはXTermです。uxtermスクリプトはこれを上書きし、UXTerm リソースクラスを使用します。
XTermには通常、メニューバーがありません。XTermの3つのメニューにアクセスするには、Ctrlキーを押しながらマウスの左ボタン、中央ボタン、または右ボタンを押します。「ツールバー」のサポートをコンパイル時に組み込むことも可能で、その場合も同じメニューが表示されます。
サポートされている端末制御機能は以下のとおりです。
市販の端末機器で使用されているプロトコルに加えて、xtermは他の端末エミュレーターで採用されているいくつかのプロトコルを追加しました。例えば、以下のようなものです。
当初、XtermはPortable Compiled Format(PCF)ビットマップフォントのみをサポートしていましたが、2000年にXftライブラリが導入され、 TrueTypeなどの最新のストロークベースのフォントをサポートするようになりました。[ 18 ]