2013-04-04 14 views
5

Tmux 1.8 powoduje awarię aplikacji iOS.Czy można uruchomić jednocześnie dwie różne wersje Tmux?

Potrzebuję 1,8, aby uzyskać integrację iTerm2.

Mam nadzieję, że uda mi się sprawić, że mój serwer będzie mógł uruchomić dwa serwery tmux. Jednak wygląda na to, że Tmux 1.6 po prostu wychodzi z kodem statusu 1, gdy mam uruchomiony serwer 1.8.

Wątpię, by ktokolwiek próbował coś takiego, ale jestem ciekaw ...

+2

Można również dokonać 1.8 nie powiesić poprzez ustalenie aktualnego wydania (http://sourceforge.net/mailarchive/forum.php?thread_name=F892202E-B27B-400E-A5BD-596A124E058F%40high5.nl&forum_name=tmux -users). Odbywa się to przez dodanie 'set -ag terminal-overrides", *: XT @ "' do twojego '.tmux.conf' – terje

+0

Zapytanie zaczęło działać poprawnie z tmux 1.8 na moim serwerze. –

+0

@terje Proponuję, aby twój komentarz był odpowiedzią, ponieważ naprawia *** prawdziwy problem ***. – demure

Odpowiedz

10

można uruchomić wiele instancji tmux (nawet różnych wersjach), ale nie może pracować tak jak oczekujemy: będą całkowicie niezależne (różne sesje, okna, szyby, wartości opcji itp.). Opcja -L lub -S służy do określenia nazwy lub ścieżki gniazda serwera.

tmux new    # new session in the server at the "default" socket 
tmux -L other attach # new session in the server at the "other" socket 

Domyślne gniazdo i -L Gniazda żyć w $TMPDIR/tmux-$UID/, ale można użyć -S jeśli chcesz określić pełną ścieżkę siebie.

Gdy jesteś w "środku" sesji tmux, zmienne środowiskowe TMUX określają ścieżkę do gniazda serwera, więc generalnie nie musisz określać nazwy gniazda (ścieżki), jeśli po prostu rozmawiasz z " otaczający "serwer: możesz po prostu użyć tmux neww, aby utworzyć nowe okno w bieżącej sesji (bez względu na to, z której ścieżki korzysta).

Jednak jest jeszcze jeden problem z próbą uruchomienia dwóch znacząco różnych wersji tmux chociaż. Token binarny i działający serwer muszą mówić w tej samej "wersji protokołu". Z powodu pewnych wewnętrznych zmian wersje 1.6 i 1.8 używają różnych wersji protokołów. Oznacza to, że nie można używać binarnego 1.6 do komunikowania się z serwerem 1.8 (tzn. Serwer zaczął używać binarnej wersji 1.8) lub odwrotnie. Tak więc, nawet jeśli nie musisz określać nazwy gniazda (podczas uruchamiania poleceń "w środku" sesji), prawdopodobnie będziesz musiał określić plik binarny podczas próby rozmowy z różnymi serwerami.

tmux attach    # 1.8 talking to existing 1.8 "default" server 
tmux-1.6 -L other attach # 1.6 talking to existing 1.6 "other" server 

Możesz być w stanie uprościć nieco ustawiając zmienną środowiskową i za pomocą funkcji Shell (lub skrypt, jednak uważać, aby nie tworzyć nieskończoną pętlę).

tmux() { command "${TMUXBIN:-tmux}" "[email protected]"; } 
Powiązane problemy