一尘不染

使用pexpect时如何显式设置终端大小

linux

我有一个ncurses应用程序,该应用程序在启动时检查终端大小,如果不合适则立即退出。

在Linux中,默认大小为80x24,此应用至少需要25x。修复很容易,我只是在运行ncurses应用之前调整终端仿真窗口的大小(在X中)。

我想使用pexpect使ncurses应用程序自动化,但我陷入困境,因为它认为通过pexpect启动时终端大小小于要求的大小,因此它无法运行。有什么方法在启动时通过pexpect显式指定终端大小?


阅读 297

收藏
2020-06-03

共1个答案

一尘不染

在使用pexpect之前,请尝试设置LINES和COLUMNS环境变量。

Pexpect将环境传递给子任务,并且某些(全部?)curses程序在开始之前会读取这些环境变量。

例如

import os
os.environ['LINES'] = "25"
os.environ['COLUMNS'] = "80"
# run pexpect stuff as before
2020-06-03