How to save scrollback history in byobu?
Or, you can simply use Byobu's hotkey for this:
- Shift-F7
That will take your history and put it into $BYOBU_RUN_DIR/printscreen
.
An old question still not workably answered for earlier byobu versions, and I hit the need again.
This time I found a workable solution. From 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-].
- I hit F7 to enter scrollback mode,
- Space to start selecting,
- gg to scroll to the top of the buffer (thanks @GeorgeMarian)
- If that doesn't work, try this: either with lots of Page up or : followed by the largest line number (indicated top right) and Page up to get to the top of that page,
- Enter to copy (to byobu's clipboard, not a terminal/system one),
- then
cat > my-byobu-dump.txt
in the terminal, - Alt+Insert or ctrl+A,] to paste (again, from byobu's clipboard)
- Ctrl+D to close the file.
Shift + F7 only works as expected if you have the EDITOR environment variable set to an editor within byobu. For some reason, in some cases (e.g. for me when connecting through SSH to another computer), setting this variable in ~/.profile
is not enough. One place to set it so that byobu always reads it is in ~/.bashrc
. Copy something like the following to your ~/.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:
# https://askubuntu.com/questions/382750/how-to-save-scrollback-history-in-byobu
export EDITOR='vim'