Utwórz sesję tmux w osobnych powłokach

1

Chciałbym używać sesji tmux do zarządzania oknami / panelami w różnych powłokach. Zauważyłem, że tmux zawsze użyje powłoki, z której został uruchomiony po raz pierwszy dla wszystkich kolejnych sesji, niezależnie od powłoki używanej do tych sesji.

Mam dwie muszle. Nazwijmy je aib

W pierwszej powłoce uruchamiam:

tmux new -s a

W drugiej powłoce uruchamiam:

tmux new -s b

Zauważyłem, że faktyczną powłoką używaną przez sesję tmux b jest powłoka a. Zmienne środowiskowe są dziedziczone poprawnie, ale sama powłoka nie jest tą, której się spodziewałem.

Wszelkie sugestie, jak sprawić, by Tmux ładnie grał z wieloma powłokami?

fantomit
źródło

Odpowiedzi:

1

Możesz utworzyć wiele serwerów tmux, z których każdy używa innej powłoki.

$> SHELL=$(which zsh) && tmux -L zsh-tmux-socket new -s zsh-session
$> SHELL=$(which bash) && tmux -L bash-tmux-socket new -s bash-session

Strona manuala tmux stwierdza, że [-L socket-name]opcja pozwala określić inną nazwę gniazda, umożliwiając uruchomienie kilku niezależnych serwerów tmux .

Odkryłem, że każde nowe okno utworzone w każdej sesji serwera będzie korzystało z powłoki określonej przez zmienną środowiskową SHELL dla tej sesji.

Działa to dla tmux 1.8, nie wiem o wcześniejszych wersjach.

Shane Voisard
źródło