Увеличьте размер буфера обратной прокрутки терминала Linux


16

Я использую серверы CentOS 5.4, установленные на виртуальной машине VMWare без установленного сервера X.Org, поэтому весь доступ осуществляется через командную строку и терминал linux. Я использую Shift-PgUp для просмотра буфера прокрутки, но его размер очень ограничен. Как мне увеличить размер буфера прокрутки?


Ответы:


7

Хм ... не заметил, сколько ему было лет, пока я почти не закончил. Так как эта область нигде не документирована, и я почти закончил печатать ответ, я все равно буду сражаться.

Если вы используете консоль Framebuffer, можно использовать fbcon=scrollback:параметр во время загрузки, чтобы увеличить размер прокрутки. Вы вероятно не используете это все же.

Вместо этого вы, вероятно, проходите через стандартную консоль VGA. Здесь есть еще одна развилка. Если у вас есть ядро, скомпилированное с VGACON_SOFT_SCROLLBACKвключенным параметром, можно увеличить прокрутку модулей ядра VGA, изменив его VGACON_SOFT_SCROLLBACK_SIZE. Но для этого вам придется перекомпилировать ядро. Смотрите предыдущий ответ для примера того, что нужно изменить, и мне нужно собрать собственное ядро, чтобы узнать, как это сделать в CentOS. Я считаю маловероятным, что вы готовы пройти через все это, но если вы уже собираете собственное ядро, это может быть легко для вас.

Если VGACON_SOFT_SCROLLBACKвыключен, у вас нет этой опции. В этом случае прокрутка фактически сохраняется в памяти VGA, что делает его очень ограниченным. Единственное, что вы можете сделать в этом случае, - это уменьшить количество виртуальных терминалов, запускаемых по умолчанию.

Стандартное ядро ​​CentOS построено с такими параметрами:

CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

Таким образом, вы, вероятно, смотрите в CONFIG_VGACON_SOFT_SCROLLBACK_SIZEкачестве основного варианта «перекомпилировать ядро ​​с большим ». Возможно, вы можете вместо этого переключиться на драйвер кадрового буфера.

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


4

Вот статья, в которой говорится об установке размера с помощью параметра загрузки framebuffer.

Цитирую кратко:

Следующий пример относится к GRUB, но может быть легко адаптирован к LILO. В GRUB 'menu.lst' найдите соответствующую строку ядра и:

а. удалить опцию 'vga = xxx', если есть
b. добавьте опцию 'video = vesabf' или что-то еще, подходящее для вашего оборудования
c. опция добавления 'fbcon = scrollback: 128'

Строка ядра будет выглядеть примерно так:

kernel / vmlinuz root = / dev / sdb5 video = radeonfb fbcon = scrollback: 128


1

ИМХО, вам нужно выполнить эту команду:

экран -h 5000

Так что буфер будет из 5000 строк.

Конечно, вы можете указать количество строк в соответствии с вашими потребностями.


Не работает на родном терминале. Попробовал и ничего не изменилось.
japzone

джапзона прав. Это в особенности, если вы запускаете сеанс экрана, который совершенно отличается от просмотра вывода в терминале.
goldenmean
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.