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}를 실행하여 원하는 크기로 새 창을 만들고 마지막으로 다른 창을 종료합니다. 이는 필요한 모든 차원의 가상 터미널에서 명령을 실행하는 데 작동합니다.