!["Cb Cb Cb"를 사용하여 tmux가 세 번째 중첩 tmux 세션에 들어가도록 하려면 어떻게 해야 합니까?](https://linux55.com/image/14291/%22Cb%20Cb%20Cb%22%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20tmux%EA%B0%80%20%EC%84%B8%20%EB%B2%88%EC%A7%B8%20%EC%A4%91%EC%B2%A9%20tmux%20%EC%84%B8%EC%85%98%EC%97%90%20%EB%93%A4%EC%96%B4%EA%B0%80%EB%8F%84%EB%A1%9D%20%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
C-b C-b
tmux에서는 (Ctrl+b를 두 번) 사용하여 두 번째 중첩 세션에 들어갑니다. 그러나 세 번째 중첩 세션이 있는 경우 C-b C-b C-b
이를 사용하여 세 번째 중첩 세션에 액세스할 수 없습니다. 어떻게든 스팸을 보내면 C-b
때로는 세 번째 중첩 세션으로 들어가는 경우가 있습니다. 무슨 일이에요?
답변1
기본 바인딩을 사용하여 control-b를 세 번째 레벨 tmux로 가져오려면 1*2*2(=4) control-b를 사용해야 하고 네 번째 레벨로 가져오려면 1*2*2*2(=8)를 사용해야 합니다. tmux, 일반적으로 n번째 tmux에 도달하려면 2 n-1이 필요합니다 .
"뭐가 문제 야?". 모든 control-b는 첫 번째 레벨 tmux에서 읽습니다. 첫 번째는 명령 시퀀스를 소개하는 데 사용됩니다. 두 번째는 컨트롤 b를 애플리케이션에 보내는 명령을 실행하는 것을 나타냅니다. 세 번째는 시퀀스를 시작하고, 네 번째는 명령을 실행하여 두 번째 control-b를 애플리케이션에 보냅니다. 이제 애플리케이션은 두 번째 수준 tmux입니다. 4개의 control-bs를 입력했으므로 첫 번째 레벨 tmux는 2개의 control-bs를 두 번째 레벨로 보냈습니다. 이들 중 첫 번째는 명령 시퀀스를 시작하고 두 번째는 명령을 실행하여 control-b를 세 번째 레벨 tmux로 보냅니다.
이렇게 깊게 중첩된 tmux를 많이 사용할 계획이라면 2, 4, 8, 16 등의 control-b 문자를 전송하는 사용자 정의 바인딩을 추가하는 것을 고려해 보는 것이 좋습니다. 예를 들어
bind-key -T prefix C-g send -N 1 C-b
bind-key -T prefix C-h send -N 2 C-b
bind-key -T prefix C-l send -N 4 C-b
Ctrl이를 tmux 구성 파일에 넣거나 -etc 를 입력하여 첫 번째 수준 tmux에 입력할 수 있습니다 b:bind-keySpace-TSpaceprefixSpaceC-hSpace. 이렇게 하면 Ctrl- bCtrl- g// 두 번째/세 번째/네 번째 수준 tmux에 명령을 h보냅니다 .l
완전성을 기하기 위해 제가 언급한 또 다른 옵션은 다른 tmux에서 다른 접두사 키를 사용하는 것입니다. 나는 그것을 권장하지 않습니다. 혼란의 여지가 너무 많습니다.