J'ai donc accès à un compte shell partagé où d'autres personnes et moi travaillons.
Certaines personnes préfèrent utiliser tmux, elles ont donc ouvert leurs sessions tmux, en chargeant la configuration depuis ~/.tmux.conf
. Je préfère utiliser byobu
wrapper autour de tmux, car il a des raccourcis clavier beaucoup plus agréables et d'autres choses.
Le problème est que chaque fois qu'il y a une session tmux utilisée par d'autres personnes, chaque fois que je lance byobu, il reprend leur session tmux au lieu de créer une nouvelle session byobu pour moi.
J'ai donc essayé d'exécuter byobu-tmux new-session
, mais ensuite il démarre une nouvelle session tmux en utilisant leur configuration (à partir de ~/.tmux.conf
) au lieu de byobu.
Comment puis-je contourner cela ?
Réponse acceptée :
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 lors de son démarrage et est appliqué aux nouvelles sessions lors de leur création. Exécution de 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 à l'aide de 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 soit spécifier -L
pour changer le nom de base du socket ou le -S
option pour spécifier un chemin complètement différent vers le fichier socket. Le socket tmux par défaut est nommé default
.
Ainsi, 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-byobu
peut ê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 configuration par défaut, et crée effectivement un espace de noms indépendant pour vos sessions byobu tmux.