Nehmen wir an, ich habe gerade eine Bildschirmsitzung , mit der ich über Putty interagiere. Ich habe festgestellt, dass der Scrollback-Puffer zu klein ist und möchte ihn erhöhen, ohne eine neue Bildschirmsitzung zu starten.
Gibt es eine Möglichkeit, dies zu tun?
linux
gnu-screen
Zach
quelle
quelle
screen -h <numlines>
Antworten:
Die Manpage erklärt , dass Sie Kommandozeilen - Modus in einer laufenden Sitzung durch Eingabe eingeben Ctrl+ A, :und dann den Ausgabe -
scrollback <num>
Befehl.quelle
<num>
ist die Anzahl der Zeilen von Scrollbackscrollback <num>
Maximalpuffer erreichen, kann nicht mehr Verlauf angezeigt werden. Wenn Sie diese Option festlegen, können Sie den Puffer nicht mehr erweitern. Sie müssen den letzten Befehl wiederholen, um den gesamten Verlaufspuffer abzurufen.Drücken Sie Ctrl-adann :und geben Sie dann ein
um beispielsweise einen 10000-Zeilenpuffer zu erhalten.
Sie können auch die Standardanzahl der Bildlaufzeilen durch Hinzufügen festlegen
zu Ihrer
~/.screenrc
Datei.Um zu scrollen (wenn Ihr Terminal dies standardmäßig nicht zulässt), drücken Sie Ctrl-a ESCund scrollen Sie dann (mit der üblichen Ctrl-ffür die nächste Seite oder Ctrl-afür die vorherige Seite oder nur mit Ihrem Mausrad / zwei Fingern). Um den Bildlaufmodus zu verlassen, drücken Sie einfach ESC.
Ein weiterer Tipp: Ctrl-a iZeigt Ihre aktuelle Puffereinstellung an.
quelle
byobu-screen
unter Ubuntu 12.04 scheint der Defscrollback auf 10000 zu setzenstartup_message off' and 'defscrollback 5000' into my newly created
~ / .screenrc` und es wird die erste Zeile angezeigt, aber die zweite scheint ignoriert zu werden.Es gibt eine minimale Menge an "Standard" -Puffer, wenn Sie eine "Bildschirm" -Sitzung innerhalb Ihrer "Kitt-Sitzung" starten. Ich benutze in meiner Arbeit häufig Bildschirme, daher kann ich Ihnen sagen, dass Sie in Ihrer "Bildschirm" -Sitzung keine Kombination aus "Bildschirm" -Puffer und "Kitt" -Puffer haben werden.
Das Festlegen der Standardanzahl von Bildlaufzeilen durch Hinzufügen
defscrollback 10000
zu Ihrer~/.screenrc
Datei ist die richtige Lösung.Übrigens verwende ich "defscrollback 200000" in meiner
./screenrc
Datei.quelle
Wie bereits erwähnt, haben wir zwei Möglichkeiten!
Interaktive Einstellung pro Bildschirm (Sitzung)
Und es wird interaktiv gemacht! Und sofort wirksam werden!
CTRL + Agefolgt von :Und wir tippen
scrollback 1000000
und schlagenENTERSie lösen sich vom Bildschirm und kommen zurück! Es wird immer das gleiche sein.
Sie öffnen einen weiteren neuen Bildschirm! Und der Wert wird wieder auf Standard zurückgesetzt! Es ist also keine globale Umgebung!
Und die permanente Standardeinstellung
Was durch Hinzufügen
defscrollback 1000000
zu.screenrc
(zu Hause) gemacht wirddefscrollback
und nichtscrollback
(def steht für default)Was Sie wissen müssen, ist, wenn die Datei nicht erstellt wird! Du erschaffst es !
Und du fügst hinzu
defscrollback 1000000
!Oder in einem Befehl
(falls noch nicht erstellt)
Wirksam werden
Wenn Sie die Standardeinstellung zu
.screenrc
! Der bereits laufende Bildschirm beim erneuten Anhängen wird nicht wirksam! Der.screenrc
Lauf bei der Bildschirmerstellung! Und es macht Sinn! Genau wie bei einem normalen Konsolen- und Shell-Start!Und alle neu erstellten Bildschirme haben den eingestellten Wert!
Überprüfen der effektiven Puffergröße des Bildschirms
Um den Typ zu überprüfen, CTRL + Agefolgt voni
Und das Ergebnis wird wie folgt sein
Wichtig ist, dass die Puffergröße die Zahl nach dem + -Zeichen ist
(in der Abbildung habe ich sie auf 1 000 000 gesetzt).
Beachten Sie auch, dass, wenn Sie es interaktiv ändern! Der Effekt ist sofort und übernimmt den Standardwert!
Scrollen
CTRL+ Agefolgt von ESC(um in den Kopiermodus zu gelangen).
Navigieren Sie dann mit Up, DownoderPgUp PgDown
Und noch ESCeinmal, um diesen Modus zu verlassen.
(Zusätzliche Informationen: Zum Kopieren des Treffers ENTER, um mit der Auswahl zu beginnen! Dann noch ENTEReinmal zum Kopieren! Einfach und cool)
Jetzt ist der Puffer größer!
Und das fasst es für die wichtigen Details zusammen!
quelle
WARNUNG: Wenn Sie diesen Wert zu hoch einstellen, kann Ihr System einen erheblichen Schluckauf bekommen. Je höher der von Ihnen festgelegte Wert ist, desto mehr virtueller Speicher wird dem Bildschirmprozess zugewiesen, wenn die Bildschirmsitzung gestartet wird. Ich habe mein ~ / .screenrc auf "defscrollback 123456789" gesetzt und als ich einen Bildschirm initiierte, fror mein gesamtes System für gut 10 Minuten ein, bevor ich zu dem Punkt zurückkehrte, an dem ich den Bildschirmprozess beenden konnte (der 16,6 GB verbrauchte) von VIRT mem bis dahin).
quelle
Für die Nachwelt ist diese Antwort falsch, wie von Steven Lu bemerkt. Den Originaltext jedoch verlassen.
Ursprüngliche Antwort:
Für diejenigen, die über die Websuche anreisen (einige Jahre später) ...
Bei Verwendung des Bildschirms ist Ihr Scrollback-Puffer eine Kombination aus dem
screen
Scrollback-Puffer, wie in den beiden vorherigen Antworten angegeben, und Ihrem Kitt-Scrollback-Puffer.Stellen Sie sicher, dass Sie sowohl den Putty-Scrollback-Puffer als auch den Bildschirm-Scrollback-Puffer erhöhen. Andernfalls können Sie in Ihrem Putty-Fenster selbst nicht zurückblättern, um den
screen
Scrollback-Verlauf Ihres Bildschirms anzuzeigen (überwunden durch Scrollen innerhalb des Bildschirms mitctrl+a->ctrl+u
).Sie können Ihr Putty-Scrollback-Limit in den Einstellungen unter der Kategorie "Fenster" ändern. Durch das Beenden und erneutes Öffnen einer Kitt-Sitzung auf Ihrem Bildschirm wird Ihr Bildschirm nicht geschlossen (vorausgesetzt, Sie schließen nur das Kitt-Fenster und geben nicht ein
exit
), wie vom OP gefordert.Ich hoffe, das hilft zu erkennen, warum das Erhöhen des Scrollback-Puffers des Bildschirms das Problem einer Person nicht löst.
quelle