Angenommen, Sie stellen über ssh mit Terminal.app eine Verbindung zu einem Remote-Server her. Wenn Sie tmux mit einem Monitor mit größerer Auflösung von einem kleineren Monitor "anhängen", den Sie zuvor mit tmux gestartet haben, werden Punkte um die Konsole gezogen. Es passt nicht zur neuen Fenstergröße. Gibt es eine Möglichkeit, das Fenster neu zu zeichnen und zu reinigen? CTRL+ Loder CTRL- B+ Rhilft nicht. Ich konnte keinen richtigen Befehl für den Menschen finden.
% tmux -V
tmux 1.5
Antworten:
tmux begrenzt die Abmessungen eines Fensters auf die kleinste jeder Dimension in allen Sitzungen, an die das Fenster angehängt ist. Andernfalls wäre es nicht sinnvoll, den gesamten Fensterbereich für alle angeschlossenen Clients anzuzeigen.
Am einfachsten ist es, andere Clients von den Sitzungen zu trennen, wenn Sie Folgendes anhängen:
Alternativ können Sie andere Clients in eine andere Sitzung verschieben, bevor Sie eine Verbindung zur Sitzung herstellen:
Der Bildschirm wird wieder verkleinert, wenn ein kleinerer Client zur Sitzung wechselt.
Es gibt auch eine Variante, bei der Sie nur das Fenster "übernehmen" (das Fenster in eine neue Sitzung einbinden
aggressive-resize
, alle anderen Sitzungen, in denen dieses Fenster aktiv ist , festlegen und zu einem anderen Fenster wechseln), aber es ist im Allgemeinen schwieriger, Skripte zu erstellen case (und anders als "exit", da Sie die Verknüpfung des Fensters aufheben oder die Sitzung beenden möchten, anstatt sich nur von der Sitzung zu trennen).quelle
$(tmux display-message -p '#S')
, siehe: superuser.com/questions/410017/… .Ctrl-b + D
zur Benutzerfreundlichkeit (und zum Erinnern).set-option... set-remain-on-exit on
. Siehe tmux # 787 . Verwenden Sie jetzt :tmux set-hook -t "$tmp" window-linked 'set remain-on-exit on
.new-window
letzte Argument von etwas wie verwenden, sonst'echo "Use Prefix + L (i.e. ^B L) to return to session.'; while(true); do read; done"
wird die Nachricht nicht angezeigt . (Unter bestimmten Umständen wird es angezeigt, wenn Sie nach oben scrollen oder wenn das Terminal größer ist.) Wenn Sie dies verwenden, sind Sie wahrscheinlich ohne meinen Kommentar "(1)" oder eine andere Einstellung besser dranremain-on-exit
.Sie können jederzeit CTRL- B+ SHIFT- drücken, Dum auszuwählen, welchen Client Sie von der Sitzung trennen möchten.
tmux listet alle Sitzungen mit ihrer aktuellen Dimension auf. Dann trennen Sie sich einfach von allen kleineren Sitzungen.
quelle
CTRL-B
wenn das dein Präfix ist. Meins war,CTRL-A
seit ich vom Bildschirm gewechselt habe.tmux list-sessions
das den Sitzungsnamen, die Größe und die Gruppeninformationen anzeigt, und danntmux kill-session -t <session_name>
Sitzungen derselben Gruppe zu beenden.Eine einfachere Lösung für neuere Versionen von tmux (getestet auf 1.9) können Sie jetzt tun:
-a
ist für alle anderen Clients in dieser Sitzung außer dem aktuellenSie können es in Ihrem. [Bash | zsh] rc aliasen
Workflow: Sie können sich normal mit Ihrer Sitzung verbinden. Wenn Sie von einer anderen Sitzung gestört werden, die die Größe Ihres tmux-Fensters verringert hat, können Sie einfach anrufen
takeover
.quelle
:detach -a
tmux detach -a
in der Shell-Befehlszeile in Tmux aus.Die anderen Antworten haben mir nicht geholfen, da ich nur einen Client angehängt hatte (die vorherige, die die Sitzung gestartet hat, war bereits getrennt).
Um das Problem zu beheben, folgte ich der Antwort hier (ich habe xterm nicht verwendet).
Was einfach gesagt hat:
resize
Linux-Befehl ausquelle
Ich bin gerade auf dieses Problem gestoßen und bin auf eine andere Situation gestoßen. Obwohl es wahrscheinlich nur ein Einhorn ist, dachte ich, ich würde es auslegen.
Ich hatte eine Sitzung, die kleiner war, und ich bemerkte, dass die Schriftgrößen unterschiedlich waren: Die kleinere Sitzung hatte die kleineren Schriftarten. Anscheinend hatte ich aus irgendeinem Grund die Schriftgröße des Fensters geändert.
In OS X habe ich mich also nur
Cmd-+
für die kleinere Sitzung entschieden, und sie rastete wieder ein.quelle
cmd-+
oder-
behebt es.töte den anderen.
quelle
Dies ist immer noch der Top-Beitrag bei der Suche, aber er ist nicht mehr gültig. Die beste Antwort ist hier , aber der TLDR ist
<c-b>:resize-window -A
quelle
Ich benutze Ctrl- b+, qwodurch die Flash-Nummer für jedes Fenster angezeigt wird und sie unterwegs neu gezeichnet werden.
quelle