我们都知道调整大小已得到公认并得到广泛支持,但是每个终端功能都可以更改吗?还是可以切换终端本身?
不。
终端驱动程序将unix信号发送SIGWINCH
到进程支持调整大小。这代表WINdow大小更改。可以从终端设备读取新的大小。
如果查看Unix信号列表,则没有其他此类信号可用于终端功能。
大多数终端功能是由环境变量确定的TERM
。由于它是环境变量,TERM
因此不会被其他进程或内核更改...内核不会尝试找出连接到串行线路的终端。它也不试图找出终端的大小。传统串行线路上未实现该功能。
串行线路的设计没有自动发现协议。编辑:绝对有可能拔出终端并插入另一端。用户将必须TERM
手动更新其(以及终端大小stty rows 24 cols 80
)。外壳程序或任何其他应用程序将不会自动检测到此情况。
AIUI,调整大小功能不在POSIX标准中。相关stty
设置也特别标记man stty
为未标准化。但是,这些功能大概是所有现代系统所共有的-固定字符终端已过时。大多数可移植程序都是用ncurses库或类似程序编写的,因此确切的信号(和读取大小的ioctl)可能会有所不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句