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

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

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

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

答案1

嗯...直到我快写完了才注意到这有多老了。由于这个领域没有很好的记录,而且我几乎已经打完了答案,所以我还是会继续努力。

如果您使用的是 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”视为主要选项。也许您可以改用帧缓冲区驱动程序。

遇到此问题时,我不会修复内核回滚,而是使用屏幕。还能获得许多其他好处。

答案2

这是一篇文章讨论使用帧缓冲区启动参数设置大小。

简要引用:

以下示例指的是 GRUB,但可以轻松适应 LILO。在 GRUB 的“menu.lst”中,找到适当的内核行,然后:

a. 删除选项“vga=xxx”(如果存在)
b. 附加选项“video=vesabf”或任何适合您硬件的选项
c. 附加选项“fbcon=scrollback:128”

内核行将如下所示;

内核/vmlinuz root=/dev/sdb5 视频=radeonfb fbcon=scrollback:128

答案3

如果您已在 Konsole 中启动了 shell 会话,请执行以下操作:

Konsole > 设置 > 编辑当前配置文件 > 滚动 > 向后滚动

您可以暂时增加回滚中的行数。

答案4

恕我直言,您需要执行此命令:

屏幕-h 5000

这样缓冲区就有 5000 行。

当然,您可以根据需要指定行数。

相关内容