Gibt es eine Möglichkeit, das, was auf dem Display gedruckt wird, mit dem Gnu-Bildschirm zu speichern?

9

Ich möchte alles, was ich tue, in der Befehlszeile speichern, zum Beispiel, wenn ich etwas aktualisiere und zurücklesen möchte, wie das Upgrade verlaufen ist usw.

Normalerweise können Sie mit Mac OSX und Terminal so viel zurückblättern, wie Sie möchten, und mit Cmd-S speichern. Aber wenn ich mit Gnu-Bildschirm auf SSH bin, kann ich nicht direkt vom Terminal zurückblättern.

Wie kann ich alles, was in einer Bildschirmsitzung passiert, auf der Festplatte speichern? Möglicherweise standardmäßig (jede Sitzung erstellt automatisch eine Datei auf der Festplatte ...)

Vielen Dank!

luca
quelle

Antworten:

7

Es gibt eine Anmeldefunktion screen. Starten Sie es , wenn Sie beginnen , screenindem Sie screen -L(oder aus screen). Oder auch von innen screen, könnten Sie drücken Ctrl- a : H.

Wenn Sie sich standardmäßig anmelden möchten, fügen Sie Ihrer ~/.screenrcDatei die folgende Zeile hinzu :

deflog on

Möglicherweise möchten Sie den Dateinamen wie folgt festlegen:

logfile /tmp/screenlog.%n
Bis auf weiteres angehalten.
quelle
1
Man sollte es vielleicht nicht auf / tmp speichern, da es normalerweise beim Neustart gereinigt wird (z. B. wegen Stromausfall).
Maxelost
@maxelost: Das ist etwas zu beachten. Es war jedoch nur ein Beispiel. Es ging darum, ein absolutes Verzeichnis einzuschließen, da das Standardverhalten darin besteht, die Protokolldatei im aktuellen Verzeichnis zu erstellen. Außerdem screenüberleben Sitzungen (auch getrennte Sitzungen) den Neustart nicht.
Bis auf weiteres angehalten.
2

Option 1: Sehen Sie sich den Skriptbefehl an. "Mann Skript"

"Script erstellt ein Typoskript von allem, was auf Ihrem Terminal gedruckt ist. Es ist nützlich für Schüler, die eine Hardcopy-Aufzeichnung einer interaktiven Sitzung als Nachweis einer Aufgabe benötigen, da die Typoskriptdatei später mit lpr ausgedruckt werden kann."

Geben Sie im Grunde "script" (keine Anführungszeichen) ein - erledigen Sie Ihre Arbeit und geben Sie exit einmal ein, um die Sitzung zu beenden.

Option 2: Verwenden Sie den "Hardcopy" -Modus des Bildschirms. 'Crtl-a' dann 'h' Dies speichert die aktuelle Sitzung in einer Datei.

Hinweis: Der GNU-Bildschirm kann scrollen. Verwenden Sie 'crtl-]' (rechte eckige Klammer), um in den Kopiermodus zu wechseln, und dann 'Strg-B' und 'Strg-F', um p jeweils eine Seite nach unten und unten zu verschieben.

Sirex
quelle
1

Sie sollten die 'log'-Operation verwenden, die normalerweise an gebunden ist Ctrl-a H. Dies öffnet eine neue Datei namens screenlog. N wobei N die Fensternummer ist. Wenn die Datei vorhanden ist, wird die Ausgabe an die Datei angehängt. Alle Ausgaben in diesem Fenster werden im Screenlog protokolliert. N Datei, bis Sie durch erneutes Drücken deaktivieren Ctrl-a H. Sie können diese Funktionalität auch mit erhalten Ctrl-a :log. Sie können den Namen mit dem logfile {filename}Befehl ändern . Die Datei wird in dem Verzeichnis abgelegt, in dem der Bildschirm zum ersten Mal gestartet wurde. Dies kann jedoch mit dem Befehl logfile oder mit geändert werden chdir [{directory}].

Beachten Sie, dass dies nicht mit Hardcopy oder dem Bildlaufpuffer identisch ist. Dies ist die gleiche Funktionalität wie das Programm script (1), jedoch an ein einzelnes Fenster gebunden und ohne ein neues Programm aufzurufen.

Wenn Sie den gesamten Inhalt des Ctrl-a ] g <space> G <space> Ctrl-a :writebuf Bildlaufpuffers speichern möchten, verwenden Sie Dies speichert den Bildlaufpuffer in der Datei / tmp / screen-exchange. Wenn Sie nur einen Teil speichern möchten, ändern Sie 'g' und 'G' in andere Bewegungstasten.

Arcege
quelle