iTerm2のtmuxとシェル分割オプションの違いは?


8

現在、開発環境をiTerm2 + VIMに切り替えています。iTerm2の最後のバージョンがサポートtmuxしていてtmux、ウィンドウをいくつかのセッションに分割するために使用している人がいることに気付きました。また、iTerm2には、ウィンドウをいくつかのセッションに分割するオプションがすぐに利用できることにも気付きました。たとえば、CMD + Dを使用するだけで、垂直方向および水平方向に必要なだけセッションを分割できます。だから私には、これらのオプションで同じ機能を実現できるようです。私は完全に間違っている可能性があります。

私の質問は次のtmuxとおりです。iTerm2の分割オプションを使用することによる違い/メリットはありますか?

回答:


9

iterm2を閉じると、そのiterm2のインスタンスに接続されているシェルも破棄または閉じられます。この状況のプロセス階層:

iterm2
  +---- shell
  +---- shell
  +---- shell

あなたが成り立つiterm2閉じた場合tmuxのを、その後、tmuxは、その内部のシェルtmuxはのインスタンスキープ実行されています。後でそのtmuxインスタンスに再接続し(接続が切断された場合のリモートサーバーでの基本的な動作方法)、iterm2を閉じる前の状態に戻すことができます。この状況のプロセス階層:

iterm2
  +---- tmux
          +---- shell
          +---- shell
          +---- shell

tmuxから直接引用するには:

tmuxは端末マルチプレクサーです。それぞれが個別のプログラムを実行している複数の端末(またはウィンドウ)を、単一の画面から作成、アクセス、および制御できるようにします。tmuxは画面から切り離され、バックグラウンドで実行を続け、後で再接続されます。

基本的に同じ機能を提供する古いプロジェクトは画面です


あきらさん、ありがとう!それがSUに関する私の最初の質問で、すばらしい答えを受け取りました。
wonitta 2012年

プロセス階層は、より多くのようにされていません:iterm2 > shell > tmux clienttmux server > shell?そのため、iTermを閉じると、tmuxクライアントは閉じますが、サーバーはそのままです。
Henrik N

@HenrikN:iTerm2はtmux-clientを「直接」呼び出すことがあります。「exec tmux attach」などを起動しても同じ効果が得られます。はい、tmuxは2つの部分で構成されています。しかし、その区別はiterm2-splittingがtmux-splittingと異なる理由の理解を向上させませんか?
akira

@akira私はtmuxをiTermの下に置いたのでそれを片付けたかっただけで、おそらくiTermプロセスが終了したときにtmuxがどのように存続するかを確認することが難しくなります。私にとって、これを理解する最良の方法は、tmuxサーバーがiTermから独立していることを認識することです(ただし、クライアントはそうではありません)。しかし確かに、itermではなくtmuxが分割シェルを所有しているという事実が重要なポイントです。
Henrik N

2

受け入れられた答えは素晴らしく、tmuxの私のお気に入りですが、見落とされがちなのは、各tmuxセッションに複数のクライアントを接続できることです。したがって、1人以上のユーザーが異なるコンピューターからtmuxセッションに接続し、ウィンドウ上で同じ情報を共有できます。


1

また、iTermocilと呼ばれるツールもあり、ウィンドウやペインのレイアウト、および事前設定されたコマンドをiTermにネイティブで実行する機能を提供します。

免責事項:私はこのツールの作成者です(質問で説明されているとおりの機能について)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.