Как сохранить историю прокрутки в бёбу?

У меня был интересный сеанс терминала в byobu , и я хотел бы сохранить выходные данные терминала (команды и все) в файл - как я могу это сделать?

Согласно справочной странице byobu :

Ctrl-a ~ - Сохранить буфер прокрутки текущего окна

Это действительно может что-то делать, но я не нашел указаний на то, где и под каким именем он может быть сохранен.

22
задан 27 November 2013 в 08:32

9 ответов

1112] На старый вопрос все еще трудно ответить, и я снова столкнулся с необходимостью.

На этот раз я нашел работоспособное решение. Из 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. я нажимаю F7 , чтобы войти в режим прокрутки,
  2. Пробел , чтобы начать выбор,
  3. g g для прокрутки до верхней части буфера (спасибо @GeorgeMarian)
    • Если это не сработает, попробуйте это : либо с большим количеством Page up или : , за которым следует наибольший номер строки (указан справа вверху), и Page up , чтобы добраться до верхней части на этой странице
  4. Enter для копирования (в буфер обмена byobu, а не в терминал / систему),
  5. , затем cat > my-byobu-dump.txt в терминал,
  6. Alt + Вставить или ctrl + A + ] вставить (снова из буфера обмена Бёбу)
  7. Ctrl + D , чтобы закрыть файл.
0
ответ дан 27 November 2013 в 08:32

Shift + F7 работает должным образом только в том случае, если переменная окружения EDITOR установлена ​​в редактор внутри byobu . По некоторым причинам, в некоторых случаях (например, для меня при подключении через SSH к другому компьютеру), установки этой переменной в ~/.profile недостаточно. Единственное место, где его можно установить, чтобы byobu всегда читал его, - в ~/.bashrc. Скопируйте что-то вроде следующего в ваш ~/.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'
0
ответ дан 27 November 2013 в 08:32

Выберите текст, который вы хотите сохранить, затем нажмите Control + Shift + C Далее откройте ваш любимый текстовый редактор. Затем вставьте сюда содержимое, используя Control + V . Наконец сохраните файл в нужном месте.

ТЕРМИНАЛЬНЫЙ СОВЕТ ДНЯ. Когда вы пытаетесь скопировать что-либо в терминале, делайте это как обычно, ожидайте использовать Control + Shift + C Control + C и вставьте как обычно. Для вставки чего-то, находящегося в буфере обмена, в терминал используйте Control + Shift + V .

0
ответ дан 27 November 2013 в 08:32

Используйте Ctrl + A + ~ , чтобы скопировать буфер прокрутки в буфер обмена byobu.

Вставьте текст в редактор, используя Alt + insert или Ctrl + A + ] .

(Настройте Ctrl + A , если вы изменили управляющую клавишу.)

0
ответ дан 27 November 2013 в 08:32
  • 1
    I' m также стоящий перед той же проблемой даже при том, что, выполняя все шаги. – Alan Jameson 10 December 2017 в 16:48

Если вам нужно сохранить историю, используйте ярлык Shift + F7 . Как говорит @ dustin-kirkland .

Если вы предпочитаете прокручивать вверх и вниз в своем терминале, это зависит от того, используете ли вы tmux или screen. Примеры:

  1. Скрин:

    • CTRL + a : если вы используете [ тогда, вы введите в режиме прокрутки, как говорит @ ikar-pohorský .
  2. Tmux:

    • ALT + PageUp : прокрутка вверх.
    • ALT + PageDown : вы прокручиваете страницу вниз.

Byobu F1 help

0
ответ дан 27 November 2013 в 08:32

Или, вы можете просто использовать горячую клавишу Byobu для этого:

  • Shift - F7

возьмет вашу историю и поместит ее в ваш любимый редактор. Теперь просто сохраните этот буфер в файл. Если вы используете vi или vim, вы можете использовать : wq /tmp/out

0
ответ дан 27 November 2013 в 08:32

Ctrl + A + ] будет работать, если вы набираете от 1 до 20 или более раз с абракодабрами. Но единственная команда будет работать без головной боли. Вставить текст из буфера в терминал или файл. И победителем становится Alt + Ins ., Поздоровайтесь с Byobu, это программное обеспечение GPLv3, созданное и поддерживаемое Дастином Кирклендом.

0
ответ дан 27 November 2013 в 08:32

Если вы привыкли не использовать F-клавиши, это может сработать для вас:

  • Ctrl + a , < kbd> [: войти в режим прокрутки
  • Пробел войти в режим копирования (необязательно)
  • Enter выйти из прокрутки) или режим копирования
  • Ctrl + a , ] : вставить то, что было скопировано
0
ответ дан 27 November 2013 в 08:32

Ctrl+a, ? показывает мне, что capture-pane и save-buffer являются ключевыми командами для сохранить прокрутку.

bind-key    -T root   S-F7             capture-pane -S -32768 ; save-buffer /dev/shm/byobu-asari-JG2wDS8x/printscreen ; delete-buffer ; new-window -n PRINTSCREEN " /dev/shm/byobu-asari-JG2wDS8x/printscreen"

Если у вас не работает Shift+F7 (например, когда ваше терминальное программное обеспечение использует события F-клавиши), попробуйте, как подсказывает справка: Ctrl+a, :, capture-pane -S -32768 ; save-buffer /path/to/printscreen и Enter.

1
ответ дан 1 June 2020 в 12:36

Другие вопросы по тегам:

Похожие вопросы: