/ / Como definir explicitamente o tamanho do terminal ao usar pexpect - python, linux, pexpect

Como definir explicitamente o tamanho do terminal ao usar pexpect - python, linux, pexpect

Eu tenho um aplicativo ncurses que verifica o tamanho do terminal na inicialização e sai imediatamente se não se encaixa.

No Linux, o tamanho padrão é 80x24, este aplicativo requer pelo menos 25. A correção é fácil, estou apenas redimensionando a janela de emulação de terminal (no X) antes de executar o aplicativo ncurses.

Eu gostaria de automatizar o aplicativo ncurses compexpect, mas eu estou ficando preso porque considera o tamanho do terminal menor do que o necessário quando lançado através do pexpect, por isso não é executado. Qualquer maneira de especificar o tamanho do terminal com pexpect explicitamente na inicialização?

Respostas:

5 para resposta № 1

Tente definir as variáveis ​​de ambiente LINES e COLUMNS antes de usar o pexpect.

A Pexpect transmitirá o ambiente para a subtarefa, e alguns programas de curses (todas?) Lerão essas variáveis ​​de ambiente antes de iniciar.

por exemplo

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

4 para resposta № 2

Você também pode usar :

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