この質問を改善したいですか? この投稿を編集することで、事実と引用で答えられるように質問を更新してください。
閉鎖 5年前
これまで私は複数のシェルセッションを管理するために Konsole を使ってきましたが、Byobu、GNU Screen、そして複数のシェルをサポートしている tmux は試していませんでした。それは、現在のセッションを切り離して、後でその古いセッションに再アタッチできるようにすることです
道具を選ぶ際の参考にしたいのですが、以下の点でどのように違うのでしょうか?
- Features (obviously)
- プロジェクトの成熟度。あまりにも変化の激しいツールを学びたくない。機能強化は歓迎するが、機能が消えるなどのサプライズは嫌い
- Learning curve
- 異なるプラットフォームでの利用可能性。ツールを覚えたら、FreeBSDサーバやSuSEデスクトップ、Ubuntuで使えるようにしたいですね
- 他の対話型シェルプログラムとの互換性。
vim
とemacs -nw
(非ウィンドウモード、またはテキストモード) は今までと同じように使えますか?キーボードショートカットは他のツールのものと競合しますか?
わたしはそれらすべてを試してみましたが、ByobuはGNU Screenとtmuxのフロントエンドのように見えました。では、なぜ誰かがGNU screenプロジェクトに貢献して新しい機能を追加する代わりにByobuを作ったのでしょうか?なぜByobuはGNU Screenのある種の高度なインタフェースモードではないのでしょうか?バックエンドとしてGNU screenを使って日々のツールとしてByobuを使っている場合、あるマシンがGNU Screenしか持っていない場合、その知識をByobuなしでGNU Screenを使うために移すことはできますか?
113 Keitai 2012-05-11
Tmux vs GNU Screenについては、こちらをお読みください
と、ブログなどで見かけるいくつかの比較対象の化身を紹介しています
頻繁に繰り返されるいくつかの一般的な用語
- Tmux は新しいものです。これは、Tmuxが少しファンシーで(シンプルな垂直分割、きれいな緑色のライン)、互換性などのテストが少し少ないことを意味します(提案者によれば、無視できる程度)
- Tmuxの方がリソースの節約になります
- GNUスクリーンはどこにでもありますし、おそらくもっと使われているでしょう
これとは別に、一方か他方の代替案のための特定の機能を見ることができ、個人的な好みが議論を支配するでしょう。私は個人的にGNU Screenを多用していましたが、今はTmuxを使っています
Byobuが私にとって「キラー機能」を持っていることを発見したことはありません。私のユースケースでは何も必要ないと思われる抽象化を提供してくれます
別の見方としては、ByobuはバックエンドとしてGNU ScreenかTmuxのどちらかを使うことができますが、これはユーザのPOVとの違いがほとんど表面的なものであることを示しています
40 Daniel Andersson 2012-05-11
素晴らしい質問ですね!私はByobuの作者であり管理人でもあります
Byobu は設定レイヤーで、元々は GNU Screen の上に置かれるように書かれていましたが、現在は Tmux の上でも動作するようになっています
私が Byobu を書き始めたのは、2008年12月でした。Googleplexで Screen と Ubuntu Server のユーザーたちに会ったとき、私たち全員が ~/.screenrc
の設定の中に、自分たちだけの、すてきな/楽しい/便利なハックの束を維持していることに気づきました。そして、私たちが使っている何十、何百ものサーバーの間で、それらを手動で移動させなければなりませんでした。私たちはヒントやトリックを交換し始め、それらを GPLv3 プロジェクトの “screen-profiles” に集め始めました。約半年後、コミュニティ全体が “screen-profiles” を中心に発展し、プロジェクトは単なるスクリーンハック以上のものになりました — 設定ユーティリティ、ライブステータスプラグイン、キーバインドがありました。そこで私たちは プロジェクト名を変更しました “屏風” とは、エレガントな折り畳み式の “スクリーン “を表す日本語で、”スクリーン $FOO” よりも “屏風 $FOO” でグーグル検索する方がうまくいくという付加的な利点があります
Byobu は現在、ほとんどの Linux ディストリビューション (Ubuntu, Debian, Fedora, Arch) に搭載されており、ほとんどの Mac/BSD やその他の UNIX 上で機能していますが、同じルックアンドフィール、便利なキーバインド、動的なシステムステータス情報をどの端末でも提供します
なぜGNUスクリーン・プロジェクトに貢献しないのでしょうか?いくつかの理由があります…Byobuが設定オプションと同じように動作するものはすべて同じように動作します。機能するために Screen のソースベースに含まれている必要はありません。いくつかのものは、Screen がデフォルトでそれらを含んでいれば、より良く動くかもしれませんし、より良いパフォーマンスを発揮するかもしれませんが、変更の多くは非常に「意見が多い」もので、25 歳の上流プロジェクトに貢献するのは通常は難しいか、不可能です。また、GNU Screenプロジェクトは、まったくと言っていいほど、とてもゆっくりと動いています。25年以上前のもので、2008年8月以来、公式リリースはありません。例えば、Ubuntu と Debian は現在、19K 行のコードを 48 patches にまとめています
2 年ほど前に Tmux を知り、ソースコード、デザイン、インターフェイス、活発なコミュニティに惚れ込みました。私は、上流の Tmux に修正を提供したり、メーリングリストでトピックを議論したりする方がずっと楽でした。そして、どこでも使っている Byobu ユーザーとして、4年以上の Byobu で楽しんできたのと同じように、自分の Tmux セッションにも同じようなルック&フィールを求めていました。そこで、ポートした Byobu のすべてのコードを、バックエンドとしての Tmux と同じように Screen と同じように動作するようにしました。Byobu 5.0 リリースでは、Tmux がデフォルトのバックエンドとなり、Screen はレガシーモードでサポートされています。Byobu は、大幅に改善された 256 色のサポート、UTF8 文字、水平/垂直ウィンドウの分割など、Screen を超える Tmux の最新機能の多くを活用するようになりました
Screen や Tmux のデフォルトの設定で満足している場合、あるいは自分で設定ファイルをゼロから書きたい場合は、ぜひとも Screen と Tmux を、私たちの生活に長年の効率化をもたらしてくれた素晴らしいユーティリティとして活用してください。もし、Screen や Tmux の機能を拡張する設定ファイルに興味があるなら、Byobu を見てみてください
Cheers, Dustin
293 Dustin Kirkland 2012-05-11
実際のユースケースを見てみると、screen
とtmux
の最大の違いは、分割されたウィンドウをどのように扱うかということです
screen
のウィンドウは一つの擬似ターミナルです。screen
セッションにアタッチすると、ターミナルを複数のリージョンに分割することができ、それぞれがscreen
ウィンドウを表示することができます。複数のリージョンは同じウィンドウを表示することができます。分割したものはセッションの一部ではありません
tmux
のウィンドウは、1つのペインごとに1つ以上の疑似末端から構成されています。これは、後から取り外して再アタッチしても、ペインが持続することを意味します。また、tmux
では一度に一つのウィンドウしか表示できず、複数のウィンドウ間でペインを共有できないことも意味します。しかし、tmux
では、複数のセッション間でウィンドウを共有することができます
私はtmux
が使っているモデルの方が好きですが、screen
が使っているモデルよりも優れているという反論はできませんでした
13 chepner 2012-05-11
私にとって、tmux の問題点は、セッション共有の実装でした
GNUスクリーンでは、他のユーザにセッションに接続させたり、単に自分のセッションを複数の端末に接続させたりすると、そのユーザは独立して操作することができます(セッションAの画面を端末Bから切り替えると、端末AもセッションAの画面を切り替えるようにはなりません)
上記のように、tmuxでは(まだ?
もし誰かが tmux でこの動作を変更する方法を知っていたり、tmux がこの動作を変更するようにアップデートしたり、今すぐこの動作を変更するオプションを与えたりする場合は、コメントを残してください
6 therealklanni 2012-06-19