tmux 창을“다시 시작”하는 쉬운 방법이 있습니까?


47

tmux다음과 같이 (1.7) 창 분할 이 있다고 가정하십시오 .

 ________________________
|           1            |
|                        |
|-----------+------------|
|     2     |      3     |
|___________|____________|

이제 세로 크기가 사용자 지정되었으므로 기본 레이아웃 중 하나가 아닙니다.

경우에 따라 프로그램이 ssh중단되거나을 통해 연결된 시스템을 재부팅 하면 창이 "멈 춥니 다". 즉, kill-pane작동하는 것 외에는 아무것도 없습니다 .

그러나 분할 창 1이 완료되면 분할 구성을 쉽게 재 구축 할 수있는 방법이 없으므로 kill-pane"재시작"하고 싶습니다.

답변:


81

매뉴얼을 보면 명령 respawn-pane이 나에게 맞았지만 이것이 효과가 없었습니다. 더 자세히 읽으면 실행중인 명령을 죽일respawn-pane -k 것이기 때문에 그 답이 밝혀졌습니다 .

이 방법으로 창을 "다시 시작"하여 새로 만들 수 있습니다.

그래서 <prefix>+ :를 입력 respawn-pane -k하고Enter


4
또는 모드 -k에서 창을 만들고 remain-on-exit명령을 직접 종료 한 경우 없이 사용 하십시오.
peterph

너는 네가 아멘 새롭게 양산되고
cambunctious

4

실제로 레이아웃을 재구성하는 방법이 있습니다 list-windows. 세션의 모든 창에 대한 레이아웃 설명을 제공 select-layout하고 문자열을 구문 분석하고 레이아웃을 적절하게 설정할 수 있습니다 ( select-layoutman page 참조 tmux(1)).

ssh 문제-ssh 서버는 시스템이 종료되면 연결을 닫아야합니다 (ssh 데몬을 종료하지 않고 세션을 올바르게 실행하여 적절한 동작을 엉망으로 만드는 Linux 배포판을 보았지만). 이스케이프 문자 다음에 (점)으로 표시된 ESCAPE CHARACTERS섹션 (및 다른 위치)을 참조 하여 클라이언트 쪽의 연결을 강제 종료하십시오. 물론 창을 실행 하여 창을 생성하면 도움이되지 않지만 문제가 더 자주 발생하면 창에서 쉘을 실행하고 ssh를 호출하고 싶을 것입니다.ssh(1).ssh


나는 당신의 대답을 찬성했습니다. 그것이 가치를 더하기 때문입니다. 그러나 이스케이프 문자가 반드시 좋은 아이디어는 아닙니다. ssh 연결을 사용하는 tmux 세션에 연결하기 위해 ssh 세션을 사용하는 것이 좋습니다. 그런 다음 갑자기 첫 번째 ssh 연결을 넘어서 이스케이프 문자를 전송하여 내부 문자에 도달하는 방법에 대해 생각해야합니다. 그리고 btw, 나는 보통 쉘에서 ssh를 실행합니다.
0xC0000022L

1
중첩 된 tmux 세션을 실행할 때와 거의 동일합니다. 외부 및 내부 세션에 서로 다른 이스케이프 문자가 있거나 (ssh 또는 tmux 하나) 이스케이프 문자를 두 번 보내면 중첩 된 세션에 단일 문자로 이동합니다 (ssh에 대한 유선 동작, 구성 가능) tmux에서).
peterph
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.