Wie speichere ich einen Scrollback-Verlauf in Byobu?


23

Ich hatte eine interessante Terminalsitzung in Byobu und möchte die Terminalausgabe (Befehle und alles) in einer Datei speichern. Wie kann ich das tun?

Laut der byobu-Manpage :

Strg-a ~ - Speichert den Scrollback-Puffer des aktuellen Fensters

Das mag zwar etwas bewirken, aber ich habe keinen Hinweis darauf gefunden, wo und unter welchem ​​Namen es gespeichert werden könnte.

Antworten:


21

Oder verwenden Sie einfach den Hotkey von Byobu:

  • Shift-F7

Das nimmt Ihre Geschichte und legt sie in Ihrem Lieblingseditor ab. Speichern Sie nun diesen Puffer in einer Datei. Wenn Sie in vi oder vim sind, können Sie verwenden:wq /tmp/out


sift-F7 scheint nichts zu tun und der byobu-Hilfebildschirm erwähnt es auch nicht - ich verwende byobu 5.17 mit tmux 1.6 in Ubuntu.
Drevicko

Das ist großartig, hat mir viel Zeit gespart!
Ctrl-C

1
Ich verwende Byobu 5.74 und diese Option erscheint für mich auf dem Hilfebildschirm und funktioniert wie beschrieben. Es würde mich wundern, wenn dies nicht der Fall wäre, da Dustin der Schöpfer von Byobu ist. :) Erwähnenswert ist, dass die Ausgabe unter $BYOBU_RUN_DIR/printscreen(wie im Hilfebildschirm angegeben) gespeichert wird .
Chuim

2
Für mich wurde gespeichert /dev/shm/byobu-serg-ucvwj2rJ/printscreen, wo serg offensichtlich mein Benutzername ist
Sergiy Kolodyazhnyy

1
Ich weiß, das ist eine alte Antwort. Trotzdem habe ich das gleiche Problem: Die Umschalttaste F7 scheint nichts zu tun (obwohl die Verknüpfung im Hilfemenü vorhanden ist). Ich verwende es auf einem Ubuntu-16.04-Host mit Byobu Version 5.106 & tmux 2.1.
Marc

19

Eine alte Frage ist immer noch nicht funktionstüchtig beantwortet, und ich bin erneut auf das Bedürfnis gestoßen.

Dieses Mal fand ich eine praktikable Lösung. Von man byobu:

SCROLLBACK, COPY, PASTE MODES

   Each  window  in  Byobu  has  up to 10,000 lines of scrollback history,
   which you can enter and navigate using the alt-pgup and alt-pgdn  keys.
   Exit  this  scrollback mode by hitting enter.  You can also easily copy
   and paste text from scrollback mode.  To do so, enter scrollback  using
   alt-pgup  or  alt-pgdn,  press the spacebar to start highlighting text,
   use up/down/left/right/pgup/pgdn to select the text, and press enter to
   copy  the  text.  You can then paste the text using alt-insert or ctrl-
   a-].
  1. Ich drücke, F7um in den Scrollback-Modus zu gelangen.
  2. Space um mit der Auswahl zu beginnen,
  3. gg zum Anfang des Puffers scrollen (danke @GeorgeMarian)
    • Wenn das nicht funktioniert, versuchen Sie Folgendes: Entweder mit viel Page upoder :gefolgt von der größten Zeilennummer (oben rechts angegeben) und Page upum an den Anfang dieser Seite zu gelangen.
  4. Enter Kopieren (in die Zwischenablage von byobu, nicht in ein Terminal / System),
  5. dann cat > my-byobu-dump.txtim terminal,
  6. Alt+ Insertoder ctrl+ A+ ]zum Einfügen (wieder aus Byobus Zwischenablage)
  7. Ctrl+ Dum die Datei zu schließen.

Dies war die einzige Antwort, die für mich gut funktionierte.
pjvandehaar

1
Für Schritt 3, wenn Sie ganz nach oben wollen gg(genau wie bei vim).
George Marian

@GeorgeMarian Weißt du, ob das aus einem Vim-Emulationsmodus stammt? Werden die Leute andere Verhaltensweisen finden? Scheint das Standardverhalten (zumindest mit Byobu 5.17 über TMUX 1.6)
Drevicko

Es gibt keinen Vim-Emulationsmodus in Byobu, den ich kenne. Es gibt vi-artige Bewegungsbefehle im Scrollback-Modus und vielleicht woanders. Ich habe sie gerade ausprobiert, seit - na ja - Linux. (Ich habe in lessletzter Zeit viel benutzt, gesucht und mich bewegt.)
George Marian

okay. könnte es von der zugrunde liegenden Multiplex-Technologie kommen (screen oder tmux)? Wie auch immer, ich habe Ihren Vorschlag hinzugefügt. Vielen Dank :)
drevicko

3

Umschalt + F7 funktioniert nur dann wie erwartet, wenn Sie die Umgebungsvariable EDITOR in byobu auf einen Editor gesetzt haben . In einigen Fällen (z. B. bei einer Verbindung über SSH mit einem anderen Computer) reicht es aus irgendeinem Grund ~/.profilenicht aus , diese Variable einzurichten. Ein Ort, an dem es so eingestellt werden kann, dass byobu es immer liest, ist in ~/.bashrc. Kopieren Sie etwas wie das Folgende in Ihr ~/.bashrc:

