ncurses测试程序失败并显示消息"错误打开终端:xterm"

时间:2018-05-23 18:54:37

标签: ncurses

(注意:这与this question类似,但那里的答案不适用。)

在FreeBSD下运行,我通过常用的pkg方法为FreeBSD安装了ncurses,但由于我已经看到了以前工作的curses程序的一些奇怪的行为,我决定从官方网站下载一个ncurses源码tarball,在我的主目录下编译它。

编译很顺利,但尝试运行任何包含的测试程序会导致:

 Error opening terminal: xterm.

文档确实说:

  

注意:您必须已安装terminfo数据库,或设置   环境变量$ TERMINFO指向与SVr4兼容的terminfo   数据库在运行测试程序之前。不是所有的供应商和#39; terminfo的   数据库与SVr4兼容,但大多数似乎都是。

所以看起来答案是设置TERMINFO,但是为了什么?我没有在构建目录下看到任何terminfo数据库,但是由于常规的FreeBSD安装,我确实安装了一个文件/usr/local/share/misc/terminfo.db

尽管如此,设置(csh语法)setenv TERMINFO /usr/local/share/misc/terminfo.db(或省略.db扩展名)并没有任何区别。

(注意:这不重要,因为到目前为止我还没有尝试安装本地版本,但是当我运行" configure"时,我使用了:./configure --prefix=$HOME所以它将安装在我的主目录下。

1 个答案:

答案 0 :(得分:1)

默认情况下,ncurses使用(读/写)终端描述的目录树。可选地(并在makefile for the ncurses port中看到),它读取/写入散列数据库文件,以及读取目录树。

ncurses来源中的INSTALL文件详细介绍了 --with-hashed-db 配置选项,您显然忽略了该选项。 term(5)手册页提供了更好的概述。