STTY:如何将行/列设置为其支持的最大值?

STTY:如何将行/列设置为其支持的最大值?

我想要 83(列)x40(行)大小的我的电传打字员, 所以:

xubuntu@xubuntu:~$ stty size
30 90
xubuntu@xubuntu:~$ stty cols 83 rows 40
stty: standard input: Invalid argument
xubuntu@xubuntu:~$ stty size
30 83

从我的示例中可以看出,我的计算机不支持 cols=40。
所以我必须尝试:

xubuntu@xubuntu:~$ stty rows 39
stty: standard input: Invalid argument
xubuntu@xubuntu:~$ stty rows 38
stty: standard input: Invalid argument
xubuntu@xubuntu:~$ stty rows 37
stty: standard input: Invalid argument
xubuntu@xubuntu:~$ stty rows 36
xubuntu@xubuntu:~$

...直到我成功。

有没有办法直接将 stty 设置为其最大值?也许是这样的:

xubuntu@xubuntu:~$ stty rows max

答案1

stty是这项工作的错误工具。您需要setupcon,它可以让您选择要在帧缓冲区控制台上显示的图形字体大小。字体大小与显示器的分辨率相结合,决定了您可以看到的行数和列数。 stty用于告诉远程内核您正在通过串行终端访问的终端显示的实际大小是多少。

答案2

请参阅这篇文章中的我的函数,了解使用终端代码的解决方案:https://unix.stackexchange.com/a/283206

答案3

正如我在中指出的设置 gnome-terminal 或其他模拟器的行数:

Linux 在这里很不寻常:您可以使用 stty 命令减少虚拟控制台中显示的行数(这对虚拟机产生有趣的效果)。 Linux 将控制台初始化为支持给定行数和列数的模式。该stty命令告诉控制台 I/O 驱动程序少用它。 (尝试)将大小增加到超出初始化模式限制的类似命令会失败。

答案4

我不知道最大值,但尝试:

# stty 列 83 行 40

我自己实际上使用的是 160 x 55,效果非常好

相关内容