我知道存在stty
,它允许设置虚拟控制台中的行数,例如 tty1。然而,这似乎不适用于 gnome-terminal 或 xterm。因此,问题是,无论窗口大小如何,如何限制终端模拟器中的行数?换句话说,如果stty rows 20
在 tty1 中我可以看到输出开始滚动到第 20 行(而不是我的机器上的默认 34 行),我将如何使用终端模拟器实现相同的效果?
答案1
@sebastian 指出这些是相关的,但它们只解决了问题的一部分:
- 更改 gnome 终端和终结器窗口的默认宽度(乌班图)
- 端子尺寸(侏儒)
这里的一些讨论更相关,但仍然没有帮助:
当你stty
这样使用时
stty rows 20
您告诉操作系统您的终端有 20 行。这可能是正确的,但如果不正确,您将会看到意外的行为。和最多终端,如果你有 25真实的并告诉系统您只有 20 条线,应用程序将继续使用剩余的 5 条线。
Linux 在这里很不寻常:您可以使用该命令减少虚拟控制台中显示的行数stty
(这会对虚拟机产生有趣的效果)。 Linux 将控制台初始化为模式它支持给定数量的行和列。该stty
命令告诉控制台 I/O 驱动程序少用它。 (尝试)将大小增加到超出初始化模式限制的类似命令会失败。
第一组链接的共同特征是,某些终端中有一个首选项对话框,可让您选择初始窗口大小。这与 Linux 的初始化(几乎)相同模式对于终端。但:
- 没有提及更改通常窗口大小(在初始限制内)的方法,并且
- 没有提及确保窗口大小限制保持不变的方法。
其他链接甚至不太相关,因为它们主要是关于如何初始化Linux控制台的讨论(一些细节错误......)模式。
回到缺失的部分:
xterm 有一个实用程序
resize
它(对于许多终端)可以更改窗口大小。如果您输入调整大小-s 20 80
然后 xterm(和 gnome-terminal)会将其窗口更改为 20 行(和 80 列)。根据 xterm 的编译方式,您可能必须选择允许窗口操作菜单条目(因为该功能被某些人认为是一个漏洞)。
- 防止手动调整窗口大小更加困难。如果您不这样做,那么当有人(意外)第一次调整窗口大小时,您的 20 行调整大小就会丢失。
许多窗口管理器允许您自定义单个窗口,从而删除调整手柄大小。以下是讨论该主题的一些链接:
用于设置最初的xterm 窗口的大小,您可以使用-geometry
选项或相关geometry
资源。它使用 X Toolkit,其设置在X(7)手册页。该部分为几何规格是继续阅读的好地方。