tmux limita las dimensiones de una ventana a las más pequeñas de cada dimensión en todas las sesiones a las que se adjunta la ventana. Si no lo hiciera, no habría una forma sensata de mostrar el área de la ventana completa para todos los clientes adjuntos.
Lo más fácil de hacer es separar a otros clientes de las sesiones cuando adjuntas:
tmux attach -d
Alternativamente, puede mover cualquier otro cliente a una sesión diferente antes de adjuntarlo a la sesión:
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
La pantalla se reducirá nuevamente si un cliente más pequeño cambia a la sesión.
También hay una variación en la que solo "toma el control" de la ventana (vincula la ventana a una nueva sesión, establece aggressive-resize
y cambia cualquier otra sesión que tenga esa ventana activa a otra ventana), pero es más difícil de escribir en general case (y diferente a "salir" ya que desearía desvincular la ventana o cerrar la sesión en lugar de simplemente desconectarse de la sesión).