像resize
这样的程序询问终端的大小。最终,他们会发送一些(ANSI)转义序列到stdout,并期望终端对它们自己返回一些字节作出反应。如何“手动”让我的终端返回其(字符)大小?
机制的作用与此交互式Python代码片段可见:
>>> print('\x1b[21;t')
Gnome终端将明显插入相关标准输入窗口标题的东西。
哪个脚本片段会激起终端写它的大小(以字符)?如果尺寸返回不可见,则应该进行一些简单的转换以查看某些内容。 Shell,Python,Perl,任何语言都可以。由于这将是终端特定的,所以任何普通的终端仿真器都可以(例如xterm,gnome-terminal,terminator,...)。
澄清:我不关心它告诉我大小的程序。我知道TIOCGWINSZ,它不能通过串行线路工作。我想看看使用转义序列的代码,它实际上可以在串行线上工作。
的'stty'程序报告列和行数,你可以看看GNU源的http://代码.metager.de /源极/外部参照/ GNU /的coreutils/SRC/stty.c#get_win_size。它使用'ioctl'。 – cdarke
所以你对[os.get_terminal_size]不感兴趣(https://docs.python.org/3/library/os.html#os.get_terminal_size)? –
可能重复[如何确定ANSI终端的大小?](http://stackoverflow.com/questions/35688348/how-do-i-determine-size-of-ansi-terminal) –