# Although this is set in ~/.profile, it is set here as well so that in a 
# remote byobu session, Shift+F7 copies the output to a Vim buffer. See:
# /ubuntu/382750/how-to-save-scrollback-history-in-byobu
export EDITOR='vim'

In meinem Fall hat das nicht geholfen (eigentlich habe ich EDITOR auf .bashrc eingestellt). Soweit ich das beurteilen kann, gibt mein Terminal-Emulator (osx default Terminal program) die Funktionstasten nicht korrekt weiter - wahrscheinlich lösbar in den Terminal-Einstellungen, aber die Strg-A-Lösungen funktionieren für mich in Ordnung.
Drevicko

1
@ drevicko ah ich sehe, gut zu wissen. Gut, dass wir mehrere Problemumgehungen sammeln, damit hoffentlich eine davon für die nächste Person funktioniert, die auf dieses Problem stößt.
Scottkosty


2

Wenn Sie es gewohnt sind, die F-Tasten nicht zu verwenden, funktioniert dies möglicherweise für Sie:

  • Ctrl+ a, [: Geben Sie den Scrollmodus
  • Space Kopiermodus aufrufen (optional)
  • Enter Beenden Sie den Scrollback- oder Kopiermodus
  • Ctrl+ a, ]: Einfügen , was kopiert wurde

Auch wenn Ihr Terminal-Programm die F-Tasten abfängt;)
drevicko

1

Verwenden Sie Ctrl+ A+, ~um den Scrollback-Puffer in die Byobu-Zwischenablage zu kopieren.

Fügen Sie den Text mit Alt+ insert oder Ctrl+ A+ in einen Editor ein ].

(Passen Sie Ctrl+ an, Awenn Sie Ihre Escape-Taste geändert haben.)


Ich habe im Moment nur einen Mac, von dem aus ich arbeiten kann, und Strg-a ~ dann Strg-a] tun nichts - ich vermute, Strg-a schafft es nicht bis Byobu (das sich am anderen Ende von A befindet) SSH Tunnel) .. Irgendwelche Ideen?
Drevicko

0

Wählen Sie den zu speichernden Text aus und drücken Sie Control+ Shift + C Weiter, um Ihren bevorzugten Texteditor zu öffnen. Fügen Sie dann den Inhalt hier mit Control+ ein V . Speichern Sie die Datei schließlich am gewünschten Ort.

TERMINAL-TIPP DES TAGES: Wenn Sie versuchen, etwas im Terminal zu kopieren, verwenden Sie wie gewohnt Control+ Shift + Canstelle von Control+ Cund fügen Sie es wie gewohnt ein. Für das Einfügen etwas , das in der Zwischenablage in das Terminal verwendet wird Control+ Shift + V.


Es ist nur ein einfaches Kopier-Einfüge-Schema, das Zeit zum Kopieren und Einfügen verschwendet. drevicko will es über das terminal machen oder speichert es automatisch irgendwo ab.
Sukupa91

Hat er nicht gesagt, ich möchte alles in einer Datei speichern? So macht er es.
Cammy_the_block

1
Nein, ich glaube, Sie würden nur auf den Bildschirm kommen - nicht die gesamte (vielleicht 10000 Zeilen) Byobu-Scrollback-Historie ... Beachten Sie, dass Byobu eine Terminal-Historie speichert, die unabhängig von der von Ihnen verwendeten Terminal-App ist.
Drevicko

Wenn Sie die Maus über das Fenster halten, wird ein Bildlauf nach oben ausgeführt, sodass Sie das gesamte Objekt hervorheben können.
Cammy_the_block

2
@Cammy_the_block Sie vermissen das "Byobu" -Bit, schauen Sie nach (eine sehr praktische Sache, wenn Sie auf Remote-Servern arbeiten). Es speichert Terminalsitzungen, von denen Sie die Verbindung trennen und später wieder herstellen können. Ich habe 10.000 Zeilen Terminalverlauf, auf die die lokale Terminalanwendung NICHT zugreifen kann. Byobu (und das Backend, das es verwendet: tmux oder screen) haben ihre eigenen Tastaturbefehle, um auf diesen Verlauf zuzugreifen.
Drevicko

0

Ctrl+ A+ ]Funktioniert , wenn Sie von 1 bis 20 mal oder mehr mit abracodabra eingeben. Der einzige Befehl funktioniert jedoch ohne Kopfschmerzen. Zum Einfügen von Text aus dem Puffer in das Terminal oder in die Datei. Und der Gewinner ist Alt+ Ins. Sag Hallo zu Byobu ist die GPLv3-Software, die von Dustin Kirkland entwickelt und gewartet wurde.


0

Wenn Sie den Verlauf speichern müssen, verwenden Sie Shift + F7shorcut. Wie @ Dustin-Kirkland sagt.

Wenn Sie es vorziehen, in Ihrem Terminal nach oben und unten zu scrollen, hängt es davon ab, ob Sie tmux oder screen verwenden. Beispiele:

  1. Bildschirm:

  2. Tmux:

    • ALT + PageUp: Sie scrollen nach oben.
    • ALT + PageDown: Sie scrollen nach unten.

Byobu F1-Hilfe

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.