tmux、GNU Screen、Konsole、Terminatorを比較して、どれがあなたに最適か確認してください。
Linuxユーザーは通常、多くの仮想視覚空間を必要とします。ターミナル・ウィンドウでは決して十分ではないので、ターミナルにはタブがあります。1つのデスクトップでは制約が多すぎるので、仮想デスクトップがあります。確かに、アプリケーション・ウィンドウはスタックできますが、スタックされた時の使い勝手はどうでしょう?バックグラウンドのテキストコンソールでさえ、タスク間を行ったり来たりするためにF1からF7まであります。
マルチタスクをこなす方法がたくさんある以上、誰かがターミナルという概念を生み出したとしても驚くことではありません。確かに、これは紛らわしい用語です。従来のエレクトロニクスでは、「」は複数の入力信号を受信し、選択された信号を1つの出力に転送するコンポーネントです。ターミナル・マルチプレクサはその逆です。1つの入力から命令を受け取り、その入力を任意の数の出力に転送します。
また、アメリカでは「マルチプレクサー」という言葉もよく使われ、多くのスクリーンを持つ映画館を指します。ある意味、これはターミナル・マルチプレクサーの役割をよく表しています。1つのフレームで多くのスクリーンを提供することができます。
tmux
私の知る限り、"マルチプレクサ "という言葉を使い始めたのはtmuxです。とてもよく機能します。
デーモンとして実行されるので、表示している端末エミュレータを終了しても、 端末セッションはアクティブなままです。端末画面をパネルに分割し、それぞれのパネルで固有の端末プロンプトを開くことができます。
つまり、リモートでいくつものシステムに接続し、ターミナルで開くことができます。tmuxの、他の開いているペインに入力をイメージ化する機能を使えば、中央のコマンドペインから複数のコンピュータを同時に制御することができます。
GNU Screenが水平方向にしか分割できなかったのに対し、tmuxは垂直方向に分割できるため、最大限の柔軟性を求めるファンを魅了しました。そして、その柔軟性こそが、ユーザーがtmuxで得られるものなのです。分割、スタック、セレクト、サーブが可能で、できないことはほとんどありません。
パッケージサイズ
パッケージからtmuxをインストールすると、依存する十数個の共有ライブラリを除いて、約700Kかかります。
コントロールキー
tmuxのデフォルトのトリガーキーはCtrl+Bですが、これは設定ファイルで簡単に再定義できます。
ハックファクター
ターミナルの使い方を学んだばかりの人でも、tmuxを使えばハッカーになった気分になれるはず。複雑そうに見えますが、一度適切なキーバインドを理解すれば、使い方は簡単です。便利なトリックがたくさん用意されていますし、必要な情報を目の前に表示するHUDを素早く構築する超シンプルな方法です。
GNU Screen
tmuxのように、GNU Screenはデーモンとして動作するので、起動に使ったターミナルを閉じてもシェルは利用可能です。異なるコンピュータから接続して画面を共有することができます。ターミナル画面を水平または垂直のペインに分割することができます。
tmuxとは異なり、GNU Screenはシリアル接続が可能で、XONとXOFFシグナルはキーバインドで簡単に発行できます。
シリアル接続におけるマルチプレクサの必要性は、おそらく SSH セッションほど一般的ではないでしょうから、ほとんどのユーザは Screen のこの本当に特別な機能に気づいていないでしょう。しかし、GNU Screen は多くの便利なオプションを備えた優れたマルチプレクサです。また、本当に一度に複数のサーバにシグナルを送る必要がある場合は、 ClusterSSH や Ansibleような特別なツールがあります。
パッケージサイズ
パッケージからGNU Screenをインストールすると、依存する十数個の共有ライブラリを除いて、約970Kかかります。
コントロールキー
GNU ScreenのデフォルトのトリガーキーはCtrl+Aですが、これはBashのショートカットに慣れている人にとっては特に煩わしいものです。幸いなことに、設定ファイルでこのトリガーキーを簡単に再定義することができます。
ハッキングファクター
Screenを使ってシリアル経由でルーターやプロトタイプ・ボードに接続すれば、ハードウェア・ハッキング仲間から羨望の眼差しを浴びることでしょう。
Konsole
マルチプレクサであることを宣伝していない Konsole としては驚くべきことに、マルチプレクサなのです。Qt ペインとタブを使って、必要に応じてウィンドウを分割したり重ねたりできますが、編集メニューのオプションを使って、あるペインから別のペインに入力を渡すこともできます。
しかし、最も明らかに欠けている機能は、リモート再接続用のデーモンとして実行する機能です。tmuxやGNU Screenとは異なり、Konsoleが動作しているマシンにリモート接続してセッションに参加することはできません。管理者によっては、これは問題ではないかもしれません。多くの管理者は、 VNC SSH マシンに接続することが多いので、VNCクライアント上でKonsoleのウィンドウをクリックするだけで、簡単にセッションに「再参加」することができます。
Konsoleをマルチプレクサとして使うのは、KDEオタクにとって素晴らしいトリックです。Konsoleは私が初めて使ったLinuxターミナルなので、この馴染みのあるターミナルをマルチプレクサとして使えるのはとても便利です。Konsoleの中でtmuxとScreenを実行することができるので、これは決して必要ではありませんが、Konsoleにペインを処理させることで、マッスルメモリーを調整する必要がありません。この微妙な機能の盛り込みが KDE を素晴らしいものにしているのです。
パッケージサイズ
Konsole自体は約11KBですが、105個のKDEとQtのライブラリに依存しているので、実際には少なくとも50MBはあります。
コントロールキー
Konsoleの重要なショートカットのほとんどはShift+Ctrlで始まり、画面の分割、新しいタブのオープン、他のペインへの入力のコピーなどができます。これは KDE のメインコンソールなので、Plasma デスクトップに慣れていれば、ショートカットは見慣れたものに感じられるでしょう。
ハックファクター
Konsole をマルチプレクサとして使用することで、KDE の上級ユーザを名乗る資格が得られます。
Terminator
Terminator マルチプレクサは GNOME ユーザが最小限の GNOME 端末に機能を追加する簡単な方法です。必要な多重化に加えて、Terminator は開いている全てのペインに入力をブロードキャストしますが、Konsole のようにバックグラウンドでは動作しないので、SSH 経由で再接続することができます。とはいえ、GNOME と Wayland は VNC をとても簡単にしてくれるので、ターミナル・セッションを再開するために SSH する必要性を感じないかもしれません。
ターミネーターは完全にマウスで操作できますが、Konsoleもメインメニューから同じ操作ができます。Terminatorでは、シェル内の任意の場所で右クリックすると、ウィンドウを水平または垂直に分割したり、ペインをブロードキャストターゲットとしてグループ化したり、入力をブロードキャストしたり、ペインを閉じたりするオプションが表示されます。また、これらすべての操作にキーボードショートカットを設定することもできます。
Terminator は驚くほど設定可能で柔軟なアプリケーションです。多くの点で、オープンソースのパワーを体現しており、質素な GNOME 端末を強力なマルチプレクサに変えています。
パッケージサイズ
Terminatorは2.2MBでインストールできますが、そのほとんどはPythonモジュールです。しかし、GTK3とGNOMEに依存しているので、完全なGNOMEデスクトップを実行していない場合は、これらの依存関係を取り込むために、より大きなインストールが必要になることが予想されます。
コントロールキー
Terminatorのデフォルトのコントロールキーにはほとんど一貫性がありません。いくつかのコマンドにはAlt、他のコマンドにはCtrl、Shift+Ctrl、Ctrl+Alt、Shift+Superなど、そしてマウスを使うことができます。とはいえ、これは私が試したマルチプレクサの中で最も設定可能なものの1つなので、アイデアと少しの努力でパターンに合わせて設計することができます。
ハックファクター
Terminatorを使えば、最も現代的で実用的なハッカーになった気分になれます。様々なマニアックなオプションのおかげで、マルチプレキシングに最適で、とてもフレキシブルなので、キーボードに手を置いていても、キーボードとマウスを一緒に使っていても、同じように簡単に使うことができます。
全部いただきます
マルチプレクサは他にも数多くあり、同様のマルチプレクサ機能を持つアプリケーションも数多くあります。必要なことをすべて思い通りに実行するマルチプレクサを見つける必要はありません。複数のマルチプレクサを使用することもできます。実際、tmuxとScreenはシェルであり、KonsoleとTerminatorはシェルを表示するターミナルなので、複数のものを同時に使うこともできます。指先のツールに慣れること、そしてそれらがワークスペースの管理に役立つことで、効率的に作業できるようになることが最も重要なことです。
マルチプレクサを試してみたり、お気に入りのアプリでマルチプレクサのような機能を発見してみてください。コンピューティングに対する見方が変わるかもしれません。





