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?

GJ.
la source
Ç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.

Michael
la source
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
peroumal1
la source
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
HVNSweeting
la source
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.

Josh Earl
la source
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

mahemoff
la source
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

Connor McCormick
la source