tmux ignorując plik konfiguracyjny


87

Właśnie zainstalowałem tmux na Ubuntu 10.04 i próbowałem ponownie przypisać klucz prefiksu C-a, tworząc plik ~/.tmux.confz tymi liniami:

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

Podczas uruchamiania tmux, zarówno regularnie, jak i za pomocą -f ~/.tmux.conf, prefiks jest faktycznie taki sam domyślnyC-b

Nie ma żadnych błędów ani ostrzeżeń.

Masz pojęcie, co jest nie tak z ładowaniem conf?


To działa dla mnie ™. Spróbuj uruchomić strace -s9999 -f -o tmux.strace tmux -c truei opublikować dane wyjściowe grep -C5 'tmux\.conf' tmux.strace.
Gilles

Miałem ten sam problem, brak istniejących sesji („tmux ls” zgłosił odmowę połączenia, tzn. Nie działa), ale nadal nie czytał pliku conf. Uruchomiłem go z CWD gdzieś w / usr, ale kiedy przełączyłem się na ~ / i uruchomiłem tmux, przetworzyłem plik conf. To dziwne zachowanie, ale to jest coś, co można sprawdzić.
Ranko Kohime,

Odpowiedzi:


118

Plik ~ / .tmux.conf jest ładowany przy pierwszym uruchomieniu serwera tmux. Jeśli więc istnieją sesje tmux, rozpoczęcie nowej sesji z tmuxnie spowoduje ponownego załadowania pliku .tmux.conf. Spróbuj zrestartować serwer tmux: Użyj polecenia, tmux list-sessionsaby sprawdzić, czy istnieją sesje. Wyjdź z nich (np. tmux attachNastępnie zabij wszystkie okna i wyjdź). Po zakończeniu wszystkich sesji spróbuj tmuxponownie. Tym razem ponowne wiązanie powinno działać.


27
killall tmuxalbo też tmux kill-serverwykona zadanie
Matt

5
Użyłem killall tmuxi tmux kill-servernadal moja konfiguracja nie jest załadowana. Mogę potwierdzić, że jest poprawny, ponieważ użycie :source-file ~/.tmux.confw tmux faktycznie wprowadza zmiany w konfiguracji! Nie mogę ustalić, co powoduje takie zachowanie.
Ambidex

Zastanawiam się, dlaczego przeładowanie konfiguracji nie było wspomniane w tej odpowiedzi. Czasem działa, a czasem nie. Jakieś pomysły na ten temat?
DarthPaghius

53

Aby ponownie załadować plik ~ / .tmux.conf bez zabijania sesji, możesz po prostu:

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

4
Możesz dodać następujące pliki do .tmux.conf, aby użyć Ctrl-A r do przeładowania:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 za wskazanie konieczności absolutnej ścieżki
Akash Agarwal

20

uruchom w swojej sesji tmux:

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

Uwaga: nie wpłynie to na bieżące okno tmux (oczywiście), ale na wszystkie nowe okna tmux.
Klaws

3

Jest też skrót domyślna klawiatura wiązania się przeładować ~/.tmux.conf, przynajmniej w mojej instalacji: C-b r. Po C-b ?naciśnięciu wyświetla listę wszystkich powiązanych skrótów klawiaturowych, dzięki czemu możesz sprawdzić, czy masz już zdefiniowany.


Dotyczy to konkretnej instalacji / konfiguracji. Domyślnie <prefix> rjest związany refresh-client(to, co opisujesz, byłoby czymś takim source ~/.tmux.conf).
Chris Johnsen

1

Miałem ten problem, ponieważ korzystałem z tmux-next .

Początkowo rozwiązałem go, przekazując plik konfiguracyjny jawnie, tmux -f ~/.tmux.confjak wskazuje to pytanie. (Mam już aliasy tmux-obok tmux.)

Potem zdałem sobie sprawę, że tmux-next używa tmux-next.conf, więc po prostu dowiązaj go, jeśli używasz tego i wystarczy uruchomić następną wersję tmux.

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


0

Opuściłem i ponownie otworzyłem terminal i to jedyny sposób, aby przywrócić go do pracy. Nie pewny dlaczego.

za pomocą terminala w systemie Mac OSX

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.