ターミナルマルチプレクサ()は、複数の擬似端末ベースのを、単一のターミナルディスプレイ、ターミナルエミュレータウィンドウ、PC/ワークステーションのシステムコンソール、またはリモートのログインセッション内で多重化するために用いられるアプリケーションソフトウェアである。また、セッションをターミナルからデタッチおよび再アタッチする機能も有する。これは、コマンドラインインタフェースから複数のプログラムを扱う場合や、Unixシェルから起動されたプログラムのセッションとプログラム本体を分離する場合、特にリモートプロセスがユーザーの切断後も継続して動作するようにするために有用である。
機能 ターミナルマルチプレクサは、グラフィカルなウィンドウマネージャのと見なすことができる。また、仮想端末を任意のログインセッションに接続する手段としても理解できる。これは複数のテキストプログラムを同時に実行可能とするラッパーであり、1つのインターフェース内でこれらのプログラムを生産的に使用するための機能を提供する。
永続性 Virtual Network Computingと同様に、多くのターミナルマルチプレクサは、1台のコンピュータでアプリケーションを起動し、別のコンピュータから再接続して同じアプリケーションを再起動せずに継続利用することを可能にする。これにより、職場と自宅など異なる場所から同一セッションにアクセスすることが容易になる。これらのマルチプレクサは一般にターミナルに依存しない機能を提供し、ユーザーは異なるターミナル種別を用いて切断・再接続できるため、アプリケーションはターミナルの変更を意識することなく動作を継続できる。 具体的には、ターミナルマルチプレクサはセッション(および関連するプロセス)を開始する。このとき、ターミナルとは接続しないか、あるいは接続していても後からデタッチ可能である。セッションは終了しないため、プロセスは「ハングアップ」シグナル()を受けず、終了しない。そのためプロセスは動作を継続し、後からセッションにターミナルを再接続して操作を再開したり、セッションを未接続のまま維持することもできる。 複数ウィンドウ 複数のターミナルセッションを作成可能であり、それぞれは通常単一のアプリケーションを実行する。ウィンドウには番号が割り当てられ、ユーザーはキーボードでウィンドウを切り替えられる。一部のGUIターミナルエミュレータは、これに類似したタブ機能を提供している。各ウィンドウには独立したスクロールバックバッファがあり、表示されていない間の出力も保持され、履歴は別のコンピュータに移行しても保存可能である。ウィンドウは分割表示が可能である。テキストアプリケーションの中にはこの機能を内蔵するものもあるが、ターミナルマルチプレクサを用いれば任意のアプリケーションを他のアプリケーションと並列表示できる。 セッション共有 ターミナルマルチプレクサは複数のコンピュータから同一セッションに同時接続することを可能にし、複数ユーザーによる共同作業を実現する。同一のコンピュータからも複数の同時接続が可能であり、複数モニターを備えたコンピュータにおける画面分割の代替手段となる。
実装 Byobu: GNU Screenまたはtmux用のプロファイルおよび設定ユーティリティ。 dvtm: コンソール用のタイル型ウィンドウマネージャ。 GNU Screen: 1987年にリリースされた、原型的なターミナルマルチプレクサ。 mtm: 「おそらく世界で最も小さく実用的なターミナルマルチプレクサ」と称される。 neercs: neercs("screen" の逆綴り)は GNU Screen のクローンである。ウィンドウのサムネイル表示やグラフィカルなアニメーションスクリーンセーバーに対応しており、libcaca アスキーアートライブラリを用いたキューブの各面を利用した3Dコンソール切り替えも可能である。 splitvt: ターミナル分割ユーティリティ。 TD/SMP: DECがVT330/340端末上で導入したもので、TD/SMP は独自仕様であり、自社のターミナルサーバでのみ広くサポートされていた。 tmux: 2007年にリリースされた、現代的な GNU Screen クローン。BSDライセンスで提供され、複数のペイン(オプションでxtermマウス)に対応し、スクリプト可能なコマンドインターフェースを備える。tmux は、単一ウィンドウの共有と、同一セッション内の他のウィンドウの完全な分離を目的として設計された。tmux は2009年の OpenBSD バージョン4.6からOpenBSDベースシステムの一部となっている。 Twin(Text mode WINdow environment): テキストウィンドウ用の本格的なウィンドウマネージャ。当初はDOS向けに開発され、その後Linuxに移植された Also in 。 Zellij: 機能を多数備えたターミナルワークスペース。
関連項目 Polkit
脚注