Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors 是否有可能更改xterm";颜色表“;在运行时?_Colors_Terminal_Xterm - Fatal编程技术网

Colors 是否有可能更改xterm";颜色表“;在运行时?

Colors 是否有可能更改xterm";颜色表“;在运行时?,colors,terminal,xterm,Colors,Terminal,Xterm,我让xterm从X资源文件继承其“颜色表”的RGB值。据我所知,xterm不仅支持256种颜色,它还支持256种颜色引用,每种颜色引用指向24位RGB空间颜色,对吗 我希望能够自行重置颜色,例如,将索引为10的颜色更改为RGB值#ff8000或其他 我甚至不知道我是否有自己的概念。如果有,是否可以在运行时为当前终端窗口更改此“颜色表”中的条目?或者,对于下一个打开的终端实例,只能使用xrdb执行此操作?我不确定这是否真的有效(我这里的xterm不是使用256色支持编译的!),但是xterm控制序

我让xterm从X资源文件继承其“颜色表”的RGB值。据我所知,xterm不仅支持256种颜色,它还支持256种颜色引用,每种颜色引用指向24位RGB空间颜色,对吗

我希望能够自行重置颜色,例如,将索引为10的颜色更改为RGB值
#ff8000
或其他


我甚至不知道我是否有自己的概念。如果有,是否可以在运行时为当前终端窗口更改此“颜色表”中的条目?或者,对于下一个打开的终端实例,只能使用
xrdb
执行此操作?

我不确定这是否真的有效(我这里的xterm不是使用256色支持编译的!),但是xterm控制序列参考:

在“操作系统控制”下查看

ps=4;C规格→ 将颜色编号c更改为规范指定的颜色。根据XParseColor,这可以是名称或RGB规范。可以给出任意数量的c名称对。颜色编号对应于ANSI颜色0-7、其明亮版本8-15,以及88色或256色表格的其余部分(如果支持)

OSC为\033],请尝试以下操作:

echo -n -e '\033]4;7;red\007'

如果有效,应该将颜色#7改为红色。

谢谢,现在就试试。我认为xterm支持256种“真”颜色,这一假设正确吗?工作起来很有魅力<代码>echo-n-e'\033]4;7;#ff8000\007'将索引
7
(不要与
007
混淆)处的颜色更改为
#ff8000
(明亮的橙色)。此外,我认为即使您的xterm仅使用
N
颜色支持编译,您也应该能够为这些“颜色”(真正的索引)设置实际颜色值在
0
N-1
的范围内。在你的情况下
0-15
。哦,很酷,你是对的,即使没有256色,它也能工作!但是是的,它也应该适用于所有256色,可以设置为任何颜色。