如何增加终端回滚缓冲区大小?

pur*_*ger 18 linux terminal buffer

我正在使用安装在 VMWare 虚拟机中的 CentOS 5.4 服务器,但没有安装 X.Org 服务器,因此所有访问都是通过命令行和 Linux 终端进行的。我使用Shift+Page Up来查看回滚缓冲区,但是它的大小非常有限。

如何增加回滚缓冲区的大小?

Gre*_*ith 8

嗯......直到我快完成时才注意到这有多老。由于这个领域在任何地方都没有得到很好的记录,而且我几乎已经完成了输入答案,无论如何我都会坚持下去。

如果您使用的是 Framebuffer 控制台,则可以fbcon=scrollback:在启动时使用该参数来增加回滚的大小。不过,您可能没有使用它。

相反,您可能会通过标准的 VGA 控制台。这里还有一个岔路口。如果您编译的内核VGACON_SOFT_SCROLLBACK启用了该参数,则可以通过更改VGACON_SOFT_SCROLLBACK_SIZE. 但是你必须重新编译你的内核才能做到这一点。有关要更改的内容的示例,请参阅较早的答案,以及有关如何在 CentOS 上执行此操作的详细信息,我需要构建自定义内核。我认为您不太可能愿意经历所有这些,但如果您已经在构建自定义内核,那么对您来说可能很容易。

如果VGACON_SOFT_SCROLLBACK关闭,则没有此选项。在那种情况下,回滚实际上存储在VGA内存中,这使得它非常有限。在这种情况下你唯一能做的就是减少默认启动的虚拟终端的数量。

标准 CentOS 内核是使用以下选项构建的:

CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
Run Code Online (Sandbox Code Playgroud)

因此,您可能正在将“使用更大的内核重新编译CONFIG_VGACON_SOFT_SCROLLBACK_SIZE”作为主要选项。也许您可以改用帧缓冲驱动程序。

面对这个问题时,我不会修复内核回滚,而是使用 screen 。还可以获得许多其他好处。