tmux에서 실행 중인 tmux에 명령 보내기

tmux에서 실행 중인 tmux에 명령 보내기

저는 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 세션을 제어하는 ​​데 사용할 수 있습니다 .

관련 정보