Utilisez plusieurs sessions byobu, tout en ignorant les sessions tmux non liées

9

Donc, j'ai accès à un compte shell partagé où d'autres personnes et moi travaillons.

Certaines personnes préfèrent utiliser tmux, donc elles ont ouvert leurs sessions tmux, en chargeant la configuration depuis ~/.tmux.conf. Je préfère utiliser un byobuwrapper autour de tmux, car il a des raccourcis clavier beaucoup plus agréables et d'autres choses.

Le problème est à chaque fois qu'une session tmux est utilisée par d'autres personnes, chaque fois que j'exécute byobu, elle reprend leur session tmux au lieu de créer une nouvelle session byobu pour moi.

J'ai donc essayé de byobu-tmux new-sessionlancer, mais ensuite il démarre une nouvelle session tmux en utilisant leur config (from ~/.tmux.conf) au lieu de byobu.

Comment contourner cela?

elias
la source

Réponses:

11

Le programme tmux est conçu pour être exécuté comme un processus serveur unique qui gère une ou plusieurs sessions indépendantes. Le fichier de configuration est chargé par le processus serveur au démarrage et appliqué aux nouvelles sessions lors de leur création. En cours d'exécution tmux new-session(ou, de manière équivalente dans ce cas byobu new-session), contacte le serveur en cours d'exécution s'il en existe un et lui demande de créer une nouvelle session. Le serveur utilise un chemin connu pour son socket basé uniquement sur l'UID de l'utilisateur, et c'est tout ce qui est nécessaire pour se connecter à un serveur tmux en cours d'exécution. C'est pourquoi, si une session tmux "normale" est déjà en cours d'exécution, byobu s'attachera ou créera une nouvelle session en utilisant ce serveur.

Selon la page de manuel tmux , vous pouvez simplement changer le socket utilisé par tmux pour démarrer deux serveurs tmux indépendants, chacun avec ses propres ensembles de configuration si vous le souhaitez. Vous pouvez spécifier -Lde changer le nom de base du socket ou l' -Soption de spécifier un chemin complètement différent vers le fichier de socket. Le socket tmux par défaut est nommé default.

Donc, en utilisant ces options tmux lors de l'appel de byobu, pour démarrer un serveur tmux indépendant avec byobu, vous pouvez exécuter

byobu -L my-byobu new

ou

byobu -L my-byobu attach

où le nom my-byobupeut être remplacé par n'importe quel nom de votre choix. Cela démarre un nouveau serveur tmux avec le nom my-byobu, qui charge la configuration byobu pour tmux au lieu de la valeur par défaut, et crée effectivement un espace de noms indépendant pour vos sessions byobu tmux.

Mike Miller
la source