Linux – Increase linux terminal scrollback buffer size

bufferlinuxterminal

I'm using CentOS 5.4 servers installed in a VMWare virtual machine with no X.Org server installed, so all access is via command line and the linux terminal. I use Shift-PgUp to view the scrollback buffer, but its size is very limited. How do I increase the size of the scrollback buffer?

Best Answer

Hmm...didn't notice how old this was until I was almost finished. Since this area isn't well documented anywhere and I'm almost done typing answer, I'll soldier on anyway.

If you are using the Framebuffer console, it's possible to use the fbcon=scrollback: parameter at boot time to increase the size of the scrollback. You're probably not using that though.

Instead you're likely going through the standard VGA console. There's another fork in the road here. If you have a kernel compiled with the VGACON_SOFT_SCROLLBACK parameter enabled, it's possible to increase the scrollback of the VGA kernel modules, by changing VGACON_SOFT_SCROLLBACK_SIZE. But you'll have to recompile your kernel to do it. See an earlier answer for an example of the things to change, and I Need to Build a Custom Kernel for details of how to do it on CentOS. I consider it unlikely you're willing to go through all that, but if you're already building a custom kernel it may be easy to you.

If VGACON_SOFT_SCROLLBACK is off, you don't have this option. In that case, the scrollback is actually stored in the VGA memory, which makes it very limited. The only thing you can really do in that case is reduce the number of virtual terminals started by default.

The standard CentOS kernel is built with these options:

CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

So you're probably looking at the "recompile the kernel with larger CONFIG_VGACON_SOFT_SCROLLBACK_SIZE" as the main option. Maybe you can switch to the framebuffer driver instead.

When faced with this problem, rather than fix the kernel scrollback I would just use screen instead. Get lots of other benefits too.

Related Question