iTerm2에서 TMUX와 쉘 분할 옵션의 차이점은 무엇입니까?


8

현재 개발 환경에서 iTerm2 + VIM으로 전환했습니다. 나는 iTerm2의 마지막 버전이 지원 tmux하고 tmux창을 여러 세션으로 나누는 데 사용 하는 사람들이 있음 을 알았습니다 . 또한 iTerm2에는 창을 여러 세션으로 나눌 수있는 옵션이 있습니다. 예를 들어 CMD + D를 사용하여 수직 및 수평으로 원하는 수의 세션을 분할 할 수 있습니다. 그래서 나에게 당신은 그 옵션으로 같은 기능을 수행 할 수있는 것 같습니다. 나는 완전히 틀릴 수 있습니다.

내 질문은 : tmuxiTerm2에서 분할 옵션을 사용하여 차이 / 이점이 있습니까?

답변:


9

iterm2를 닫으면 iterm2의 해당 인스턴스에 연결된 쉘도 파기 / 닫힙니다. 이 상황의 프로세스 계층 구조 :

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

tmux를 보유하는 iterm2닫으면 tmux 와 해당 tmux 인스턴스 내의 쉘이 계속 실행됩니다. 나중에 해당 tmux 인스턴스에 다시 연결하여 (연결이 끊어진 경우 원격 서버에서 사람들이 작업하는 방식) iterm2를 닫기 전과 같은 상황으로 되돌릴 수 있습니다. 이 상황의 프로세스 계층 구조 :

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

tmux에서 직접 인용 :

tmux는 터미널 멀티플렉서입니다. 각각의 터미널에서 개별 프로그램을 실행하는 여러 터미널 (또는 창)을 단일 화면에서 생성, 액세스 및 제어 할 수 있습니다. tmux가 화면에서 분리되어 백그라운드에서 계속 실행 된 후 나중에 다시 연결될 수 있습니다.

기본적으로 동일한 기능을 제공하는 오래된 프로젝트는 화면입니다.


고마워 아키라! 그것은 SU에 대한 나의 첫 번째 질문이었고 정확히 내가 필요한 것만으로 큰 대답을 받았습니다!
wonitta

프로세스 계층 구조가 다음 iterm2 > shell > tmux client과 같지 tmux server > shell않습니까? 따라서 iTerm을 닫을 때 tmux 클라이언트를 닫을 수 있지만 서버는 여전히 주변에 있습니다.
Henrik N

@HenrikN : iTerm2가 tmux-client를 "직접"호출 할 수 있습니다. "exec tmux attach"또는 이와 유사한 것을 실행하면 동일한 효과를 얻을 수 있습니다. 예, tmux는 두 부분으로 구성됩니다. 그러나 그 구별은 왜 iterm2-splitting이 tmux-splitting과 다른지 이해를 향상시키지 못합니까?
akira

@akira iTerm에 tmux를 넣었 기 때문에 정리하고 싶었습니다. iTerm 프로세스가 종료 될 때 tmux가 어떻게 살아남는지를보기가 더 어려워 질 것입니다. 나에게, 그것을 이해하는 가장 좋은 방법은 tmux 서버가 iTerm과 독립적이라는 것을 깨닫는 것입니다 (그러나 클라이언트는 아닙니다). 그러나 확실히 iterm이 아닌 tmux가 분할 쉘을 소유한다는 사실이 핵심입니다.
Henrik N

2

허용되는 답변은 훌륭하고 tmux에 대해 제가 가장 좋아하는 것입니다. 그러나 종종 여러 클라이언트를 각 tmux 세션에 연결할 수 있습니다. 따라서 한 명 이상의 사용자가 다른 컴퓨터에서 tmux 세션에 연결할 수 있으며 창에서 동일한 정보를 공유합니다.


1

iTermocil 이라는 도구도 있습니다.이 도구는 창과 창을 배치하고 iTerm에 기본적으로 사전 구성된 명령을 실행하는 기능을 제공합니다.

면책 조항 : 나는이 도구의 저자입니다 (질문에 설명 된 정확한 기능을 위해).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.