tput:未知终端" xterm-256color"

时间:2015-09-26 15:47:59

标签: ncurses terminfo

我正在运行OS X 10.10.5。我试图打开终端时遇到错误:

输入:未知终端" xterm-256color"

这显然是一个缺少的termcap条目。

$ port list ncurses
ncurses                        @6.0            devel/ncurses

任何想法如何安装&ncurses-term'在OS X上?

$ sudo port install ncurses-term
Password:
Error: Port ncurses-term not found

2 个答案:

答案 0 :(得分:2)

问题在于Anaconda包:

https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/XKMFYqM12Vg

早期版本的ncurses软件包似乎存在一些问题,它会干扰terminfo

conda install -c r ncurses 

答案 1 :(得分:0)

尽管Linux上存在膨胀/单片软件包,但ncurses软件包的软件包维护者经常将7Mb的terminfo分成" base"和"术语"块(并将其与库分开)。用于ncurses的MacPorts维护者还没有这样做。终端数据库是"ncurses"包的一部分。例如,我从

看到了这一点
port contents ncurses@6.0_0+universal
下的

/opt/local/share/terminfo/73/screen.xterm-256color

此处还有一个系统(非端口)副本:

/usr/share/terminfo/78/xterm-256color

与ncurses链接的应用程序通常会使用其中一种,具体取决于它们是与端口库还是系统库链接。但是,可以通过设置TERMINFO变量告诉ncurses查看其他位置。如果您碰巧已将其他计算机中的某些自定义内容复制到.bashrc,则可能已设置TERMINFO

tput本身并不知道它在哪里寻找终端条目。您可以查看env的输出,看看是否设置了TERMINFOinfocmp实用程序可以使用-D选项显示其外观(自late 2011起),例如,

$ infocmp -D
/usr/local/ncurses/share/terminfo
/usr/share/terminfo
/opt/local/share/terminfo

顺便说一句,OSX不会(禁止某些专用端口)使用 termcap 。它使用 terminfo ,作为某些给定版本的ncurses的一部分(参见例如tgetent的手册页)。