2

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

tput:未知终端“xterm-256color”

这显然是缺少 termcap 条目。

$ port list ncurses
ncurses                        @6.0            devel/ncurses

任何想法如何在 OS X 上安装“ncurses-term”?

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

2 回答 2

4

问题出在 Anaconda 包上:

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

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

conda install -c r ncurses 
于 2015-09-28T21:37:31.987 回答
0

尽管 Linux 上存在臃肿/单一的包,ncurses 包的包维护者经常将 7Mb 的 terminfo 分成“基本”和“术语”块(并将其与库分开)。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以查看是否TERMINFO已设置。该infocmp实用程序可以显示它的外观(自2011 年底以来),使用-D选项,例如,

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

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

于 2015-09-26T18:21:36.457 回答