web-dev-qa-db-ja.com

関連のないtmuxセッションを無視しながら、複数のbyobuセッションを使用する

だから、私は他の人と私が仕事をする共有シェルアカウントにアクセスできます。

一部の人々はtmuxの使用を好むため、tmuxセッションを開いて~/.tmux.confから設定をロードしています。 tmuxにはbyobuラッパーを使用することを好みます。これは、キーバインドやその他の機能がはるかに優れているためです。

問題は、他の人が使用するtmuxセッションがある場合、byobuを実行するたびに、新しいbyobuセッションを作成する代わりに、tmuxセッションを再開することです。

そこで、byobu-tmux new-sessionを実行しようとしましたが、次に、byobuの代わりに(~/.tmux.confからの)設定を使用して新しいtmuxセッションを開始します。

どうすれば回避できますか?

9
elias

Tmuxプログラムは、1つ以上の独立したセッションを管理する単一のサーバープロセスとして実行されるように設計されています。構成ファイルは、サーバープロセスの起動時にロードされ、作成された新しいセッションに適用されます。実行中のtmux new-session(または、この場合はbyobu new-session)は、実行中のサーバーがあればそれと通信し、新しいセッションの作成を要求します。サーバーは、ユーザーのUIDのみに基づいて、ソケットに既知のパスを使用します。実行中のtmuxサーバーに接続するために必要なのはそれだけです。そのため、 "通常の" tmuxセッションが既に実行されている場合、byobuはそのサーバーを使用して新しいセッションをアタッチまたは作成します。

tmux man page によれば、tmuxが使用するソケットを変更するだけで、2つの独立したtmuxサーバーを起動できます。 -Lを指定してソケットのベース名を変更するか、-Sオプションを指定してソケットファイルへの完全に異なるパスを指定できます。デフォルトのtmuxソケットの名前はdefaultです。

したがって、byobuを呼び出すときにこれらのtmuxオプションを使用して、byobuで独立したtmuxサーバーを起動するには、次を実行できます。

byobu -L my-byobu new

または

byobu -L my-byobu attach

名前my-byobuは、任意の名前に置き換えることができます。これにより、my-byobuという名前で新しいtmuxサーバーが起動し、デフォルトではなくtmuxのbyobu構成がロードされ、byobu tmuxセッション用の独立したネームスペースが効果的に作成されます。

11
Mike Miller