Eee, czy jest jakaś wskazówka, że re5et (OP) jest na komputerze Mac, czy też ma zainstalowany ten program otoki?
Chris Johnsen
1
Myślę, że ta odpowiedź działa tylko w systemie Mac OS X
EhevuTov
5
tmux kill-serverto polecenie zakończenia wszystkich serwerów tmux
Keith Smiley,
1
Chociaż nie była to odpowiedź, o którą prosiła OP, znalazłem się w tym wątku i rzeczywiście korzystam z OS X, używając tego opakowania, i to jest rozwiązanie, którego potrzebowałem; więc dziękuję!
Jose Alban
1
czym to się różni set-option -g default-shell ? powyższe wydaje się nie działać ze skorupą ryby.
Tommy
5
Jeśli chcesz zmusić tmux do używania tej samej powłoki, jak określono w zmiennej środowiskowej, możesz użyć:
# force SHELL ENV variable as shellset-option -g default-shell ${SHELL}
w twoim ~/.tmux.conflub /etc/tmux.conf.
Aby uzyskać zmianę rzeczywiście odniosły skutek, może być konieczne tmux kill-server, a następnie tmuxzrestartować tmux.
Nie jestem pewien, dlaczego zostało to odrzucone. Wygląda na to, że jest poprawny: częstym problemem jest używanie innej powłoki, np. ITerm, ale pozostawianie powłoki logowania, /bin/bashaby zapewnić, że nic nie będzie iteracyjne. iTerm nie ustawi $SHELLnowej nazwy powłoki (nie wiem dlaczego), a inicjalizacja bash ustawi ją na powłokę logowania, jeśli zostanie rozbrojona podczas uruchamiania. tmux następnie używa tej wartości, jeśli default-shellnie jest jawnie ustawiona.
Sam Brightman,
Tak .. może env SHELL=/usr/bin/zsh tmuxlepiej? (zaktualizowałem odpowiedź).
Odpowiedzi:
w
~/.tmux.conf
lub/etc/tmux.conf
. Działa na Fedorze.Może być konieczne zrestartowanie tmux za pomocą
killall tmux; tmux
źródło
tmux
. Wydaje się to oczywiste, ale zajęło mi to dobrą godzinę!killall tmux; tmux
. Zajęło mi to trochę czasu, żeby się domyślić.bind R source-file ~/.tmux.conf \; display-message " Config reloaded..".
tmux source-file ~/.tmux.conf
z wiersza poleceń.tmux kill-server
zamiast tego.Najpierw upewnij się, że domyślna powłoka jest poprawnie ustawiona na zsh, uruchamiając to w wierszu poleceń:
Umieszczenie śledzenia w ~ / .tmux.conf jest bardziej niezawodną opcją dla dowolnej powłoki.
źródło
chsh -s
), ponieważ tmux oferuje opcję niezależną od tego.Upuść tę linię na dole swojego
~/.tmux.conf
Po dodaniu tego zabij i zrestartuj serwer tmux i wszystko powinno działać.
źródło
tmux kill-server
to polecenie zakończenia wszystkich serwerów tmuxset-option -g default-shell
? powyższe wydaje się nie działać ze skorupą ryby.Jeśli chcesz zmusić tmux do używania tej samej powłoki, jak określono w zmiennej środowiskowej, możesz użyć:
w twoim
~/.tmux.conf
lub/etc/tmux.conf
.Aby uzyskać zmianę rzeczywiście odniosły skutek, może być konieczne
tmux kill-server
, a następnietmux
zrestartować tmux.źródło
Użyj
chsh(1)
:źródło
Wylogowanie i ponowne zalogowanie rozwiązało mój problem. Gdy echo
$SHELL
było nadal,/bin/bash
ale po wylogowaniu zostało zmienione na/usr/bin/zsh
źródło
Wydaje się, że tmux używa
SHELL
zmiennej środowiskowej, więc powinny działać:lub
źródło
/bin/bash
aby zapewnić, że nic nie będzie iteracyjne. iTerm nie ustawi$SHELL
nowej nazwy powłoki (nie wiem dlaczego), a inicjalizacja bash ustawi ją na powłokę logowania, jeśli zostanie rozbrojona podczas uruchamiania. tmux następnie używa tej wartości, jeślidefault-shell
nie jest jawnie ustawiona.env SHELL=/usr/bin/zsh tmux
lepiej? (zaktualizowałem odpowiedź).Dodaj to do swojego
~/.tmux.conf
źródło
Przyjęta odpowiedź nie działała dla mnie.
Musiałem napisać oba
i
w moim
~/.tmux.conf
- nie zapomnijtmux kill-server; tmux
, aby ponownie załadować tmux.confUżywam
tmux -V
2.6 pod Ubuntu 18 w emulatorze powłoki gnome.Ulepszyłem również Tmux za pomocą https://github.com/samoshkin/tmux-config . Sprawdź, to naprawdę fajne.
źródło
Dla mnie musiałem wymienić:
z
w
.tmux.conf
i polecenia uruchomieniatmux kill-server; tmux
źródło
set-option -g
zamiastset -g
. prawdopodobnie różne wersje tmuxset
jest pseudonimem dlaset-option
.