Ubuntu 16.04 上的 256 色调色板

Ubuntu 16.04 上的 256 色调色板

我尝试在 Ubuntu 16.04 的终端上运行一款使用 c ncurses 库制作的游戏。游戏完成时,它在终端中按预期运行。然后我对文件(可能是 .bashrc)进行了一些更改,这样我就可以为我的游戏使用 256 色调色板。

现在,当我尝试运行游戏时收到以下错误消息:

打开终端时出错:xterm-256color。

TERM变量设置为xterm-256color并且tput颜色输出为256。有没有更合适的方法来测试我的终端是否确定使用256种颜色,以及如何解决上面描述的问题?

答案1

目前还没有 100% 可靠的方法来确定终端支持给定颜色数量。您TERM可以设置告诉应用程序使用特定的终端描述,以便 ncurses 和其他库知道如何使用终端。

该描述xterm-256colorncurses-base基本的包裹:

$ dlocate /lib/terminfo/x/xterm-256color
ncurses-base: /lib/terminfo/x/xterm-256color

如果您的应用程序无法打开它,那很可能是因为您设置了一个环境变量(例如TERMINFO),它告诉 ncurses 在该描述不存在的地方进行查找。

您可以使用它strace来查看应用程序打开了哪些文件,并且(通常)查看此类问题,例如,通过查找“xterm-256color”的打开失败。

进一步阅读:

相关内容