tmux 対 GNU Screen

tmux 対 GNU Screen

質問を閲覧するtmux について調べました (通常は GNU Screen を使用します)。質問は、それぞれの長所と短所は何ですか。特に、tmux についてはあまり見つけられませんでした。

答え1

からウェブサイト:

  • tmux は GNU screen とどう違うのでしょうか? 他には何を提供していますか?

tmux は screen に比べていくつかの利点があります。

  • 明確に定義されたクライアント サーバー モデル: ウィンドウは独立したエンティティであり、複数のセッションに同時に接続して複数のクライアント (端末) から表示したり、同じ tmux サーバー内のセッション間で自由に移動したりできます。
  • 対話的に使用する場合でも、キーバインディングとして使用する場合でも、シェルから使用する場合でも、同じ構文を持つ、一貫性があり、十分に文書化されたコマンド インターフェイス。
  • シェルから簡単にスクリプト化可能。
  • 複数の貼り付けバッファ。
  • vi または emacs キーレイアウトの選択。
  • ウィンドウのサイズを制限するオプション。
  • 特定のコマンドの出力の最初の行を表示できる、より使いやすいステータス ライン構文。
  • よりクリーンで、モダンで、簡単に拡張できる、BSD ライセンスのコードベース。

tmux が省略している screen に含まれる機能はまだいくつかあります。

  • 組み込みのシリアルおよび Telnet サポート。これは肥大化しており、tmux に追加される可能性は低いです。
  • IRIX や HP-UX などのより広範なプラットフォームのサポート、および特殊な端末のサポート。

答え2

1 つの違いは、複数の端末が 1 つのセッションに接続されている場合に、2 つの動作がどのようになるかです。

screen では、接続された各端末のビューは他の端末から独立しています。tmux では、接続されたすべての端末に同じものが表示されます。

1 つの tmux セッションに 2 つのターミナルが接続されているとします。^B1 つのターミナルに 1 と入力すると、もう 1 つのターミナルもウィンドウ 1 に切り替わります。

1 つの画面セッションに 2 つの端末が接続されていて、^A一方の端末に 1 と入力しても、もう一方の端末には影響しません。

これは、tmux 1.2 での私の経験に基づいています。1.3 がリリースされたことは知っていますが、変更ログにはこの動作の変更に関する記述がありませんでした。

画面の動作が気に入っていて、それを tmux で使用したい場合:

元の tmux セッションが呼び出された場合0(デフォルト)、tmux new-session -t 0) を実行して、同じウィンドウ セットに接続された新しい独立したセッションを開始し、独自のビューを持つことができます。

答え3

tmux は、GNU screen と比べるとかなり新しいものです。どちらのプログラムもほぼ同じ問題を解決するため、利点と欠点は難しい質問です。tmux は BSD ライセンスですが、screen は GNU GPL です。これは一部の人にとっては重要です。

現時点では、screen の方が (Linux 上で) 多く使用されています。つまり、特定の Linux ボックスでは tmux よりも screen の方がよく使用されています。ただし、tmux は基本インストールの一部として含まれているため、OpenBSD 上では tmux の方が多く使用されています。

どちらのプログラムでもほぼ同じことができますが、状況はそれよりも少し複雑です。 2 つのプログラム間の切り替えはそれほど複雑ではありません。screens の機能の多くは tmux にも取り入れられているためです。ただし、どちらかのパワー ユーザーの場合、もう一方に切り替えるときに多少のフラストレーションを感じる可能性があります。

どのプログラムでもそうですが、それはあなたのニーズと、どちらが使いやすいかによって決まります。両方試してみて、どちらが使いやすいか見てみましょう。

tmuxの詳細については、翻訳元:

答え4

私の使用上の最大の違いは、Gnu Screenではフレームを水平方向にしか分割できないのに対し、Tmuxでは水平方向と垂直方向の両方に分割できるという点です。これは一種の動的な目標ですが、ここで私が言うように垂直分割が画面に登場

それ以外は、ほぼ横ばいです。

関連情報