How to save scrollback history in byobu?

I've had an interesting terminal session in byobu, and I'd like to save the terminal output (commands and all) to a file - how can I do that?

According to the byobu man page:

Ctrl-a ~ - Save the current window's scrollback buffer

This may indeed be doing something, but I've found no indication of where and under what name it might be saved.


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-].
  1. I hit F7 to enter scrollback mode,
  2. Space to start selecting,
  3. 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,
  4. Enter to copy (to byobu's clipboard, not a terminal/system one),
  5. then cat > my-byobu-dump.txt in the terminal,
  6. Alt+Insert or ctrl+A,] to paste (again, from byobu's clipboard)
  7. Ctrl+D to close the file.

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.


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'

If you're used not to use the F-keys then this might work for you:

  • Ctrl+a, [: enter the scrollback mode
  • Space enter the copy mode (optional)
  • Enter exit the scrollback or copy mode
  • Ctrl+a, ]: paste what was copied

Where Ctrl+a is your tmux (default Byobu backend) prefix/escape sequence.


Use Ctrl+A+~ to copy the scrollback buffer to the byobu clipboard.

Paste the text into an editor using Alt+insert or Ctrl+A+].

(Adjust Ctrl+A if you've changed your escape key.)