tmux не обращая внимания на файл конфигурации

33906
GJ.

Я только что установил tmux на Ubuntu 10.04 и попытался переназначить префиксный ключ C-a, создав файл ~/.tmux.confс такими строками:

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

При запуске tmux, как регулярно, так и с помощью -f ~/.tmux.conf, префикс по умолчанию одинаковыйC-b

Там нет никаких ошибок или предупреждений вообще.

Любая идея, что не так с загрузкой конф?

75
Это работает для меня ™. Попробуйте запустить `strace -s9999 -f -o tmux.strace tmux -c true` и опубликовать вывод` grep -C5 'tmux \ .conf' tmux.strace`. Gilles 13 лет назад 0
У меня была такая же проблема, никаких существующих сессий, ('tmux ls' сообщил, что соединение отказано, т.е. не запущено), но оно все еще не читало файл conf. Я запускал его с CWD где-то в / usr, но когда я переключился на ~ / и запустил tmux, он обработал файл conf. Это странное поведение, но это то, что нужно проверить. Ranko Kohime 11 лет назад 0

5 ответов на вопрос

102
Michael

Файл ~ / .tmux.conf загружается при первом запуске сервера tmux. Поэтому, если существуют существующие сеансы tmux, запуск нового сеанса с помощью tmuxне приводит к перезагрузке файла .tmux.conf. Попробуйте перезапустить сервер tmux: используйте команду, tmux list-sessionsчтобы увидеть, существуют ли уже существующие сеансы. Выйдите из них (например, tmux attachзатем убейте все окна и выйдите). После того, как все сеансы прошли, попробуйте еще tmuxраз. На этот раз переплет должен работать.

`killall tmux` или` tmux kill-server` тоже выполнят свою работу Matt 12 лет назад 23
Я использовал `killall tmux` и` tmux kill-server`, но мой conf не загружен. Я могу подтвердить, что это верно, поскольку использование `: source-file ~ / .tmux.conf` в tmux действительно вносит изменения в конфигурацию! Не могу понять, что является причиной такого поведения. Ambidex 9 лет назад 4
Интересно, почему перезагрузка конфигурации не была упомянута в этом ответе. Иногда это работает, а иногда нет. Есть идеи по этому поводу? DarthPaghius 6 лет назад 0
44
peroumal1

Чтобы перезагрузить ваш ~ / .tmux.conf, не прерывая сеанс, вы можете просто сделать:

C-b :source-file /absolute/path/to/your/.tmux.conf 
Вы можете добавить следующее в .tmux.conf, чтобы использовать Ctrl-A r для перезагрузки: `bind r source-file ~ / .tmux.conf \; сообщение-сообщение "Config reloaded ..." RedPixel 8 лет назад 2
17
HVNSweeting

запустить внутри вашей сессии tmux:

tmux source-file /absolute/path/to/your/.tmux.conf 
2
Josh Earl

Там также клавиатура по умолчанию ярлык привязки перезарядить ~/.tmux.conf, по крайней мере, в моей установке: C-b r. Если вы нажмете C-b ?, появится список всех связанных сочетаний клавиш, так что вы можете увидеть, есть ли у вас уже определены.

Это зависит от вашей установки / конфигурации. По умолчанию ` r` связан с `refresh-client` (то, что вы описываете, будет что-то вроде` source ~ / .tmux.conf`). Chris Johnsen 12 лет назад 0
0
mahemoff

У меня была эта проблема, потому что я использовал tmux-next .

Первоначально я решил это, просто передав файл конфигурации в явном виде, tmux -f ~/.tmux.confкак указано здесь. (У меня уже есть псевдоним tmux-рядом с tmux.)

Затем я понял, что tmux-next использует tmux-next.conf, поэтому просто используйте символическую ссылку, если используете это, и вам нужно только запустить следующую версию tmux.

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

Похожие вопросы