Verwenden Sie mehrere Byobu-Sitzungen, während Sie nicht verwandte tmux-Sitzungen ignorieren

9

Ich habe also Zugriff auf ein freigegebenes Shell-Konto, in dem andere Personen und ich arbeiten.

Einige Leute bevorzugen die Verwendung von tmux, daher haben sie ihre tmux-Sitzungen geöffnet und laden die Konfiguration von ~/.tmux.conf. Ich bevorzuge die Verwendung von byobuWrapper um tmux, da es viel schönere Tastenkombinationen und andere Dinge hat.

Das Problem ist, wann immer es eine von anderen Personen verwendete tmux-Sitzung gibt, wann immer ich byobu ausführe, wird ihre tmux-Sitzung fortgesetzt, anstatt eine neue byobu-Sitzung für mich zu erstellen.

Also habe ich versucht zu laufen byobu-tmux new-session, aber dann startet es eine neue tmux-Sitzung mit ihrer Konfiguration (von ~/.tmux.conf) anstelle von Byobu.

Wie kann ich das umgehen?

elias
quelle

Antworten:

11

Das tmux-Programm kann als einzelner Serverprozess ausgeführt werden, der eine oder mehrere unabhängige Sitzungen verwaltet. Die Konfigurationsdatei wird beim Start vom Serverprozess geladen und beim Erstellen auf neue Sitzungen angewendet. Das Ausführen tmux new-session(oder in diesem Fall gleichwertig byobu new-session) kontaktiert den laufenden Server, falls vorhanden, und fordert ihn auf, eine neue Sitzung zu erstellen. Der Server verwendet einen bekannten Pfad für seinen Socket, der nur auf der UID des Benutzers basiert. Dies ist alles, was für die Verbindung mit einem laufenden tmux-Server erforderlich ist. Aus diesem Grund wird byobu, wenn bereits eine "normale" tmux-Sitzung ausgeführt wird, eine Verbindung zu diesem Server herstellen oder eine neue Sitzung erstellen.

Laut der tmux-Manpage können Sie einfach den von tmux verwendeten Socket ändern, um zwei unabhängige tmux-Server mit jeweils eigenen Konfigurationssätzen zu starten, falls dies gewünscht wird. Sie können entweder angeben -L, dass der Basisname des Sockets geändert werden soll, oder die -SOption, einen völlig anderen Pfad zur Socket-Datei anzugeben. Der Standard-tmux-Socket heißt default.

Wenn Sie diese tmux-Optionen beim Aufrufen von byobu verwenden, um einen unabhängigen tmux-Server mit byobu zu starten, können Sie ausführen

byobu -L my-byobu new

oder

byobu -L my-byobu attach

Hier kann der Name my-byobudurch einen beliebigen Namen Ihrer Wahl ersetzt werden. Dadurch wird ein neuer tmux-Server mit dem Namen gestartet my-byobu, der die Byobu-Konfiguration für tmux anstelle der Standardeinstellung lädt und effektiv einen unabhängigen Namespace für Ihre Byobu-tmux-Sitzungen erstellt.

Mike Miller
quelle