이 질문의 범위:https://unix.stackexchange.com/q/467025/256195
하지만 이제 실제로 먼저 tmux를 사용하여 새 명명된 세션을 생성하는 tmux
내부 sessionA
create를 실행한 후 이름을 How? 로 변경해야 합니다 .sessionB
1
sessionB
명령줄( )에서 변경 하면 작동 zsh>
하지만 zsh
스크립트에는 출력이 계속 표시됩니다. 스크립트에서 명령줄로 복사하여 붙여넣기만 하면 명령에서 예상대로 완벽하게 작동합니다.
can't find session 1
can't find session 2
zsh
tmux는 스크립트에서 주문한 경우에도 zsh
예상치 못한 동작이 있는 명령을 처리합니다 .
참고: 저는 tmux
첫 번째 window
단계 에 있습니다 sessionA
.
편집: 명령줄에서 세션 이름이 1
존재하는 것을 볼 수 있지만 zsh 스크립트에서 이름을 바꾸려고 하면 실패하지만 명령에서는 작동합니다.
답변1
귀하의 질문을 완전히 이해했는지 잘 모르겠지만 tmux 세션 내에서 tmux 세션을 사용하는 경우 바인드 키 시퀀스를 두 번 사용한 다음 명령 키를 사용해야 합니다.
예를 들어 중첩된 tmux 세션을 두 개의 창으로 분할하려는 경우 기본 키 바인딩이 있다고 가정하는 , 를 사용할 Ctrl+b수 있습니다.Ctrl+b"
답변2
내가 지금 이해한 바로는 스크립트에 있을 때 이름 없는 세션에 대한 올바른 세션 이름을 얻기 위해 연결할 수 있는 방법이 없습니다. 즉, zsh
세션 인덱스를 가정하여 세션 내부를 호출하여 이름 없는 세션을 생성한 후 비활성화된다는 의미입니다. 에서 왔습니다.tmux
tmux
rename-session -t2
1
그러나 논리적으로 이름이 지정되지 않은 새로운 세션은 window
다음 에서 비롯됩니다.rename-session -t1:1:2 <NewNAME>
t1:2:1
- t1
세션 1
, :1
창 1
, :2
이름이 지정되지 않은 새로운 중첩 세션입니다.
1
중첩 세션을 만들기 전에 세션, 창이 있습니다 1
.
따라서 해결책은 새 창을 만들고 명시적으로 그 안에 -s
세션을 만드는 것입니다 -n
.