저는 tmux
창 등을 관리하는 데 사용하고 있는데 제가 하는 일 중 하나는 SSH를 통해 원격 서버에 연결하고 그곳에서 실행되는 tmux 세션에 연결하는 것입니다. 그러나 거기에 도달하면 해당 tmux 세션(원래 로컬 tmux에서 ssh에서 실행되는 세션)으로 Cb를 보낼 수 없습니다.
이 문제를 해결할 방법이 있나요?
답변1
로컬의 경우 Ctrl-를 한 번 누르고 원격의 경우 다시 한 번 누른 다음 원격 세션에서 사용하려는 명령의 키를 누릅니다.btmux
답변2
매핑하지 않은 경우 Ctrl+ b Ctrl+b
Ctrl화면 동작을 에뮬레이션하기 위해 마지막 창에 + b Ctrl+를 매핑하지 않은 경우 b(매우 인기 있음) 이를 내부 tmux 세션의 접두사로 사용할 수 있습니다. 따라서 내부 세션에 명령을 실행하려면 Ctrl+ b Ctrl+b 명령
위의 답변은 접두사 키가 두 시스템 모두에서 여전히 Ctrl+ 라고 가정합니다.b
매핑한 경우 Ctrl+ b Ctrl+b
Ctrl++ b Ctrl를 매핑한 경우 btmux의 명령을 사용해야 합니다 :send-prefix
. 많은 사람들이 이것을 Ctrl+ 에 매핑하여 b b화면의 기본 동작을 에뮬레이션합니다. 이 바인딩을 영구적으로 추가하려면 .tmux.conf에 다음을 추가하세요.
bind b send-prefix
Ctrl그런 다음 +를 사용하여 내부 세션에 명령을 실행할 수 있습니다 .b b 명령
Ctrl(또는 +를 사용하여 바인딩하지 않고b :send-prefix
명령)
위의 답변은 접두사 키가 외부 세션에서 여전히 Ctrl+ 라고 가정합니다.b
답변3
간단히 말해서 "tmux inside tmux"를 제어하려면 tmux.conf에 다음 줄을 추가할 수 있습니다. 이 줄은 CTRL+A
"원격" 세션에 대한 바인딩 키를 정의합니다 .
bind-key -n C-a send-prefix
단축키는 C-a
다른 자유 키로 변경할 수 있습니다.
CTRL+B
그런 다음 tmux 세션 level1(기본값)을 제어하고
CTRL+A
두 번째 tmux 세션을 제어하는 데 사용할 수 있습니다 .