У меня был интересный сеанс терминала в byobu , и я хотел бы сохранить выходные данные терминала (команды и все) в файл - как я могу это сделать?
Согласно справочной странице byobu :
Ctrl-a ~ - Сохранить буфер прокрутки текущего окна
Это действительно может что-то делать, но я не нашел указаний на то, где и под каким именем он может быть сохранен.
На этот раз я нашел работоспособное решение. Из 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-].
cat > my-byobu-dump.txt
в терминал, 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'
Выберите текст, который вы хотите сохранить, затем нажмите Control kbd> + Shift kbd> + C kbd> Далее откройте ваш любимый текстовый редактор. Затем вставьте сюда содержимое, используя Control kbd> + V kbd>. Наконец сохраните файл в нужном месте.
ТЕРМИНАЛЬНЫЙ СОВЕТ ДНЯ. Когда вы пытаетесь скопировать что-либо в терминале, делайте это как обычно, ожидайте использовать Control kbd> + Shift kbd> + C kbd> Control kbd> + C kbd> и вставьте как обычно. Для вставки чего-то, находящегося в буфере обмена, в терминал используйте Control kbd> + Shift kbd> + V kbd>.
Используйте Ctrl kbd> + A kbd> + ~ kbd>, чтобы скопировать буфер прокрутки в буфер обмена byobu.
Вставьте текст в редактор, используя Alt kbd> + insert kbd> или Ctrl kbd> + A kbd> + ] KBD>.
(Настройте Ctrl kbd> + A kbd>, если вы изменили управляющую клавишу.)
Если вам нужно сохранить историю, используйте ярлык Shift + F7 kbd>. Как говорит @ dustin-kirkland .
Если вы предпочитаете прокручивать вверх и вниз в своем терминале, это зависит от того, используете ли вы tmux или screen. Примеры:
Скрин:
Tmux:
Или, вы можете просто использовать горячую клавишу Byobu для этого:
возьмет вашу историю и поместит ее в ваш любимый редактор. Теперь просто сохраните этот буфер в файл. Если вы используете vi или vim, вы можете использовать : wq kbd> /tmp/out
Ctrl kbd> + A kbd> + ] kbd> будет работать, если вы набираете от 1 до 20 или более раз с абракодабрами. Но единственная команда будет работать без головной боли. Вставить текст из буфера в терминал или файл. И победителем становится Alt kbd> + Ins kbd>., Поздоровайтесь с Byobu, это программное обеспечение GPLv3, созданное и поддерживаемое Дастином Кирклендом.
Если вы привыкли не использовать F-клавиши, это может сработать для вас:
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.