我的终端(
test scripts here)有256种颜色,但是当我使用ncurses(通过Ruby-ncurses)时它会停止工作.打印该页面上给出的转义序列工作正常,但是当我初始化ncurses’puts’停止工作时,我无法使用我发现的各种ncurses颜色更改/字符串输出函数输出颜色.是什么赋予了?
解决方法
我不确定这是不是所有的故事,但请确保您的终端功能确实提供256色描述.
什么是TERM环境变量值?尝试将其设置为xterm-256color并重新运行它.
然后,ncurses应该获得正确的颜色转义序列.
您还可以使用我们在SXEmacs开发中使用的程序测试终端功能和终端颜色输出:
http://www.triatlantico.org/tmp/tty-colors.c
使用gcc -o tty-colors编译tty-colors.c -lncurses
编辑:请注意,仅仅因为在网络上找到的脚本输出256种颜色,这不是“全部设置”.Curses程序依赖terminfo和termcap以及TERM环境变量来找出如何与终端进行交互.因此,为了使curses应用程序能够使用256种颜色,应该将TERM变量设置为支持256种颜色的现有终端名称.上面的C程序将向您展示ncurses对您的终端的看法,而不仅仅像大多数脚本那样输出xterm序列[甚至是来自X.org的那个]