Terminal.app을 사용하여 ssh를 통해 원격 서버에 연결한다고 가정 해 봅시다. 이전에 tmux를 시작한 작은 모니터에서 더 큰 해상도의 모니터로 "tmux 연결"을하면 콘솔 주위에 점이 그려집니다. 새 창 크기에 맞지 않습니다. 창을 다시 그리고 정리하는 방법이 있습니까? CTRL+ L또는 CTRL- B+ R는 도움이되지 않습니다. 나는 사람에 대한 적절한 명령을 찾지 못했습니다.
% tmux -V
tmux 1.5
Terminal.app을 사용하여 ssh를 통해 원격 서버에 연결한다고 가정 해 봅시다. 이전에 tmux를 시작한 작은 모니터에서 더 큰 해상도의 모니터로 "tmux 연결"을하면 콘솔 주위에 점이 그려집니다. 새 창 크기에 맞지 않습니다. 창을 다시 그리고 정리하는 방법이 있습니까? CTRL+ L또는 CTRL- B+ R는 도움이되지 않습니다. 나는 사람에 대한 적절한 명령을 찾지 못했습니다.
% tmux -V
tmux 1.5
답변:
tmux 는 윈도우의 크기를 윈도우가 연결된 모든 세션에서 각 차원의 최소 크기로 제한합니다. 이를 수행하지 않으면 연결된 모든 클라이언트에 대해 전체 창 영역을 표시하는 현명한 방법이 없습니다.
가장 쉬운 방법은 연결할 때 다른 클라이언트를 세션에서 분리하는 것입니다.
tmux attach -d
또는 세션에 연결하기 전에 다른 클라이언트를 다른 세션으로 이동할 수 있습니다.
takeover() {
# create a temporary session that displays the "how to go back" message
tmp='takeover temp session'
if ! tmux has-session -t "$tmp"; then
tmux new-session -d -s "$tmp"
tmux set-option -t "$tmp" set-remain-on-exit on
tmux new-window -kt "$tmp":0 \
'echo "Use Prefix + L (i.e. ^B L) to return to session."'
fi
# switch any clients attached to the target session to the temp session
session="$1"
for client in $(tmux list-clients -t "$session" | cut -f 1 -d :); do
tmux switch-client -c "$client" -t "$tmp"
done
# attach to the target session
tmux attach -t "$session"
}
takeover 'original session' # or the session number if you do not name sessions
더 작은 클라이언트가 세션으로 전환하면 화면이 다시 축소됩니다.
윈도우를 "인계"하는 것 (윈도우를 새 세션에 연결하고 설정 aggressive-resize
하고 해당 윈도우가 활성화 된 다른 세션을 다른 윈도우로 전환)의 변형이 있지만 일반적으로 스크립트하기가 더 어렵습니다. case (및 세션에서 분리하는 대신 창을 연결 해제하거나 세션을 종료하려고하기 때문에“종료”와 다릅니다).
Ctrl-b + D
사용하기 쉽고 기억하기 쉬운 Shi B.의 답변 을 참조하십시오 .
set-option... set-remain-on-exit on
. tmux # 787을 참조하십시오 . 이제 다음을 사용하십시오 tmux set-hook -t "$tmp" window-linked 'set remain-on-exit on
..
new-window
마지막 인수 를 사용해야 'echo "Use Prefix + L (i.e. ^B L) to return to session.'; while(true); do read; done"
합니다. 그렇지 않으면 메시지가 표시되지 않습니다. (일부 상황에서는 위로 스크롤하거나 터미널이 더 길면 표시됩니다.) 이것을 사용하면 내 의견 "(1)"또는 다른 설정이없는 것이 좋습니다 remain-on-exit
.
언제든지 CTRL- B+ SHIFT- D를 눌러 세션에서 분리 할 클라이언트를 선택할 수 있습니다 .
tmux는 모든 세션을 현재 차원으로 나열합니다. 그런 다음 작은 크기의 모든 세션에서 분리하면됩니다.
CTRL-B
그것이 당신의 접두사라면. CTRL-A
화면에서 전환 한 이래로 광산이되었습니다 .
tmux list-sessions
세션 이름, 크기 및 그룹 정보를 표시 한 다음 tmux kill-session -t <session_name>
동일한 그룹의 세션 을 종료 하는 것을 선호합니다 .
최신 버전의 tmux (1.9에서 테스트)에 대한 간단한 솔루션을 이제 다음과 같이 할 수 있습니다.
tmux detach -a
-a
현재 세션을 제외한이 세션의 다른 모든 클라이언트를위한 것입니다.
. [bash | zsh] rc에서 별칭을 지정할 수 있습니다.
alias takeover="tmux detach -a"
워크 플로우 : 정상적으로 세션에 연결할 수 있으며, tmux 창 크기를 강제로 낮추는 다른 세션에 방해가되는 경우 간단히 전화하면 takeover
됩니다.
:detach -a
tmux detach -a
Tmux 내의 쉘 명령 행에서 실행하십시오.
방금이 문제에 부딪 쳤고 다른 상황을 우연히 발견했습니다. 아마도 유니콘 일뿐이지만, 나는 그것을 배치 할 것이라고 생각했습니다.
한 세션이 더 작았고 글꼴 크기가 다른 것을 알았습니다. 세션이 작을수록 글꼴이 작습니다. 분명히 어떤 이유로 창 글꼴 크기를 변경했습니다.
OS X에서는 방금 Cmd-+
더 작은 크기의 세션에서 작업을 다시 시작했습니다.
cmd-+
하거나 -
수정합니다.
ps ax | grep tmux
17685 pts/22 S+ 0:00 tmux a -t 13g2
17920 pts/11 S+ 0:00 tmux a -t 13g2
18065 pts/19 S+ 0:00 grep tmux
다른 사람을 죽여라.
검색시 여전히 최상위 게시물이지만 더 이상 유효하지 않습니다. 최고의 답변은 여기 에 있지만 TLDR은
<c-b>:resize-window -A