【问题标题】:tput: unknown terminal "xterm-256color"tput:未知终端“xterm-256color”
【发布时间】:2015-09-26 15:47:58
【问题描述】:

我正在运行 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

【问题讨论】:

  • 什么是 ncurses-term?
  • "...我开始在某些(Debian/Ubuntu)服务器上收到此错误...这在 Ubuntu 服务器上对我有用..." - ncurses-term 是一个 debian 软件包。
  • 是的。还有其他建议吗?
  • 是的,该页面上的其他答案(适用于 OS X 的答案)。

标签: ncurses terminfo


【解决方案1】:

问题出在 Anaconda 包上:

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

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

conda install -c r ncurses 

【讨论】:

  • 宁可conda install -c anaconda ncurses
【解决方案2】:

尽管 Linux 上存在臃肿/单一的包,ncurses 包的包维护者经常将 7Mb 的 terminfo 分成“基本”和“术语”块(并将其与库分开)。 ncurses 的 MacPorts 维护者没有这样做。终端数据库是"ncurses" 包的一部分。例如,我从

中看到了这个
port contents ncurses@6.0_0+universal

在/opt下:

/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 的手册页)。

【讨论】:

  • 我有这些文件... $ ls -l /opt/local/share/terminfo/73/screen.xterm-256color -rw-r--r-- 1 根管理员 3238 8 月 20 日08:53 /opt/local/share/terminfo/73/screen.xterm-256color $ ls -l /usr/share/terminfo/78/xterm-256color -rw-r--r-- 1 根轮 3322 Sep 9 2014 /usr/share/terminfo/78/xterm-256color
猜你喜欢
  • 2010-10-22
  • 2011-10-10
  • 2011-11-28
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 2018-03-28
相关资源
最近更新 更多