일반적인 상황은 다음과 같습니다.
$ tmux
[0] $ ssh example.com
$ tmux attach
[0] $
tmux 세션을 연 다음 서버에 ssh하여 기존 tmux 세션에 연결합니다. 이 시점에서 다른 TMux 세션이 있습니다. 내부 tmux 세션에 명령을 보내려면 어떻게합니까?
참고 : 두 tmux 세션은 동일한 키 바인딩을 갖습니다.
일반적인 상황은 다음과 같습니다.
$ tmux
[0] $ ssh example.com
$ tmux attach
[0] $
tmux 세션을 연 다음 서버에 ssh하여 기존 tmux 세션에 연결합니다. 이 시점에서 다른 TMux 세션이 있습니다. 내부 tmux 세션에 명령을 보내려면 어떻게합니까?
참고 : 두 tmux 세션은 동일한 키 바인딩을 갖습니다.
답변:
이 send-prefix
명령을 사용하여 접두사 키 입력을 활성 창으로 (프로세스에서 실행중인) 보낼 수 있습니다. 기본적으로 접두사는 Cb 이고 Cb 는 바인딩되어 send-prefix
있으므로 두 번 누르면 단일 Cb 가 활성 분할 창으로 전송됩니다. 이것은 내부 tmux 인스턴스 의 바인딩에 액세스하는 데 필요한 것 입니다.
첫 번째 Cb 는 접두사 키로 "외부" tmux 인스턴스에 의해 캡처됩니다 . 두 번째 인스턴스 는 "외부" tmux 인스턴스에 의해 캡처되고 Cb 바인딩 ( send-prefix
)을 트리거합니다 . Cb 를 외부 인스턴스의 활성 창으로 보냅니다 . 이 창에서 실행되는 프로세스는 ( ssh 인스턴스를 통해 ) "내부" tmux 인스턴스입니다. Cb 를 접두사 키로 캡처합니다 . 이제 다음 키 입력이 외부 tmux 인스턴스를 통과하고 내부 키 입력으로 캡처되어 바인딩을 트리거합니다.
tmux 의 두 번째 레벨 인스턴스에서 c 바인딩 ( new-window
) 을 트리거하려면 Cb Cb c를 입력하십시오 . tmux 의 세 번째 레벨 인스턴스의 경우 Cb Cb Cb Cb c를 입력하십시오 .
tmux의 여러 계층을 일반적으로 처리하는 경우 각 레벨에 대한이 두 배의 설정은 성 가실 수 있습니다. 다른 키를 절약 할 수 있다면 접두사를 사용하지 않고 바인딩하기 쉽게 만들 수 있습니다.
bind-key -n C-\ send-prefix
bind-key -n C-^ send-prefix \; send-prefix
2 단계 tmux 에서 새 창 작성 : C- \ c
3 단계 tmux 에서 새 창 작성 : C- ^ c (또는 C- \ C- \ c )
하위 레벨 tmux 인스턴스로 전송하려는 제한된 수의 tmux 명령이 있는 경우 대신 특정 바인딩을 작성하는 데 사용할 수 있습니다 (최상위 tmux 인스턴스 에서만 가능 ).send-keys
bind-key C-c send-keys C-b c
bind-key C send-keys C-b C-b c
2 단계 tmux
에서 새 창 작성 : Cb Cc
3 단계 tmux 에서 새 창 작성 : Cb C
last-window
수행 할 때이 불렀다로 바인딩 C-a C-a
같은 : #bind-key C-a last-window
. 내 접두사는 a
기본값이 아니라 참고하십시오 b
.
bind-key -n C-\ send-prefix
작동하지 않습니다. 내 tmux가 \를 인식하지 못합니다. 편지를 사용하면 작동합니다.
tmux bind-key -n 'C-\' send-prefix
. 당신이 ~/.tmux.conf
(또는 접두사 :
명령 줄) 에서 작동하는 데 문제가 있다면 , 비슷한 인용 (예 :)을 시도 할 수 있습니다 bind-key -n 'C-\' send-prefix
.
편집하다:
내가 할 NOT 사용을 권장 C-q
은 기본 제어 키 명령에 대한이 같은 바인드 키로
화면을 고정 해제하고 화면을 계속 표시합니다
상황은 여기 에서 발생 하며 @Paschalis는 솔루션을 제공합니다.
두 번 운이 좋지 않으면 (Cq를 접두어로 사용하는 원격 tmux 세션) :을 입력
Cltr-q
한 다음:
tmux를 입력하십시오.send-keys C-q
간단하게하려면 아래 줄을 ~/.tmux.conf
bind-key -n C-q send-prefix
그러면 원격 tmux의 바인드 키로 직접 사용할 수 있습니다C-q
.