热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从ruby??ncurses中获得256种颜色

Getting256colorsoutofruby-ncurses我有256种


Getting 256 colors out of ruby-ncurses


我有 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 种颜色,这并不是"全部设置"。

诅咒程序依靠 terminfo 和 termcap 以及 TERM 环境变量来找出如何与终端交互。

因此,为了让 curses 应用程序能够使用 256 色,应该将 TERM 变量设置为支持 256 色的现有终端名称。

上面的 C 程序将向您展示 ncurses 对您的终端的看法,而不仅仅是像大多数脚本一样输出 xterm 序列 [甚至来自 X.org 的那个]


njsf:你部分地在这里,在修改了很多之后,我最终让它工作了。谢谢你的帮助。故事:XTerm(以及 rxvt 和 Eterm)通过转义序列(我所看到的)支持 256 种颜色,但 \'tput colors\' 会说 \'8\' 并且 ncurses 将无法获得它们,因为 ncurses 玩得很好,并试图通过 terminfo.

访问

为了任何有类似痛苦的人的利益:

我发现我需要安装 ncurses-term (Ubuntu) 软件包来获取 /lib/terminfo/x/xterm-256color 和其他 256 色 terminfo 文件。然后我将我的 TERM 设置为 xterm-256color 并将行 \'*customization: -color\' 添加到我的 ~/.Xdefaults 中,运行 \'xrdb -merge ~/.Xdefaults\' 来加载它,从那时起我在新的 xterms 中有适当的 256 色支持。



相关讨论




  • 是的,来这里是为了建议正确设置您的终端。对于任何路过的读者来说,这也是一个花絮。例如,Mac OS X Terminal.app 仅支持 16 种颜色,因此您要么使用 iTerm,要么在 X11 上使用 XTerm,或者忘记它!






设置

ENV[\'TERM\'] = \'-256color\' if ENV[\'TERM\'] == \'xterm\' # 激活256色

适用于 ubuntu 10.04






推荐阅读
  • SmartRefreshLayout自定义头部刷新和底部加载
    1.添加依赖implementation‘com.scwang.smartrefresh:SmartRefreshLayout:1.0.3’implementation‘com.s ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • #这段代码的作用是实现在地图中随机导航。在ros下需要先加载机器人和相关配置,详请参阅古-月的博客http:blog.csdn.nethcx25909articledetails121 ... [详细]
  • 记录一些 Latex 的技巧
    Latex一些技巧:1.如何创建不浮动的的figure和table\makeatletter\newcommand{\figcaption}{\def\captyp ... [详细]
  • 如何在Windows 10系统上成功安装Singular软件
    目录1.Singular2.使用Linux子系统2.1.使用命令行安装2.2.使用源码包安装3.使用Linux模拟器安装4.使用其他软件安装4.1.使用Sage安装1.Singul ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 3.5.2Calc的公式语法:使用Calc计算一个公式可用是任何能够被Emacs的calc包所识别的代数表达式.注意,在Calc中,的操作符优先级要比*低,因此ab*c会被解释为a ... [详细]
  • CentOS7系统目录LINUX有四种基本文件系统类型普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、 ... [详细]
  • POJ 1046 Color Me Less
    ColorMeLessTimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 31449 Accept ... [详细]
  • Qt编写自定义控件57直方波形图
    一、前言直方波形图控件非原创控件,控件大全中大概有20-30个控件非自己原创,而是参考了网上开源的代码,自己加以整理和完善,新增了插件的代码使得可以直接集成到QtDesigner或 ... [详细]
author-avatar
mobiledu2502914997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有