tmux
내 터미널의 크기에 관계없이 세션의 창을 특정 크기로 강제하고 싶습니다 . 어떻게 해야 하나요?
문맥
여기에 설명된 대로 asciinema에 tmux를 로그인하려고 합니다.https://github.com/asciinema/asciinema/wiki/Recording-tmux-session(명령에서 asciinema를 실행합니다 tmux attach
). 그런데 모니터가 너무 커서 강제로 크기를 조정하고 싶어요 tmux window
.
내가 시도한 것들
tmux 세션의 두 번째 보기를 사용하여 창 크기를 강제하는 성공적인 솔루션이 있지만 mate-terminal -e 70x20
... 이것은 해킹처럼 보입니다.
-x를 사용하여 세션 크기를 강제해 보세요.
tmux new-session -x $X -y $Y -d
이 옵션은 무시되는 것 같습니다(공격적인 크기 조정 설정을 사용해 보았습니다).
답변1
원하지 않는 영역을 차지하려면 창을 3개 이상 열어야 할 수도 있습니다. 다음과 같은 것을 시도해보세요
tmux new-session \; split-window -h \; split-window -v \; resize-pane -x 70 -y 20
답변2
이렇게 하면 원하는 작업이 수행됩니다.
tmux new-session \; setw force-width 80 \; setw force-height 24 \; attach
물론, 또는 $X
and와 함께.$Y
답변3
이는 tmux의 버그였으며 개발 빌드에서 수정되었습니다. 현재 출시된 최신 버전은 3.2a이며, 이 문제는 해결되지 않습니다.
새로 분리된 세션에 대해서는 -x 및 -y 옵션을 무시하는 것 같습니다. 문서에 따르면 이러한 값은 새 창의 기본 크기 설정을 재정의하며, 이는 새 세션 생성, 기본 크기 설정, 새 창 시작 및 초기 창 종료를 제안합니다. 이것은 작동합니다. 그러나 -x 및 -y 옵션을 사용하면 기본 크기 설정을 재정의하여 조정할 필요가 없지만 여전히 새 창을 만들어야 합니다. 문제는 -x 및 -y가 초기 창이 생성된 후 세션의 기본 크기를 수정한다는 것입니다.
tmux new-session -d -x $X -y $Y \; new-window ${MY_COMMAND} \; kill-window -t 0
따라서 원하는 기본 크기로 새 세션을 만든 다음 원하는 크기로 새 창을 만들고 ${MY_COMMAND}를 실행한 다음 마지막으로 다른 창을 종료합니다. 이는 필요한 모든 크기의 가상 터미널에서 명령을 실행하는 데 작동합니다.