xterm | |
|---|---|
Bash シェルを実行し、/etc のリストを表示するサンプル xterm。 | |
| 原作者 | マーク・ヴァンデヴォールド |
| 開発者 | トーマス・ディッキー |
| 初回リリース | 1984 (1984年) |
| 安定版リリース | |
| リポジトリ | |
| オペレーティング·システム | Unix、Unixライク、MVS OpenVMS、OS/2 |
| タイプ | ターミナルエミュレータ |
| ライセンス | MIT /X コンソーシアムライセンス |
| Webサイト | 見えない島 |
xtermはX Window Systemの標準端末エミュレータです。これにより、コマンドラインインターフェースを必要とするプログラムを実行できます。
特定のプログラムが指定されていない場合、xtermはユーザーのシェルを実行します。Xディスプレイは、1つ以上のユーザーのxtermウィンドウの出力を同時に表示できます。[ 2 ] [ 3 ]各xtermウィンドウは独立したプロセスですが、すべてが同じキーボードを共有し、各xtermプロセスがフォーカスを取得すると順番にキーボードを使用します。通常、フォーカスはユーザーが画面上でポインタ(マウスカーソルなど)を動かすとXアプリケーション間で切り替わりますが、xtermはフォーカスを取得するオプション(Secure Keyboard機能)と、キーボードを使わずに送信された入力イベントを受け入れるオプション(Allow SendEvents機能)を提供しています。これらのオプションには、xtermのマニュアルに記載されているように制限があります。[ 4 ]
XTermはX Window Systemよりも以前に誕生しました。XTermは、Xの開発が始まった1984年の夏、ジム・ゲティスの弟子であるマーク・ヴァンデヴォールドによって、VAXStation 100 (VS100)用のスタンドアロン端末エミュレータとして開発されました。しかし、スタンドアロンプログラムとしてよりもXの一部として使用する方がより有用であることがすぐに明らかになったため、X向けに再設計されました。ゲティスの記述によると、「xtermの内部構造がこれほどまでに恐ろしい理由の一つは、当初は単一のプロセスで複数のVS100ディスプレイを操作できるように設計されていたことにある」とのことです。[ 5 ]
Xリファレンス実装の一部として長年使用されましたが、1996 年頃に開発のメイン ラインはXFree86 (X11R6.3 からフォーク) に移行し、現在は Thomas Dickey によって保守されています。
xtermの亜種も数多く存在し、例えば韓国語話者向けのhantermや日本語話者向けに設計されたktermなどがあります。[ 6 ] X用の端末エミュレータのほとんどはxtermの亜種として始まりました。[ 7 ]
特徴
端末エミュレーション
初期のバージョンではVT102とTektronix 4014をエミュレートしていました。 [ 8 ]
後のバージョンでは、次のようなDECおよびその他の端末 用の制御シーケンスが追加されました。
- VT220 :パッチ24で追加されました。[ 9 ]その後、1998年にxtermはISO-2022シフト機能のサポートを拡張してNational Replacement Character Set機能を提供するなど、VT220機能のサポートを追加しました。
- VT320 : パッチ24で追加されました。[ 9 ]
- VT420 : DECSTR(ソフト端末リセット)はパッチ34で追加されました。[ 10 ] 2012年にxtermのデフォルトのエミュレーションがVT420に変更され、 tmuxが対応する左/右マージンのサポートを想定できるようになりました。[ 11 ]
- VT520 : 公式にはエミュレートされていないが、VT520の機能の一部が実装されている。[ 12 ]マージンベルと警告ベルの音量を設定するためのコントロールDECSMBVとDECSWBVがパッチ254で追加された。[ 13 ]
カスタマイズ


