2009-10-04 1 views
5

起動時にターミナルサイズを確認し、適合しない場合はすぐに終了するncursesアプリケーションがあります。pexpectを使用するときにターミナルサイズを明示的に設定する方法

Linuxの場合、デフォルトサイズは80x24です。このアプリケーションは25以上必要です。修正は簡単ですが、ncursesアプリケーションを実行する前に端末エミュレーションウィンドウ(X)のサイズを変更しています。

pexpectを使ってncursesアプリケーションを自動化したいのですが、pexpectから起動したときにターミナルサイズが必要以上に小さくなってしまい、動作しません。起動時に明示的にpexpectを指定する方法はありますか?

答えて

5

pexpectを使用する前にLINESおよびCOLUMNS環境変数を設定してみてください。

Pexpectは環境をサブタスクに渡し、一部の(すべて?)cursesプログラムは、起動する前にこれらの環境変数を読み取ります。

例えばあなたが使用することもでき

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

は、それが働いた、ありがとうございます。 –

3

import pexpect 
child = pexpect.spawn(cmd) 
child.setwinsize(400,400) 
関連する問題