[tmux] 작은 모니터를 큰 모니터로 전환 할 때 tmux 창을 다시 그릴 수있는 방법이 있습니까?

Terminal.app을 사용하여 ssh를 통해 원격 서버에 연결한다고 가정 해 봅시다. 이전에 tmux를 시작한 작은 모니터에서 더 큰 해상도의 모니터로 “tmux 연결”을하면 콘솔 주위에 점이 그려집니다. 새 창 크기에 맞지 않습니다. 창을 다시 그리고 정리하는 방법이 있습니까? CTRL+ L또는 CTRLB+ 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 (및 세션에서 분리하는 대신 창을 연결 해제하거나 세션을 종료하려고하기 때문에“종료”와 다릅니다).


답변

언제든지 CTRLB+ SHIFTD를 눌러 세션에서 분리 할 클라이언트를 선택할 수 있습니다 .

tmux는 모든 세션을 현재 차원으로 나열합니다. 그런 다음 작은 크기의 모든 세션에서 분리하면됩니다.


답변

최신 버전의 tmux (1.9에서 테스트)에 대한 간단한 솔루션을 이제 다음과 같이 할 수 있습니다.

tmux detach -a

-a 현재 세션을 제외한이 세션의 다른 모든 클라이언트를위한 것입니다.

. [bash | zsh] rc에서 별칭을 지정할 수 있습니다.

alias takeover="tmux detach -a"

워크 플로우 : 정상적으로 세션에 연결할 수 있으며, tmux 창 크기를 강제로 낮추는 다른 세션에 방해가되는 경우 간단히 전화하면 takeover됩니다.


답변

다른 답변은 클라이언트를 연결했기 때문에 도움이되지 않았습니다 (이전 세션을 시작한 이전 답변은 이미 분리되었습니다).

이 문제를 해결하기 위해 여기 에 답을 따랐습니다 (xterm을 사용하지 않았습니다).

단순히 말했다 :

  1. TMUX 세션에서 분리
  2. 실행 resize리눅스 명령
  3. tmux 세션에 다시 연결

답변

방금이 문제에 부딪 쳤고 다른 상황을 우연히 발견했습니다. 아마도 유니콘 일뿐이지만, 나는 그것을 배치 할 것이라고 생각했습니다.

한 세션이 더 작았고 글꼴 크기가 다른 것을 알았습니다. 세션이 작을수록 글꼴이 작습니다. 분명히 어떤 이유로 창 글꼴 크기를 변경했습니다.

OS X에서는 방금 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