Назад | Перейти на главную страницу

Сброс буфера прокрутки консоли Linux?

Мы хотели бы сохранить вывод программы, запущенной на консоли Linux, которая занимает много строк. К сожалению, он не был зарегистрирован или запущен под экраном или каким-либо другим способом, который позволяет нам легко записывать вывод. Лучший метод, который мы смогли придумать, это:

Log into the machine via a separate SSH session
In the console session, page to the top of the buffer
Repeat:
  In the SSH session, run "cat /dev/vcs >> screendump.txt"
  In the console session, page down one screen
Dump the final screen in the SSH session

Есть ли способ лучше? Похоже, если бы VC-память была непрерывной и ты знал, где это можно было использовать dd для извлечения текста консоли прямо из памяти ядра в файл.

Setterm может сбрасывать содержимое виртуальной консоли Linux:

setterm -file log.txt -dump [ttynumbers]

Однако у него нет доступа к буферу обратной прокрутки, только к тому, что отображается в данный момент.

Если только VGACON_SOFT_SCROLLBACK установлен в "Y", буфер прокрутки находится в памяти VGA, а не в системной памяти.