我有256种颜色在我的终端中很好用(test scripts here),但当我使用ncurses(通过Ruby-ncurses)时,它停止工作。打印在该页面上给出的转义序列工作正常,但是当我初始化ncurses'puts'停止工作,并且我无法用任何我发现的各种ncurses颜色改变/字符串输出函数输出颜色。是什么赋予了?从ruby-ncurses中获取256种颜色
回答
njsf:你是部分就在这里,和后修补更多我最终得到它的工作。谢谢你的帮助。故事:XTerm(和rxvt和Eterm)通过转义序列(我所看到的)支持256种颜色,但'输出颜色'会说'8',而ncurses将无法获得它们,因为ncurses在播放很好并尝试通过terminfo进行访问。
对于具有相似痛苦的人的利益:
我发现我需要安装ncurses的期限(Ubuntu的)包以获得/ lib中/的terminfo/X/xterm方式256color等256color terminfo的文件。然后,我将TERM设置为xterm-256color并将'* customization:-color'添加到我的〜/ .Xdefaults中,运行'xrdb -merge〜/ .Xdefaults'加载它,从此我有适当的256色支持新的xterm。
我不确定这是否是所有的故事,但请确保您的终端功能确实提供了256种颜色描述。
什么是TERM环境变量值?尝试将其设置为xterm-256color并重新运行它。 ncurses应该得到正确的颜色转义序列。
您还可以测试终端的能力和终端的彩色输出与我们在SXEmacs开发使用的程序:
http://www.triatlantico.org/tmp/tty-colors.c
编译使用gcc -o TTY的颜色TTY-colors.c -lncurses
编辑: 请注意,只是因为在网上找到的脚本输出256色,这不是“全部设置”。 Curses程序依赖terminfo和termcap以及TERM环境变量来找出如何与终端进行交互。 因此,为了让curses应用程序能够使用256色,人们应该将TERM变量设置为支持256色的现有终端名称。上述 C程序会告诉你 ncurses的想着你的终端,而不仅仅是输出最喜欢的脚本xterm的序列做[甚至从X.org一]什么
设置
ENV [ 'TERM'] + = '-256color' 如果ENV [ 'TERM'] == '的xterm' #激活ubuntu上256个色
作品10.04 +
- 1. 在Emacs * shell中获取256种颜色*
- 2. vim和256种颜色ConEmu
- 3. 从TextView Android中提取多种颜色
- 4. 从颜色词获取颜色代码
- 5. 获取图像前10种颜色
- 6. 如何从pdf中获取某种颜色的文本c#
- 7. 获取从颜色类
- 8. 从int获取颜色
- 9. 从xml值获取颜色
- 10. 从CGContext获取颜色?
- 11. 获取iOS中捕获图像中每种颜色的强度
- 12. Seaborn:从factorplot/facetgrid获取颜色/色调
- 13. 从.png文件中获取颜色的HTML颜色代码?
- 14. 以编程方式从颜色中获取选择的颜色
- 15. 从两种颜色(从渐变)计算中间颜色
- 16. 从数值中获取颜色值
- 17. 从图像中获取像素颜色
- 18. 从PDFBox中获取字体的颜色
- 19. 从图片中获取像素颜色?
- 20. 从我的JButton中获取颜色
- 21. 从双值中获取颜色
- 22. 我想创建我的图像的256种颜色变化
- 23. 在UIView中将背景色从一种颜色淡出到另一种颜色
- 24. 从一种颜色到另一种颜色到百分比
- 25. 从一种颜色到另一种颜色的插值
- 26. 如何从C#中的硒webdriver中的颜色调色板中获取颜色#
- 27. 从两种布局颜色
- 28. 背景颜色50%一种颜色和50%另一种颜色
- 29. 获取ActionBar颜色
- 30. matlab获取颜色
是的,来到这里建议适当地设置您的终端。对于任何驾驶型读卡器来说,这也是一个小点。例如Mac OS X Terminal.app仅支持16种颜色,因此您可以在X11上使用iTerm或XTerm,或者忘记它! – ocodo 2011-01-25 03:58:21