Мы хотели бы сохранить вывод программы, запущенной на консоли 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, а не в системной памяти.