10 votes

Modifier manuellement les couleurs du terminal xfce4

Je veux lier un raccourci pour changer mes schémas de couleurs solarisées (foncées et claires). Pour cela, j'ai besoin de connaître une commande pour que le terminal change son schéma de couleurs, mais je n'en ai pas trouvé et je dois aller sans cesse dans le menu des préférences et changer les schémas prédéfinis. Est-ce qu'il y a un moyen de faire ce genre de commutateur pour les schémas de couleurs du terminal ?

9voto

muru Points 180007

Le terminal XFCE4 enregistre les préférences de l'utilisateur dans $XDG_CONFIG_HOME/xfce4/terminal/terminalrc (typiquement, ~/.config/xfce4/terminal/terminalrc - peut ne pas exister si vous n'avez pas modifié vos préférences). J'ai découvert que le terminal XFCE4 surveille ce fichier et recharge les paramètres lorsqu'ils changent, de sorte que vous pouvez écrire dans ce fichier pour modifier les paramètres.

Cependant, il n'y a pas d'entrée unique que vous pouvez modifier pour changer les couleurs. Les différentes palettes sont en fait un ensemble de paramètres. Par exemple :

$ 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

Et terminalrc se présentera comme suit :

$ 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

Comme on peut le voir, il n'y a aucun moyen d'identifier facilement la palette d'où proviennent les couleurs.

La création d'un script ne semble pas sûre, mais voici une tentative inefficace :

#! /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

Copiez ceci quelque part dans votre PATH (par exemple, ~/bin/xfce-color-switch ). Dans ce cas :

$ xfce4-color-switch dark-pastels

enter image description here

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

enter image description here

Vous devrez vous souvenir des noms des jeux de couleurs pour cela, mais j'ajouterai des instructions sur la façon d'ajouter la complétion par tabulation dès que je les aurai trouvées.

9voto

VasyaNovikov Points 303

Une meilleure approche consisterait à créer votre propre palette de couleurs et à vous permettre d'en choisir une parmi d'autres.

Pour ce faire, créez le répertoire :

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

Et placez les fichiers de ce type à l'intérieur :

[Scheme]
Name=my good profile
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)

Si vous avez un fichier terminalrc déjà configuré dans votre fichier ~/.config/xfce4/terminal vous pouvez simplement copier les lignes appropriées.

Votre nouveau schéma de couleurs apparaît alors dans la liste principale. Vous pouvez donc, par exemple, avoir un thème de couleur blanc personnalisé et un thème de couleur noir personnalisé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X