tmux ignorant le fichier de configuration


88

Je viens d'installer tmux sur Ubuntu 10.04 et j'ai essayé de remapper le préfixe C-aen créant le fichier ~/.tmux.confavec ces lignes:

set-option -g prefix C-a
unbind-key C-b

Lors du démarrage de tmux, régulièrement et avec -f ~/.tmux.conf, le préfixe est effectivement le même par défautC-b

Il n'y a aucune erreur ou avertissement que ce soit.

Une idée de ce qui ne va pas avec le chargement de la conf?


Ça marche pour moi ™. Essayez de courir strace -s9999 -f -o tmux.strace tmux -c trueet de poster la sortie de grep -C5 'tmux\.conf' tmux.strace.
Gilles 'SO- arrête d'être méchant' le

J'ai eu ce même problème, pas de sessions existantes, (connexion rapportée 'tmux ls' refusée, c'est-à-dire non en cours d'exécution), mais elle ne lisait toujours pas le fichier de configuration. Je le lançais avec un fichier CWD quelque part dans / usr, mais lorsque je suis passé à ~ / et que j'ai lancé tmux, le fichier de configuration a été traité. C'est un comportement étrange, mais c'est quelque chose à vérifier.
Ranko Kohime

Réponses:


119

Le fichier ~ / .tmux.conf est chargé lors du premier démarrage du serveur tmux. Ainsi, s’il existe des sessions tmux, le démarrage d’une nouvelle session tmuxn’entraîne aucun rechargement du fichier .tmux.conf. Essayez de redémarrer le serveur tmux: Utilisez la commande tmux list-sessionspour voir s’il existe des sessions. Quittez-les (par exemple, tmux attachsupprimez toutes les fenêtres et quittez). Une fois toutes les sessions terminées, essayez à tmuxnouveau. Cette fois, la reliure devrait fonctionner.


27
killall tmuxou tmux kill-serverva faire le travail aussi
Matt

5
J'ai utilisé killall tmuxet tmux kill-serveret toujours ma conf n'est pas chargée. Je peux confirmer que c'est valide, car utiliser :source-file ~/.tmux.confdans tmux fait les changements de configuration! Impossible de comprendre ce qui cause ce comportement.
Ambidex

Je me demande pourquoi le rechargement de la configuration n'a pas été mentionné dans cette réponse. Cela fonctionne parfois et parfois pas. Des idées à ce sujet?
DarthPaghius

53

Pour recharger votre ~ / .tmux.conf sans tuer votre session, vous pouvez simplement faire:

C-b :source-file /absolute/path/to/your/.tmux.conf

4
Vous pouvez ajouter ce qui suit à .tmux.conf pour utiliser Ctrl-A r pour recharger:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 pour avoir souligné la nécessité d'un chemin absolu
Akash Agarwal

20

lancez votre session tmux:

tmux source-file /absolute/path/to/your/.tmux.conf

Note: cela n'affectera pas la fenêtre tmux actuelle (évidemment), mais toutes les nouvelles fenêtres tmux.
Klaws

3

Il y a aussi un raccourci clavier par défaut pour la liaison recharger votre ~/.tmux.conf, au moins dans mon installation: C-b r. Si vous appuyez sur C-b ?cette touche , une liste de tous les raccourcis clavier liés s'affiche pour vous permettre de voir si vous en avez déjà un.


Cela est spécifique à votre installation / configuration. Par défaut, <prefix> rest lié à refresh-client(ce que vous décrivez serait quelque chose comme source ~/.tmux.conf).
Chris Johnsen

1

J'ai eu ce problème parce que j'utilisais tmux-next .

Au départ, je l'ai résolu simplement en transmettant explicitement le fichier de configuration, tmux -f ~/.tmux.confcomme l'indique la question. (J'avais déjà alias tmux-next à tmux.)

Ensuite, j'ai réalisé que tmux-next utilisait tmux-next.conf, il vous suffit donc de faire un lien symbolique si vous utilisez ceci et vous devez uniquement exécuter la version suivante de tmux.

ln -s ~/.tmux.conf ~/.tmux-next.conf


1

J'ai arrêté et rouvert mon terminal et c'est la seule façon pour moi de le faire fonctionner à nouveau. Pas certain de pourquoi.

en utilisant Terminal sur Mac OSX

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.