Різниця між параметрами tmux і розділення оболонки на iTerm2?


8

Наразі я перейшов на iTerm2 + VIM для свого розробника. Я помітив, що остання версія iTerm2 підтримує, tmuxі там були люди, які використовують tmuxрозділення вікна на кілька сеансів. Я також зауважив, що в iTerm2 є варіанти з вікна, щоб розділити вікно на кілька сеансів. Ви можете розділити стільки сеансів, скільки вам потрібно вертикально і горизонтально, просто, наприклад, використовуючи CMD + D. Тому мені здається, що ви можете виконати однакові функції з цими параметрами. Я можу абсолютно помилятися.

Мої запитання: чи є різниця / користь, використовуючи tmuxпараметри розщеплення на iTerm2?

Відповіді:


9

якщо ви закриєте iterm2, тоді оболонки, прикріплені до цього примірника iterm2, також знищуються / закриваються. процес-ієрхію цієї ситуації:

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

якщо закрити iterm2, який містить tmux , то tmux та оболонки всередині цього примірника tmux продовжують працювати. пізніше ви можете знову приєднатись до цього екземпляра tmux (це, по суті, як люди працюють на віддалених серверах у випадку, якщо з'єднання перестане), і повернути ситуацію, як це було до закриття iterm2. процес-ієрархія цієї ситуації:

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

цитувати безпосередньо з tmux :

tmux - це термінальний мультиплексор: він дозволяє створювати, отримувати доступ та контролювати з одного екрана декілька терміналів (або вікон), кожен із яких виконує окрему програму. tmux може бути відірваний від екрана і продовжувати працювати у фоновому режимі, а потім пізніше приєднатися.

старішим проектом, що забезпечує в основному таку ж функціональність, є екран


Дякую акіра! це було моє перше запитання щодо SU і отримав чудову відповідь, саме те, що мені потрібно!
winitta

Чи не схожа ієрархія процесів: iterm2 > shell > tmux clientі tmux server > shell? Отже, коли ви закриваєте iTerm, ви закриваєте tmux-клієнт, але сервер все ще є.
Генрік Н

@HenrikN: iTerm2 може викликати tmux-клієнта "безпосередньо". такий же ефект ви отримаєте, якщо запустити "exec tmux attach" або щось подібне. і так, tmux складається з 2 частин. але ця відмінність не покращує розуміння того, чому розщеплення iterm2 відрізняється від розщеплення tmux, чи не так?
акіра

@akira Я просто хотів очистити це, тому що ви помістили tmux під iTerm, що, можливо, ускладнює перегляд того, як виживає tmux, коли процес iTerm закінчується. Для мене найкращий спосіб зрозуміти це зрозуміти, що сервер tmux не залежить від iTerm (але клієнт - ні). Але, безумовно, той факт, що tmux, а не iterm володіє розділеними оболонками, є ключовим моментом.
Генрік Н

2

Прийнята відповідь чудова, і це моя улюблена річ щодо tmux, але часто оглядають, що до кожного tmux сеансу можуть бути приєднані кілька клієнтів. Отже, один або більше користувачів можуть підключитися до tmux-сеансу з різних комп'ютерів, і вони діляться однаковою інформацією у вікні.


1

Зараз також існує інструмент під назвою iTermocil, який приносить функціональні можливості складання вікон та панелей, а також заздалегідь виконує заздалегідь налаштовані команди в iTerm.

Відмова: Я є автором цього інструменту (для точної функціональності, описаної у запитанні).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.