Disons que vous vous connectez à un serveur distant via ssh avec Terminal.app. Lorsque vous "attachez tmux" avec un moniteur de plus grande résolution à partir d'un plus petit, vous avez précédemment démarré tmux, il dessine des points autour de la console. Il ne correspond pas à la nouvelle taille de fenêtre. Existe-t-il un moyen de redessiner et de nettoyer la fenêtre? CTRL+ Lou CTRL- B+ Rn'aide pas. Je n'ai trouvé aucune commande appropriée sur l'homme.
% tmux -V
tmux 1.5
Réponses:
tmux limite les dimensions d'une fenêtre au plus petit de chaque dimension sur toutes les sessions auxquelles la fenêtre est attachée. S'il ne le faisait pas, il n'y aurait aucun moyen raisonnable d'afficher toute la zone de la fenêtre pour tous les clients attachés.
La chose la plus simple à faire est de détacher tout autre client des sessions lorsque vous attachez:
Vous pouvez également déplacer tous les autres clients vers une session différente avant de les attacher à la session:
L'écran rétrécira à nouveau si un client plus petit bascule vers la session.
Il existe également une variante où vous ne "prenez en charge" que la fenêtre (liez la fenêtre dans une nouvelle session, définissez
aggressive-resize
et basculez toutes les autres sessions qui ont cette fenêtre active vers une autre fenêtre), mais il est plus difficile de créer un script en général (et différent de "exit" car vous voudriez dissocier la fenêtre ou tuer la session au lieu de simplement vous détacher de la session).la source
$(tmux display-message -p '#S')
, voir: superuser.com/questions/410017/… .Ctrl-b + D
pour la facilité d'utilisation (et la mémorisation).set-option... set-remain-on-exit on
. Voir tmux # 787 . Maintenant, utilisez:tmux set-hook -t "$tmp" window-linked 'set remain-on-exit on
.new-window
dernier argument de quelque chose comme ça'echo "Use Prefix + L (i.e. ^B L) to return to session.'; while(true); do read; done"
ou vous ne verrez pas le message. (Dans certaines circonstances, vous le verrez si vous faites défiler vers le haut ou si le terminal est plus grand.) Si vous utilisez cela, vous êtes probablement mieux sans mon commentaire "(1)" ou tout autre paramètreremain-on-exit
.Vous pouvez toujours appuyer sur CTRL- B+ SHIFT- Dpour choisir le client que vous souhaitez détacher de la session.
tmux répertorie toutes les sessions avec leur dimension actuelle. Ensuite, vous vous détachez simplement de toutes les sessions de plus petite taille.
la source
CTRL-B
si c'est votre préfixe. Le mien estCTRL-A
depuis que je suis passé de l'écran.tmux list-sessions
qui affiche le nom de la session, la taille et les informations sur le groupe, puistmux kill-session -t <session_name>
tuer les sessions du même groupe.Une solution plus simple sur les versions récentes de tmux (testée sur 1.9) vous permet désormais:
-a
est pour tous les autres clients de cette session, sauf celui en coursVous pouvez l'aliaser dans votre. [Bash | zsh] rc
Flux de travail: vous pouvez vous connecter normalement à votre session, et si vous êtes gêné par une autre session qui a forcé la taille de votre fenêtre tmux, vous pouvez simplement l'appeler
takeover
.la source
:detach -a
tmux detach -a
sur la ligne de commande du shell à l'intérieur de Tmux.Les autres réponses ne m'ont pas aidé car je n'avais qu'un client attaché (la précédente qui avait démarré la session était déjà détachée).
Pour y remédier, j'ai suivi la réponse ici (je n'utilisais pas xterm).
Ce qui disait simplement:
resize
commande linuxla source
Je suis juste tombé sur ce problème et suis tombé sur une situation différente. Bien que ce ne soit probablement qu'une licorne, j'ai pensé que je l'étalais.
J'ai eu une session plus petite et j'ai remarqué que les tailles de police étaient différentes: la session plus petite avait les polices plus petites. Apparemment, j'avais changé la taille des polices des fenêtres pour une raison quelconque.
Donc, dans OS X, je viens de le faire
Cmd-+
sur la session de plus petite taille, et elle s'est remise en place.la source
cmd-+
ou le-
corriger.tuez l'autre.
la source
C'est toujours le premier message lors de la recherche, mais il n'est plus valide. La meilleure réponse est ici , mais le TLDR est
<c-b>:resize-window -A
la source
J'utilise Ctrl- b+ qce qui en fait un numéro flash pour chaque volet, les redessinant en cours de route.
la source