tutorial para full commands comandos tmux

para - tmux split



¿Hay alguna forma de volver a dibujar la ventana tmux al cambiar el monitor más pequeño a uno más grande? (6)

Digamos que se está conectando a un servidor remoto a través de ssh con Terminal.app. Cuando se "conecta tmux" con un monitor de resolución más grande de uno más pequeño, previamente inició tmux, dibuja puntos alrededor de la consola. No se ajusta al nuevo tamaño de la ventana. ¿Hay alguna forma de volver a dibujar y limpiar la ventana? CTRL + L o CTRL - B + R no ayuda. No pude encontrar ninguna orden adecuada sobre el hombre.

% tmux -V tmux 1.5


Acabo de encontrarme con este problema y me encontré con una situación diferente. Aunque es probable que solo sea un unicornio, pensé que lo extendería.

Tuve una sesión que fue más pequeña y noté que los tamaños de fuente eran diferentes: la sesión más pequeña tenía las fuentes más pequeñas. Aparentemente, había cambiado el tamaño de las fuentes de las ventanas por alguna razón.

Así que en OS X, acabo de hacer Cmd-+ en la sesión de menor tamaño, y se volvió a colocar en su lugar.


Las otras respuestas no me ayudaron, ya que solo tenía un cliente adjunto (la anterior que inició la sesión ya estaba separada).

Para solucionarlo seguí la respuesta here (no estaba usando xterm).

Lo que simplemente dijo:

  1. Desacoplar de la sesión tmux
  2. Ejecutar el comando resize linux
  3. Reattach to tmux sesion

Siempre puede presionar CTRL - B + MAYÚS - D para elegir qué cliente desea separar de la sesión.

tmux listará todas las sesiones con su dimensión actual. Entonces simplemente te separas de todas las sesiones de menor tamaño.


Una solución más simple en versiones recientes de tmux (probada en 1.9) que ahora puede hacer:

tmux detach -a

-a es para todos los demás clientes en esta sesión excepto el actual

Puedes alias en tu. [Bash | zsh] rc

alias takeover="tmux detach -a"

Flujo de trabajo: puede conectarse a su sesión normalmente, y si le molesta otra sesión que redujo el tamaño de la ventana de su tmux, simplemente puede llamar la takeover .


tmux limita las dimensiones de una ventana a la más pequeña 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 es separar a cualquier otro cliente de las sesiones cuando adjunta:

tmux attach -d

Alternativamente, puede mover cualquier otro cliente a una sesión diferente antes de adjuntar 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á de nuevo 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 (vincule la ventana a una nueva sesión, establezca aggressive-resize y cambie cualquier otra sesión que tenga esa ventana activa a alguna otra ventana), pero es más difícil hacer un script en el caso general (y diferente a "salir", ya que querría desvincular la ventana o eliminar la sesión en lugar de simplemente separarse de la sesión).


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

mata al otro