Ich habe also Zugriff auf ein gemeinsames Shell-Konto, wo andere Leute und ich arbeiten.
Einige Leute bevorzugen die Verwendung von tmux, also öffnen sie ihre tmux-Sitzungen und laden die Konfiguration von ~/.tmux.conf
. Ich bevorzuge die Verwendung von byobu
Wrapper um tmux, da es viel schönere Tastenbelegungen und andere Dinge hat.
Das Problem ist, wann immer es eine tmux-Sitzung gibt, die von anderen Leuten verwendet wird, wenn ich byobu starte, setzt es ihre tmux-Sitzung fort, anstatt eine neue byobu-Sitzung für mich zu erstellen.
Also habe ich versucht, byobu-tmux new-session
auszuführen , aber dann startet es eine neue tmux-Sitzung mit ihrer Konfiguration (aus ~/.tmux.conf
) statt byobu.
Wie kann ich das umgehen?
Akzeptierte Antwort:
Das tmux-Programm wurde entwickelt, um als einzelner Serverprozess ausgeführt zu werden, der eine oder mehrere unabhängige Sitzungen verwaltet. Die Konfigurationsdatei wird beim Start vom Serverprozess geladen und auf neue Sitzungen angewendet, wenn diese erstellt werden. Ausführen von tmux new-session
(oder äquivalent in diesem Fall 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, und das ist alles, was benötigt wird, um eine Verbindung zu einem laufenden tmux-Server herzustellen. Wenn also bereits eine „normale“ tmux-Sitzung läuft, verbindet sich byobu entweder mit diesem Server oder erstellt eine neue Sitzung mit diesem Server.
Laut der tmux-Manpage können Sie einfach den von tmux verwendeten Socket ändern, um zwei unabhängige tmux-Server zu starten, die bei Bedarf jeweils ihre eigenen Konfigurationssätze haben. Sie können entweder -L
angeben um den Basisnamen des Sockets oder das -S
zu ändern Möglichkeit, einen völlig anderen Pfad zur Socket-Datei anzugeben. Der Standard-tmux-Socket heißt default
.
Wenn Sie also beim Aufrufen von byobu diese tmux-Optionen verwenden, um einen unabhängigen tmux-Server mit byobu zu starten, können Sie
ausführenbyobu -L my-byobu new
oder
byobu -L my-byobu attach
wobei der Name my-byobu
kann durch einen beliebigen Namen Ihrer Wahl ersetzt werden. Dadurch wird ein neuer tmux-Server mit dem Namen my-byobu
gestartet , die die byobu-Konfiguration für tmux anstelle der Standardeinstellung lädt und effektiv einen unabhängigen Namespace für Ihre byobu-tmux-Sitzungen erstellt.