ncurses 测试程序失败并出现消息"Error opening terminal: xterm"



(注意:这类似于这个问题,但答案不适用。

在 FreeBSD 下运行, 我通过 FreeBSD 的常用 pkg 方法安装了 ncurses, 但是因为我在以前工作的 curses 程序中看到了一些奇怪的行为, 我决定从官方网站下载一个 ncurses 源代码压缩包,并在我的主目录下编译它。

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

Error opening terminal: xterm.

文档确实说:

注意:您必须已安装术语信息数据库,或设置 环境变量$TERMINFO指向与 SVr4 兼容的术语信息 数据库,然后再运行测试程序。并非所有供应商的术语信息 数据库与SVr4兼容,但大多数似乎都是。

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

然而,设置(csh 语法(setenv TERMINFO /usr/local/share/misc/terminfo.db(或同样省略.db扩展名(没有任何区别。

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

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

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

相关内容

最新更新