虚拟终端中的Ncurses程序
为了继续理解伪终端是如何工作的,我编写了一个小程序来运行bash 问题是,我的断线好像断了。(仅当我按enter键后,才会出现外壳提示。) 此外,我仍然不能正确地使用ncurses程序,比如vi。有人能告诉我如何为此设置伪终端吗 。操作系统是GNU/Linux,谢谢 编辑:像这样编译:gcc program.c-lutil-o program虚拟终端中的Ncurses程序,c,linux,C,Linux,为了继续理解伪终端是如何工作的,我编写了一个小程序来运行bash 问题是,我的断线好像断了。(仅当我按enter键后,才会出现外壳提示。) 此外,我仍然不能正确地使用ncurses程序,比如vi。有人能告诉我如何为此设置伪终端吗 。操作系统是GNU/Linux,谢谢 编辑:像这样编译:gcc program.c-lutil-o program 再次编辑:看起来奇怪间距的问题是由于使用printf()造成的,但仍然无法解决ncurses程序的问题。您的程序中存在多个问题。有些相对容易修复,有些则不
再次编辑:看起来奇怪间距的问题是由于使用printf()造成的,但仍然无法解决ncurses程序的问题。您的程序中存在多个问题。有些相对容易修复,有些则不那么容易:
vim
)时- 终端(或其驱动程序)是无状态的:不是。时期我怀疑至少有两个有状态控件是基于ncurses的程序无法正常工作的原因:和终端的。至少这些必须在父/主终端和从终端之间匹配,以避免各种奇怪的伪影
- 终端的控制接口可以通过来回传递字节来传递:情况并非总是如此。现代虚拟终端允许通过调用进行一定程度的带外控制,如Linux所述
你可能想看看哪个似乎很好用。它来自这本书,完整的源代码是。免责声明:我没有读过这本书,也没有推广这本书-我只是在谷歌上找到了这个程序。如果你还没有,注册一个免费的github/bitbucket帐户,可能会重复。将源代码保存在存储库中,并获得免费共享、差异、历史记录等。TLPI由Michael Kerrisk编写,他在维护Linux手册页方面做得非常出色。