ほとんどのXアプリケーションと同様に、xtermはグローバルXリソースファイル(例:/usr/lib/X11/app-defaults/XTerm)、ユーザーごとのリソースファイル(例:~/XTerm、~/.Xresources)、またはコマンドライン引数を介してカスタマイズできます。ほとんどのコマンドラインオプションは、マニュアルページに記載されているように、リソース設定に対応しています。
プログラム名はxtermですが、XリソースクラスはXTermです。uxtermスクリプトはこれをオーバーライドし、 UXTerm リソースクラスを使用します。
XTermには通常、メニューバーはありません。xtermの3つのメニューにアクセスするには、Ctrlキーを押しながらマウスの左ボタン、中ボタン、または右ボタンを押します。「ツールバー」のサポートをコンパイル時に組み込むことで、同じメニューを呼び出すことができます。
プロトコル
サポートされている端末制御機能は次のとおりです。
- ANSI X3.64
- シクセル
- Digital Equipment Corporation VT ファミリー:
- テクトロニクスファミリー:
市販の端末マシンで使用されるプロトコルに加えて、xterm では、次のような他の端末エミュレータで採用されているいくつかのプロトコルも追加されました。
- マウストラッキング: ボタン4と5のサポートはパッチ120で追加されました。[ 14 ]
- 16色端末プロトコル:パッチ39で追加されました。[ 15 ]
- 256色端末プロトコル:パッチ111で追加されました。[ 16 ]
- 88色端末プロトコル:パッチ115で追加されました。[ 17 ]
- カスタムカラーパレット: パレットエントリのRGB値を指定する機能がパッチ111で追加されました。[ 16 ]
フォント
当初、XtermはPortable Compiled Format(PCF)ビットマップフォントのみをサポートしていましたが、2000年にXftライブラリが導入され、TrueTypeなどの最新のストロークベースのフォントがサポートされるようになりました。[ 18 ]
参照
- 端末エミュレータのリスト
- luit、必要に応じて xterm によって自動的に呼び出される文字セットコンバータ
- Vttest、vt100/vt220/xterm テストユーティリティ
参考文献
- ^ Thomas E. Dickey (2025年10月20日). “ANN: xterm-403” . 2025年10月29日閲覧。
- ^ロスマン、アーネスト・E、ジェプソン、リッチ・ローゼン (2008年9月18日). Mac OS X for Unix Geeks (Leopard): Demistifying the Geekier Side of Mac OS X . O'Reilly Media, Inc.. ISBN 978-0596555191。
- ^ワグナー、ビル (1998). 『UNIX完全入門』ペンギン社. ISBN 978-0789718051。
- ^ "xterm(1)" . セキュリティ. 2021年12月21日閲覧。
- ^ Thomas E. Dickey. 「XTerm – よくある質問(FAQ)XTermの作成者は誰ですか?」 2018年6月24日時点のオリジナルよりアーカイブ。2018年6月4日閲覧。
- ^ Thomas E. Dickey. 「XTerm – よくある質問(FAQ)、利用可能なバージョンは?」 2018年6月24日時点のオリジナルよりアーカイブ。2018年6月4日閲覧。
- ^ Ric Lister (1999年10月27日). 「xtermのタイトルを変更する方法」 . 6. 付録: 他の端末タイプのエスケープ.
- ^ Thomas E. Dickey. 「XTermとは何か?」 2018年6月24日時点のオリジナルよりアーカイブ。 2018年6月4日閲覧。
- ^ a b「Patch #24 - 1996/8/11 - XFree86 3.1.2Ee」。2001年12月22日時点のオリジナルよりアーカイブ。2008年2月25日閲覧。
- ^ 「Patch #34 - 1997/1/5 - XFree86 3.2o」。2001年12月22日時点のオリジナルよりアーカイブ。2008年2月25日閲覧。
- ^ “Patch #280 - 2012/06/24” . 2012年9月26日時点のオリジナルよりアーカイブ。2021年12月21日閲覧。
- ^ 「なぜVT520をエミュレートしないのか?」 2012年3月25日時点のオリジナルよりアーカイブ。 2007年1月6日閲覧。
- ^ “Patch #254 - 2010/1/6” . 2011年4月12日時点のオリジナルよりアーカイブ。2021年12月21日閲覧。
- ^ 「パッチ #120 - 1999/10/28 - XFree86 3.9.16c」。
- ^ 「パッチ #39 - 1997/5/24 - XFree86 3.2Xl」。
- ^ a b「パッチ #111 - 1999/7/10 - XFree86 3.9Pw」。
- ^ 「パッチ #115 - 1999/9/18 - XFree86 3.9.16a」。
- ^ 「XTERM - 変更ログ」 . invisible-island.net . 2022年11月17日閲覧。