xterm-color和xterm-256color有什么区别?

在尝试设置我的terminal程序使用颜色时,我遇到了xterm-color和xterm-256color两个选项,即可以将TERM环境variables设置为任意一个。

我想知道是否有人能描述两者之间的区别?

我已经在我的Ubuntu服务器以及我的Mac上search文档,但没有find任何。 我只能在/ usr / share / terminfo中find各种二进制文件

xterm-256color描述了支持启用256色的Xterm。 xterm-color描述了支持十六种颜色的Xterm的一个较老的分支。 不推荐使用xterm-color ,因为它描述了Xterm的一个变种,它的功能较差,而且你不太可能使用它。 通常你会想使用xtermxterm-16colorxterm-256color

特别是, xterm-256color是从Mac OS X 10.7 Lion开始的默认终端,其次推荐的值是xterm-16colorxterm (它只能描述支持八种ANSI颜色)。 在10.7之前, xterm-color是默认的,因为终端不支持推荐的Xterm terminfo值所描述的一些关键特性,例如背景颜色擦除(BCE),用于切换主/备用屏幕的现代代码,256种颜色。

有时,人们明确地将TERM设置为xterm-color (而不是推荐的Xterm值)来禁用功能,或者解决特定计算机上的可用terminfo值与正在使用的终端仿真器之间不兼容的问题。

请注意,在技术上,终端应该拥有自己的最新terminfo值,用于描述它支持哪些功能,而不是使用Xterm的值,但是:

  1. 目前还没有最新的。 nsterm代表NeXTSTEP的终端的祖先。 有人显然最近更新了nsterm (过去几年的某个时间),但是我不知道是否已经进入了ncurses发行版,并且在10.7版本中可能不会完全与终端一致。
  2. 许多程序和shell定制脚本明确检查$TERM是否以xterm开头(或等于)。 因此,有些用户仍然需要了解如何在终端上使用推荐的Xterm值来兼容这些值。

如果您不熟悉terminfo系统,请查看x-man-page:// 5 / terminfo手册页。 此外,您可以使用infocmp命令来查看当前的terminfo设置或比较两个不同的设置,例如, infocmp xterm-color xterm-256color将显示这两者之间的所有差异。

看来xterm-256color是OS / X上的Terminal.app。 差异不是很小 – 我在Ubuntu盒子上将xterm-color和xterm-256color注入并对它们进行了标准化,并得到了一些不同。 我甚至可以说xterm-256color不再是真正的xterm。

通常,当您使用特定的终端仿真器时,您需要“知道”哪一个terminfo条目最适合它。 它们是一对匹配的,尽管有时候你可以使用vt220终端上的vt100 terminfo条目。

从好的方面来说,今天几乎所有的东西都是兼容vt100的。