我是Linux和虚拟终端以及诅咒的新手,所以如果这个描述不清楚,请原谅我.我正在尝试在Fedora 12上使用Curses将状态信息输出到虚拟终端(你知道通过按ctrl-alt-Fx可以获得的终端之一).当我在其中一个虚拟终端($ TERM = linux)上启动我的应用程序时,这些框的行显示为字符'j','q','k'....(以及其他几个字符) ).然而,当我在一个终端窗口($ TERM = xterm)中启动它时,一切都显示应该.有人可以向我解释我需要做什么才能让VT输出显示为xterm吗?我是否可以在程序中设置终端设置以使输出正确?任何帮助将不胜感激.
这是 ncurses 常见问题解答:画线字符显示为 x\'s 和 q\'s:
\n\n\nx 和 q 对应于一个表(来自 terminfo/termcap),该表告诉 ncurses 如何将 \xe2\x80\x9calternate\xe2\x80\x9d 字符集映射到终端的图形集人物。该表的参考来自 vt100。如果出现未映射的字符,则终端仿真器无法识别 terminfo 描述中给出的用于在正常字体和备用字体之间切换的转义序列。
\n
\n...\n
\n- 使用不同的转义序列或不同的范围来映射结果字符的终端模拟器。例如所谓的 vt100 兼容产品,如 Linux 控制台和 Tera Term。
\n- 区域设置敏感的终端模拟器。同样,Linux 控制台在 UTF-8 模式下运行时也是一个问题区域,因为忽略处理字体的转义序列会进一步削弱其名义上的 vt100 兼容性。screen实用程序也有同样的问题;是为了实现简单还是复制Linux控制台。当语言环境为 UTF-8 风格时,它会忽略 vt100 风格的字体切换。
\n
但对于 Linux 控制台来说,考虑到 2011 年对终端数据库所做的改进,它基本上已经过时了:
\n\n\n\n\n
\n- 添加 xterm-utf8 条目作为 U8 功能 -TD 的演示
\n- 添加 U8 功能来表示处理 UTF-8 编码 -TD 时不支持 VT100 SI/SO 的终端仿真器的条目
\n- 通过添加对扩展 terminfo 功能 U8 的检查来改进 NCURSES_NO_UTF8_ACS 功能(由邮件列表提示\n讨论提示)。
\n
尽管该更改是从 2011 年 2 月开始的(OP 提出问题前六个月),但 Fedora 12 提供了2009 年 8 月打包的ncurses 5.7开发版本(2009/02/09 与 2008/11/2)。
\n| 归档时间: |
|
| 查看次数: |
964 次 |
| 最近记录: |