我必须在显示一些难以阅读的颜色的系统上工作。我通过 ssh 进入这些系统,但没有管理权限更改它们显示的颜色。有什么方法可以覆盖终端模拟器中的颜色阴影吗? (我用konsole
)
答案1
每个终端模拟器都有自己的设置色调(或不设置)的方式。 Xterm 使用 X 资源,一些较新的模拟器有对话框,一些有配置文件。
在 Konsole 中,编辑配置文件中的配色方案(从菜单:“设置/编辑当前配置文件”、“外观”选项卡,选择一种颜色主题并进行编辑或创建一个新主题)。
有一个共同点控制序列设置与应用程序中的颜色编号关联的阴影:OSC 4 ; c ; spec BEL
其中OSC
是ESC ]
,c
是颜色编号,spec
是颜色规格,例如 #RGB。
printf %b '\e]4;4;#6495ed\a' # set the blue shade to CornflowerBlue
应用程序的更改仅在下一次终端重置之前有效。如果您使用此方法(仅在您的终端缺乏配置机制时推荐),以使更改有效持久,将颜色配置转义序列附加到终端的重置字符串(termcap:r1
字符串;terminfo:rs1
字符串)。
答案2
我也遇到过类似的问题,但不是在 X-Windows 下。我有一些虚拟盒子,用于在我正在运行的操作系统版本之外的操作系统版本上编译软件。它们具有标准的“硬件控制台”,而不是 X 终端。
如果发现以下内容对我有用:
echo -e "\\e]R\\e]PC6495ed"
我在文档中找到了该代码序列! (呃!)
http://man7.org/linux/man-pages/man4/console_codes.4.html
请注意,第一部分\\e]R
是重置序列。因此它会将颜色重置为默认值。
第二部分\\e]PC6495ed
是改变蓝色的部分。这里有两点:
- 蓝色是颜色编号 12(该字符串中的 C)
- P代表调色板
在这种情况下,您只能使用基本控制台的前 16 种颜色。
答案3
您可以~/.Xresources
在本地机器上修改。看这主题的例子~/.Xresources