写在前面
在嵌入式设备调试中,经常会使用console口对设备进行管理。使用vim进行文件编辑时,会发现屏幕回显有问题,例如,行显示不会逐步递增到屏幕底端,列显示时换行错乱。这是tty设置的rows
与cols
与实际的屏幕尺寸不适配。
对于console连接
我们可以使用stty -a
查看stty的所有配置信息,其中第一行包括波特率,终端的大小(以字符为基准)。也可以直接使用stty size
查看终端的大小。
对于常见的远程登录软件,如xshell
和secure CRT
会在软件底端显示出当前终端的大小,我们按照这个数值进行设定即可。之后reset
终端设置。如果显示依然不正常,最大化窗口然后再恢复即可。
对于ssh或telent连接
为什么使用ssh或者telnet连接时不会出现这种终端显示的问题呢,因为ssh当窗口大小发生变化后,会自动的调整stty的数值。可以尝试调整窗口大小,然后stty size
查看终端大小与软件显示的窗口大小进行比较。
写在后面
Linux的TTY子系统其实是一个很复杂的点。其中包括的知识点有行编辑
、进程组
、会话组
、信号控制
、流控制与I/O阻塞
、TTY配置
等。