ncurses 测试程序失败,并显示消息“打开终端时出错:xterm”

问题描述 投票:0回答:1

(注:这与这个问题类似,但那里的答案不适用。)

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

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

 Error opening terminal: xterm.

文档确实说:

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

所以看起来答案是设置 TERMINFO,但是设置什么呢?我在构建目录本身下没有看到任何 terminfo 数据库,但我确实有一个文件

/usr/local/share/misc/terminfo.db
作为常规 FreeBSD 安装的结果而安装。

尽管如此,设置(csh 语法)

setenv TERMINFO /usr/local/share/misc/terminfo.db
(或省略
.db
扩展名)并没有任何区别。

(注意:这应该不重要,因为到目前为止我还没有尝试安装本地构建,但是当我运行“配置”时,我使用了:

./configure --prefix=$HOME
,以便它将安装在我的主目录下。

ncurses terminfo
1个回答
2
投票

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

ncurses 源代码中的

INSTALL 文件详细介绍了 --with-hashed-db

 配置选项,您显然忽略了这一点。 term(5) 手册页提供了更好的概述。
    

© www.soinside.com 2019 - 2024. All rights reserved.