我正在尝试从 SCons SConstruct 脚本调用 ct-ng ( http://crosstool-ng.org/ ),所以基本上是从 Python 调用。
使用以下方法:
ret = subprocess.call(["/mnt/build/pw_build/crosstool-ng/bin/ct-ng menuconfig"], env=env_cross,shell=True)
crosstool-ng 使用 ncurses 向用户显示菜单:
不幸的是,当我尝试浏览菜单时:
使用我看到的箭头键时使用 cat 显示序列:
:/mnt/build$ cat > /dev/null
^[OA^[OD^[OB^[OC^[OA^[OB^[OD^[OC^[OA^[OB
似乎有些东西可能会从序列中剥离转义字符。
当我从终端的命令行调用 ct-ng 脚本时,它可以正常工作,而当我使用subprocess.call()调用它时,事情就会变糟。
我的环境包括:
- xfce4-终端 0.6.3
- Linux 3.13.0-32-lowlatency #57-Ubuntu SMP PREEMPT Tue Jul 15 04:08:59 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
- Python 2.7.6
- NCURSES_VERSION "5.9"
- GNU Make 3.81
- crosstool-NG 版本 1.19.0
我看到的是已知问题吗?还有什么我应该做的吗?
更新:谢谢埃里克……这让我到达了 0.5 英尺……我现在可以浏览菜单,但它仍然会留下粪便: