원격 서버, iTerm2 및 tmux 통합


30

원격 서버에서 tmux 세션을 시작한 다음 로컬 컴퓨터에서 iTerm2의 기본 창과 분할 화면을 사용하고 싶습니다.

예를 들어, 원격 서버에 두 개의 창이있는 하나의 창에서 실행되는 tmux 세션이 있다고 가정합니다. 로컬 컴퓨터의 iTerm2에서 각 분할 창에 서로 다른 tmux 분할 창이 포함되도록 두 개의 기본 iTerm2 분할 창이 필요합니다.

이것이 가능한가?

(반대로 가능하다는 것을 알고 있습니다. 즉, 로컬 컴퓨터에서 tmux 세션을 실행할 수 있고 다른 컴퓨터는 iTerm2 탭을 창으로 볼 수 있습니다. 그러나 이것은 쓸모없는 것 같습니다.)

답변:


40

예, 가능합니다.

  • 최신 버전의 tmux를 원격으로 설치하려면
  • 최신 버전의 iterm2를 로컬로 설치

로그인을 통해 로그인 ssh login@hostname -t 'tmux -CC'-로컬 박스에 원격 박스에 로그인 한 상태에서 iTerm2 창이 열립니다.


5
ssh login@hostname -t 'tmux -CC attach'iterm2에서 쉘-> tmux-> 대시 보드 메뉴 를 사용 하고 다시보기 위해 다시 연결하는 것을 잊지 마십시오.
therealmarv

1
야, ssh 대신 mosh로 어떻게해야하는지 아십니까? 편집 : 불가능 : github.com/mobile-shell/mosh/issues/640
fane89

1
: 연결 특정 세션에 부착하고자하는 경우에는 다음과 같은 사용할 수 있습니다ssh login@hostname -t 'tmux -CC a -t sessionName'
제레미 Iglehart

autossh와 함께 작동하거나 연결 끊김에 저항 할 수 있습니까?
igor

4

다음은 OS X 10.11.2의 iTerm 2.1.4 및 Raspbian Linux의 tmux 1.9 인 2015-12-16의 안정 릴리스 버전과 함께 저에게 효과적입니다.

  1. .ssh/config로컬 시스템과 .ssh/authorized_keys원격 시스템에서 먼저 사용 하여 원격 시스템에 대한 암호없는 로그인을 구성하십시오. 이것이 올바르게 구성되면 다음을 수행하여 로그인 할 수 있어야 합니다 (원격 시스템의 호스트 이름으로 ssh pi가정 pi).

  2. 로컬 쉘에 로그인하는 대신 ssh pi원격 시스템에 로그인하기위한 호출 만하는 새로운 iTerm2 프로파일을 작성하십시오 . 이를 구성하려면 환경 설정 / 프로필 / + / Command.Command = "ssh pi"로 이동하십시오.

  3. 프로파일 / Pi를 수행하여 새 프로파일을 통해 원격 시스템으로 iTerm2 창을여십시오.

  4. iTerm2 원격 로그인 창의 명령 행에서 다음을 수행하십시오 tmux -CC.. 이 후 iTerm2 창에 tmux 명령 모드가 표시되면 tmux는 새 세션을 작성하고 iTerm2는 해당 tmux 세션에 대한 새 iTerm2 창을 즉시 작성합니다. 새 iTerm2 창에서 초기 iTerm2 탭 은 해당 세션 의 단일 tmux 창 을 나타냅니다 . CMD-T를 수행하면 새로운 tmux 창을 나타내는 새로운 iTerm2 탭이 생성됩니다.

이것을 어떻게 사용합니까?

  • 이 시점에서 기존 tmux 세션 및 창에 대한 iTerm2의 이해를 관찰하기 위해 "쉘 / tmux / 대시 보드"를 수행 할 수 있습니다.

  • tmux 세션을 나타내는 iTerm2 창을 닫으면 기본 세션과 모든 tmux 창이 종료됩니다.

  • tmux 명령 모드를 표시하는 iTerm2 창을 닫으면 해당 세션에 연결된 tmux 클라이언트 인스턴스가 종료되므로 두 iTerm2 창이 모두 사라지지만 tmux 세션은 여전히 ​​활성 상태이며 다시 연결할 수 있습니다. 그것.

  • tmux에서보다 질서있게 분리 ESC하려면 tmux 명령 모드 창에서 수행하십시오.

  • 새 tmux 세션을 생성하는 대신 원래 원하는 세션을 기존 세션에 연결하려는 경우을 사용하여 수행 할 수 있습니다 tmux -CC attach.

이론적으로 iTerm2 또는 tmux를 구성하는 방법이 있어야 원격 시스템에 연결할 때 기존 tmux 세션에 자동으로 연결되지만 명령 줄을 수정하여 작동시킬 수는 없습니다. iTerm2 프로파일


[[ $- == *i* && $SSH_TTY && -z $TMUX && ! -r ~/.notmux ]] && tmux attach-session && exit.bashrc (또는 거기에서 호출 된 것)에서 사용하는 ssh 로그인시 실행중인 tmux 세션에 자동으로 연결하려면 테스트를 수행하십시오. 파일. exit말은 TMUX 종료시 연결 (나를 위해 주로 분리)를 닫습니다.
zany
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.