我看到另一个人深蓝色...-Q 有同样的问题:
我没有两种蓝色(正常和明亮/粗体),而是只有一种非常难以阅读的所谓“粗体蓝色”。普通的蓝色更糟糕,几乎看不见。
我不想更改 LS_COLORS。我做想要蓝色的目录,但要更亮的目录。我不想要它们是洋红色或绿色的。
在 dircolors 的输出中,我看到了数十个亮红色或洋红色的扩展名(tar、tgz、mp3)编码。像目录这样基本的东西会在午夜蓝色中完全消失!
它已经设置为亮:
`DIR 01;34 # directory`
或与dircolors -b
:
LS_COLORS='...di=01;34...'
在 XTerm 中我可以在文件*VT100*color12: SkyBlue2
中设置app-defaults/
。但对于控制台呢?内核只给了我 16预定义的ANSI 颜色!
我是否必须重新编译内核才能更改控制台的这些 RGB 定义?这种海军蓝必须在某个地方进行编码!
/* 在第一个答案后添加 */
我echo -en "\e]PCrrggbb"
按照建议尝试了:这有效!这真的很特别——括号是相反的。手册页中的“应该是 OSC”...谢谢!
德克特答案中的链接也有setvtrgb
第二种解决方案。数字沙拉,但没有转义码。
这两种方法效果一样吗?
答案1
答案2
我承认我心里有这样的答案(从那kernel.org 参数列表:
vt.default_blu= [VT]
Format: <blue0>,<blue1>,<blue2>,...,<blue15>
Change the default blue palette of the console.
This is a 16-member array composed of values
ranging from 0-255.
我从来没有尝试过这个。现在我想我从来没有真正理解过它!我确信它有效。但您不想重新启动等只是为了找到合适的调色板。
不管怎样,想法和格式类似于我调整 16 种控制台颜色的默认解决方案:
setvtrgb
来自包“kbd”(其中还包含 chvt、loadkeys、showkeys...)
setvtrgb
跟踪颜色 1 到 16 和 RGB 从 0 到 255 也需要一些努力,但效果是立即且永久的 - 并且同时适用于所有虚拟终端 - “系统范围”
一些用户似乎很困惑。帮助说:
To seed a valid FILE:
cat /sys/module/vt/parameters/default_{red,grn,blu} > FILE
这一衬里对这三个 sysfs 文件进行了大括号扩展。您粘贴它,编辑文件,然后加载它以查看新颜色的外观。 (复制一份,否则您必须重新启动才能恢复默认状态)。
我昨天在这个中展示了该文件LS_COLORS 导出
现在dirkt提出的解决方案:
echo -en "\e]PCrrggbb"
这是一个“特殊”linux(非CSI)转义序列。 “C”是十六进制的#12(粗体蓝色)。
而这个设定是每个终端-- 您可以在每个终端上使用不同的调色板!比我要求的还要多!
这不仅仅是幻影蓝色目录,还有 vim 中的所有内容都是蓝色的,一直到最后一行下的蓝色波浪号。
我还减少了正常(白色)和粗体白色之间的差异。手册页中充满了这两种内容,为了语法突出显示,我使用普通白色作为注释,使用粗体白色作为代码。现在我可以轻松地阅读灰色,并且白色不会伤害(和损害)我的眼睛。