/ / Cómo establecer explícitamente el tamaño del terminal cuando se usa pexpect - python, linux, pexpect

Cómo establecer explícitamente el tamaño del terminal cuando se usa pexpect - python, linux, pexpect

Tengo una aplicación ncurses que comprueba el tamaño del terminal al inicio y se cierra inmediatamente si no encaja.

En Linux, el tamaño predeterminado es 80x24, esta aplicación requiere al menos 25. La solución es fácil, simplemente estoy cambiando el tamaño de la ventana de emulación de terminal (en X) antes de ejecutar la aplicación ncurses.

Me gustaría automatizar la aplicación ncurses conpexpect, pero me estoy atascando porque considera que el tamaño del terminal es más pequeño que el requerido cuando se lanza a través de pexpect, por lo que no se ejecuta. ¿Alguna forma de especificar el tamaño del terminal con pexpect explícitamente en el inicio?

Respuestas

5 para la respuesta № 1

Intente configurar las variables de entorno LÍNEAS y COLUMNAS antes de usar pexpect.

Pexpect pasará el entorno a la subtarea, y algunos (¿todos?) Programas de curses leen estas variables de entorno antes de comenzar.

p.ej

import os
os.environ["LINES"] = "25"
os.environ["COLUMNS"] = "80"
# run pexpect stuff as before

4 para la respuesta № 2

También puedes usar :

import pexpect
child = pexpect.spawn(cmd)
child.setwinsize(400,400)