Comment définir explicitement la taille du terminal lors de l'utilisation pexpect

StackOverflow https://stackoverflow.com/questions/1516025

  •  19-09-2019
  •  | 
  •  

Question

J'ai une application ncurses qui vérifie la taille du terminal au démarrage et sort immédiatement si elle ne correspond pas.

Dans Linux, la taille par défaut est 80x24, cette application nécessite au moins 25. La solution est facile, je redimensionner juste la fenêtre d'émulation de terminal (X) avant d'exécuter l'application ncurses.

Je voudrais automatiser l'application ncurses avec pexpect, mais je suis coincé parce qu'il considère la taille du terminal plus petit que nécessaire lors de son lancement par pexpect, il ne fonctionne pas. Une manière de spécifier la taille du terminal avec pexpect explicitement au démarrage?

Était-ce utile?

La solution

Essayez de définir les variables d'environnement et COLONNES LIGNES avant d'utiliser pexpect.

pexpect passera sur l'environnement à la sous-tâche, et certains (tous?) Malédictions programmes lire ces variables d'environnement avant de commencer.

par exemple

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

Autres conseils

Vous pouvez également utiliser:

import pexpect
child = pexpect.spawn(cmd)
child.setwinsize(400,400)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top