Różnica między opcjami podziału tmuxa i powłoki w iTerm2?

8

Obecnie przełączam się na iTerm2 + VIM dla mojego środowiska programistycznego. Zauważyłem, że ostatnia wersja iTerm2 obsługuje tmuxi byli ludzie używający tmuxdo podzielenia okna na kilka sesji. Zauważyłem również, że iTerm2 ma gotowe opcje podzielenia okna na kilka sesji. Możesz podzielić dowolną liczbę sesji w pionie i poziomie, używając na przykład CMD + D. Wydaje mi się, że dzięki tym opcjom możesz osiągnąć tę samą funkcjonalność. Mogę się całkowicie mylić.

Moje pytania tmuxbrzmią : czy jest jakaś różnica / korzyść z zastosowania opcji podziału w iTerm2?

wonitta
źródło

Odpowiedzi:

9

jeśli zamkniesz iterm2, to powłoki dołączone do tego wystąpienia iterm2 również zostaną zniszczone / zamknięte. proces hierarchiczny tej sytuacji:

iterm2
  +---- shell
  +---- shell
  +---- shell

jeśli zamkniesz iterm2, który przechowuje tmux , tmux i powłoki wewnątrz tej instancji tmux będą nadal działać. możesz później ponownie podłączyć się do tej instancji tmux (to w zasadzie sposób, w jaki ludzie pracują na zdalnych serwerach w przypadku utraty połączenia) i przywrócić sytuację taką, jaka była przed zamknięciem iterm2. hierarchia procesów tej sytuacji:

iterm2
  +---- tmux
          +---- shell
          +---- shell
          +---- shell

cytować bezpośrednio z tmux :

tmux jest multiplekserem terminali: umożliwia tworzenie, dostęp i sterowanie wieloma terminalami (lub oknami), z których każdy uruchamia oddzielny program, z jednego ekranu. tmux może zostać odłączony od ekranu i kontynuować działanie w tle, a następnie ponownie podłączony.

starszy projekt zapewniający zasadniczo taką samą funkcjonalność to ekran

akira
źródło
Dzięki akira! to było moje pierwsze pytanie dotyczące SU i otrzymałem świetną odpowiedź, dokładnie to, czego potrzebowałem!
wonitta
Czy hierarchia procesów nie przypomina bardziej: iterm2 > shell > tmux clienti tmux server > shell? Więc kiedy zamykasz iTerm, zamykasz klienta tmux, ale serwer wciąż jest w pobliżu.
Henrik N
@HenrikN: iTerm2 może wywołać klienta tmux „bezpośrednio”. uzyskasz ten sam efekt, jeśli uruchomisz „exec tmux attach” lub coś podobnego. i tak, tmux składa się z 2 części. ale to rozróżnienie nie poprawia zrozumienia, dlaczego podział iterm2 różni się od podziału tmux, prawda?
akira
@akira Chciałem tylko to wyjaśnić, ponieważ umieściłeś tmux pod iTerm, co może utrudnia zobaczyć, jak tmux przetrwa po zakończeniu procesu iTerm. Dla mnie najlepszym sposobem na zrozumienie tego jest uświadomienie sobie, że serwer tmux jest niezależny od iTerm (ale klient nie jest). Ale z pewnością kluczową kwestią jest fakt, że tmux, a nie iterm, posiada podzielone powłoki.
Henrik N
2

Zaakceptowana odpowiedź jest świetna i jest moją ulubioną rzeczą w tmux, ale często pomijane jest to, że do każdej sesji tmux można dołączyć wielu klientów. Tak więc, jeden lub więcej użytkowników może połączyć się z sesją tmux z różnych komputerów i dzielą te same informacje w oknie.

davidpm4
źródło
1

Istnieje również narzędzie o nazwie iTermocil, które zapewnia funkcjonalność układania okien i paneli oraz uruchamiania natywnych poleceń w iTerm.

Oświadczenie: Jestem autorem tego narzędzia (dla dokładnej funkcjonalności opisanej w pytaniu).

Tom Anthony
źródło