手动更改xfce4终端的颜色方案

我想绑定一个快捷方式来改变我的曝光配色方案(黑暗和浅色)。 为此我需要知道终端改变其配色方案的命令,但我还没有找到这样的一个,我必须一次又一次地去偏好菜单并切换预先设定的方案。 有没有办法为终端配色方案制作这种切换器?

XFCE4终端在$XDG_CONFIG_HOME/xfce4/terminal/terminalrc terminalrc中存储用户首选项(通常, ~/.config/xfce4/terminal/terminalrc – 如果您没有更改任何首选项,则可能不存在)。 我发现XFCE4终端监视此文件并在更改时重新加载设置,因此您可以写入此文件以更改设置。

但是,您无法编辑单个条目来更改颜色。 各种调色板实际上是一组设置。 例如:

 $ cat /usr/share/xfce4/terminal/colorschemes/solarized-dark.theme [Scheme] Name=Solarized (dark) Name[bg]=Златисто (тъмно) Name[fr]=Solarisé (foncé) Name[nl]=Overbelicht (donker) Name[th]=ในแสงแดด (มืด) Name[uk]=Золотистий (темний) ColorForeground=#839496 ColorBackground=#002b36 ColorCursor=#93a1a1 TabActivityColor=#dc322f ColorPalette=#073642;#dc322f;#859900;#b58900;#268bd2;#d33682;#2aa198;#eee8d5;#002b36;#cb4b16;#586e75;#657b83;#839496;#6c71c4;#93a1a1;#fdf6e3 ColorBold=#93a1a1 ColorBoldUseDefault=FALSE 

而且terminalrc看起来像:

 $ cat .config/xfce4/terminal/terminalrc [Configuration] ColorForeground=#839496 FontName=Ubuntu Mono 12 ColorBackground=#002b36 ColorCursor=#93a1a1 ColorBold=#93a1a1 ColorBoldUseDefault=FALSE ColorPalette=#073642;#dc322f;#859900;#b58900;#268bd2;#d33682;#2aa198;#eee8d5;#002b36;#cb4b16;#586e75;#657b83;#839496;#6c71c4;#93a1a1;#fdf6e3 TabActivityColor=#dc322f TabActivityColor=#dc322f 

可以看出,没有办法轻易识别颜色来自哪个调色板。

编写脚本似乎并不安全,但这是一个效率低下的尝试:

 #! /bin/bash if ! [[ -f /usr/share/xfce4/terminal/colorschemes/$1.theme ]] then echo "No such colorscheme: $1" exit 1 fi cd ~/.config/xfce4/terminal # strip settings from any themes grep -Fxvf <(cat /usr/share/xfce4/terminal/colorschemes/*.theme) terminalrc > .terminalrc.tmp grep -v -e Name -e Scheme "/usr/share/xfce4/terminal/colorschemes/$1.theme" >> .terminalrc.tmp cp terminalrc terminalrc.bak mv .terminalrc.tmp terminalrc 

将其复制到PATH某个位置(例如, ~/bin/xfce-color-switch )。 然后:

 $ xfce4-color-switch dark-pastels 

在此处输入图像描述

 $ xfce4-color-switch solarized No such colorscheme: solarized $ xfce4-color-switch solarized-dark 

在此处输入图像描述

你必须为此记住colorscheme名称,但是我会在我弄清楚之后添加如何添加tab-completion的说明。

更好的方法是:创建自己的配色方案,并允许自己选择多个配色方案。

为此,请创建目录:

 mkdir -p ~/.local/share/xfce4/terminal/colorschemes 

并在其中放置这样的文件:

 [Scheme] Name=971 good ColorForeground=#4ccd4ccd4ccd ColorBackground=#f851f465ebe7 TabActivityColor=#d8d8a9a97f7f ColorCursor=#f0f0b6b66666 ColorSelection=#16163b3b5959 ColorPalette=rgb(0,0,0);rgb(170,0,0);rgb(0,170,0);rgb(170,85,0);rgb(0,0,170);rgb(170,0,170);rgb(0,138,138);rgb(170,170,170);rgb(85,85,85);rgb(255,85,85);rgb(85,255,85);rgb(196,160,0);rgb(85,85,255);rgb(255,85,255);rgb(68,204,204);rgb(255,255,255) 

如果在~/.config/xfce4/terminal目录中已经配置了terminalrc文件,则只需复制相应的行即可。

执行此操作后,您的新配色方案将显示在主列表中。 因此,您可以使用自定义白色主题和自定义黑色。