Wie kann ich mehr von meinem Verlauf in Screen unter Linux anzeigen?

54

Ich habe über Nacht Skripts über die Befehlszeile ausgeführt (innerhalb von Screen auf einer Linux EC2-Instanz) und es sind einige Fehler aufgetreten, die ich nicht verfolgt habe. Ich möchte nach oben scrollen oder mehr über den Verlauf auf dem Bildschirm sehen, aber ich kann keine Befehle finden, die funktionieren.

Ich muss die Bildschirmausgabe "weiter oben" sehen, als ich es auf meinem aktuellen Bildschirm kann. STRG + a soll mich im Bildschirm in den Bildlaufmodus versetzen, funktioniert aber nicht.

T. Brian Jones
quelle
history | less, more? Oder Sie fragen sich, wie Sie mehr Geschichte schreiben können?
historybehält nur Befehle bei, die in der Shell ausgelöst wurden. Er fragt mehr nach dem Protokollieren von Sachen
<Shift>+ <PgUp>ist die einzige Option. Und es gibt auch ein Limit (höchstens 500 Zeilen, denke ich).
ssapkota
Ich muss die Bildschirmausgabe "weiter oben" sehen, als ich es auf meinem aktuellen Bildschirm kann. STRG + a soll mich im Bildschirm in den Bildlaufmodus versetzen, funktioniert aber bei mir nicht.
T. Brian Jones
1
Gerade Ctrl-aist screen‚s Flucht. Die gesamte Tastenfolge zum Ctrl-a [Aufrufen des Scrollback-Modus wäre , wie Opyat sagt. Ctrl-a ESCfunktioniert auch bei mir, ich erinnere mich nicht, welches standard / gebräuchlich ist.
Ninjalj

Antworten:

32

Wenn Sie den Bildschirm starten, können Sie die Größe des Scrollback-Puffers mit -h angeben, damit Sie ihn von der Standardeinstellung von 100 Zeilen erhöhen können. Bei einem aktuell ausgeführten Bildschirm sind die Daten jedoch verschwunden, sobald sie den Puffer verlassen haben.

William Pursell
quelle
3
Das ist einfach falsch. Die Antwort von @opyate bietet eine Lösung
Nirvana-msu
6
@ nirvana-msu Mit ^ a zum Aufrufen des Scrollback-Modus können Sie den Scrollback-Puffer durchblättern. Wenn Daten bereits aus dem Scrollback-Puffer entfernt wurden, sind sie entfernt. Sie können die Größe dieses Bufers beim Start erhöhen. Was genau hältst du von meiner Antwort für falsch? Ich spreche über die Vergrößerung des Scrollback-Puffers, Opyat gibt Details darüber, wie man es benutzt.
William Pursell
2
Nun, ok, obwohl die Frage nicht wirklich die Erweiterung des Bildlaufpuffers betraf. Der Autor wollte mehr Verlauf anzeigen, als normalerweise in der Konsole angezeigt wird, und Sie können mithilfe von mehr Verlauf anzeigen Ctrl+a+[. Ihre Antwort lässt es nur so aussehen, als ob es nicht möglich wäre, was irreführend ist.
Nirvana-Msu
Dies funktioniert nicht auf einem Mac. Die anderen Antworten funktionieren auch nicht.
Ben
76

Vorausgesetzt, Sie haben Ihre Escape-Sequenz nicht überschrieben, können Sie drücken Ctrl-a [, um in den Scrollback-Modus zu wechseln, und dann mit den üblichen Tasten Page-UP / Page-DOWN oder Ctrl-b / Ctrl-f nach oben und unten navigieren.

Aus dem Gentoo Wiki zur Bildschirmnutzung

opyate
quelle
7
und ESC, um den Scrollback-Modus zu verlassen, IIRC
ninjalj
jetzt ist das gentoo wiki: wiki.gentoo.org/wiki/Screen
Rmatt
In diesem Beitrag erfahren Sie auch, wie Sie mit der Maus scrollen können. Der Post-Name sagt, es ist für tmux, aber es deckt auch Bildschirm
JonnyRaa
2
Ctrl+ A, Escruft auch den Kopier- / Scrollback-Modus auf.
Serge Stroobandt
7

Sie können Ihre Befehle auch in dem scriptBefehl ausführen, der die Ausgabe auf der Festplatte protokolliert. Oder Sie können: command 2>&1 | tee /tmp/cmd.outUm die Ausgabe für zukünftige Untersuchungen zu protokollieren, möchten Sie einen (praktisch) unendlich großen Ausgabeverlauf.

Seth Robertson
quelle
Das ist es, was ich letztendlich für meine Aufgabe verwendet habe. Funktioniert super. Vielen Dank.
T. Brian Jones
6

Ich muss die Bildschirmausgabe "weiter oben" sehen, als ich es auf meinem aktuellen Bildschirm kann. STRG + a soll mich im Bildschirm in den Bildlaufmodus versetzen, funktioniert aber nicht.

Ergänzend zu den anderen Antworten möchte ich Sie darauf hinweisen, dass Sie Folgendes in Ihre ~/.screenrcAkte aufnehmen können:

defscrollback 100000
termcapinfo xterm ti@:te@

wo:

  • defscrollback 100000: Stellen Sie die Standardanzahl der Scrollback-Zeilen auf ein 100000
  • termcapinfo xterm ti@:te@: Terminal-Scrolling in xterm oder PuTTY zulassen. ( Bildschirm FAQ ; PuTTY FAQ )
Franck Dernoncourt
quelle
Funktioniert nicht auf einem Mac. Keine der Antworten funktioniert hier. Ich kann immer noch die Größe des Terminalfensters sehen. Weiter oben ist nur der screenBefehl und das, was ich vor dem Bildschirm gemacht habe. Ich habe auch versucht screen -h, das gleiche Ergebnis. Irgendwelche Ideen?
Ben
@Ben sorry keine Ahnung, ich habe nur Ubuntu ausprobiert.
Franck Dernoncourt
1
Ah, es funktioniert mit control+ aund dann ESCund dann kann ich mit dem Cursor im Text scrollen. Was nicht funktioniert, ist das Scrollen mit der Maus mithilfe der Mac-Terminal-Schieberegler an der Seite. Vielen Dank!
Ben
5

Sie können die Größe des Scrollback-Verlaufs auch in einem laufenden Bildschirm mit der Sequenz ändern CTRL-a :(in den Befehlszeilenmodus des Bildschirms wechseln), scrollback 10000wenn Sie 10.000 Zeilen Verlaufspuffer benötigen. Die Änderung wird sofort wirksam.

Achten Sie auf die Speichernutzung, wenn Sie viele Bildschirme mit sehr langen Puffern verwenden.

Wie @William Pursell bereits sagte, sind die Daten bei laufendem Bildschirm nicht mehr vorhanden, sobald sie den Puffer verlassen haben.

Saïmonn
quelle
0

Abhängig davon, welches Terminalprogramm Sie verwenden, können Sie normalerweise den Bildlaufpuffer unter Einstellungen ändern. Ich weiß, dass xtermSie zuerst das Scrollen aktivieren müssen, dann können Sie den Puffer auf unendlich setzen.

Die beste Möglichkeit zum Protokollieren von Skripten ist jedoch, die Standardausgabe in eine Datei umzuleiten:

ScriptName >> OutputFile.txt

Auf diese Weise können Sie frei blättern und suchen sowie Aufzeichnungen führen (z. B. für den Fall, dass Ihr Computer abstürzt).

BEARBEITEN: Dies entspricht in etwa der obigen Piping-Lösung. Die Umleitung der Standardeingabe kann jedoch auch in anderen Fällen hilfreich sein:

grep linux stackoverflow.txt > linuxquestions.txt

oder

cat linuxquestions.txt | grep buffersize > bufferquestions.txt

quelle
Beachten Sie, dass screen(1)das Scrollen im Terminal nicht möglich ist . Dies ist eines der Hauptmerkmale und eines der Hauptnachteile.
Sarnold
@sarnold Es ist möglich , Terminal Scrollen zu ermöglichen, finden Sie superuser.com/a/1336554/116475
Franck Dernoncourt
0

Unter Verwendung eines macOS-Terminals konnte ich die Schieberegler an der Seite nicht verwenden, um den Textverlauf anzuzeigen.

Ich konnte mit dem Cursor in dem Text scrollen mit und nachdem ich getroffen CRTL+ aund dann ESC.

Und ich musste dies hinzufügen ~/.screenrc, um das Scrollen mit der Maus aus dem Fenster heraus zu ermöglichen (immer noch nicht mit den Schiebereglern):

termcapinfo xterm* ti@:te@
Ben
quelle