Je peux modifier la couleur par préférence, mais comment puis-je modifier la couleur d'arrière-plan et la couleur du texte du terminal via la ligne de commande?
Informations figurant sur cette page , à l'exclusion de la colonne de prévisualisation:
Les séquences sont composées du caractère d'échappement (souvent représenté par "^[
" ou "<Esc>
") suivi de quelques autres caractères: "^[FCm
" (où FC
est l'un des nombres de la liste à puces ci-dessous).
Dans bash
, le Esc Le code peut être l'un des suivants:
\e
\033
(octal)\x1B
(hexadécimal) Remarque 1: La séquence "\e[0m
" supprime tous les attributs (mise en forme et couleurs). Il peut être judicieux de l’ajouter à la fin de chaque texte coloré.
Remarque 2: Les couleurs de l'avant-plan et de l'arrière-plan peuvent varier en fonction de la configuration du terminal et toutes les couleurs ne sont pas prises en charge .
0
: réinitialiser/supprimer tous les attributs de modificateur, d'avant-plan et d'arrière-plan: echo -e "\e[0mNormal Text"
1
: Bold/Bright: echo -e "Normal \e[1mBold"
2
: Dim: echo -e "Normal \e[2mDim"
4
: Souligné: echo -e "Normal \e[4mUnderlined"
5
: Blink (ne fonctionne pas dans la plupart des terminaux, sauf XTerm): echo -e "Normal \e[5mBlink"
7
: Reverse/Invert: echo -e "Normal \e[7minverted"
8
: Caché (utile pour les informations sensibles): echo -e "Normal \e[8mHidden Input"
21
: Réinitialiser/Supprimer gras/brillant: echo -e "Normal \e[1mBold \e[21mNormal"
22
: Reset/Remove dim: echo -e "Normal \e[2mDim \e[22mNormal"
24
: réinitialiser/supprimer le soulignement: echo -e "Normal \e[4mUnderlined \e[24mNormal"
25
: réinitialiser/supprimer le clignotement: echo -e "Normal \e[5mBlink \e[25mNormal"
27
: réinitialiser/supprimer l'inverse/invertir: echo -e "Normal \e[7minverted \e[27mNormal"
28
: réinitialiser/supprimer caché: echo -e "Normal \e[8mHidden \e[28mNormal"
39
: Par défaut (généralement vert, blanc ou gris clair): echo -e "Default \e[39mDefault"
30
: Black: echo -e "Default \e[30mBlack"
(le mieux associé à une couleur d'arrière-plan: echo -e "Default \e[30;107mBlack on white"
)31
: rouge (ne pas utiliser avec un fond vert)32
: Green33
: Jaune34
: Blue35
: Magenta/Purple36
: Cyan37
: gris clair90
: gris foncé91
: rouge clair92
: Vert clair93
: Jaune clair94
: Bleu clair95
: Magenta clair/Rose96
: Cyan clair97
: White49
: couleur d'arrière-plan par défaut (généralement noir ou bleu)40
: Black41
: Red42
: Green43
: Jaune44
: Blue45
: Magenta/Purple46
: Cyan47
: Gris clair (ne pas utiliser avec un avant-plan blanc)100
: Gris foncé (ne pas utiliser avec un avant-plan noir)101
: rouge clair102
: Vert clair (ne pas utiliser avec un avant-plan blanc)103
: Jaune clair (ne pas utiliser avec un avant-plan blanc)104
: Bleu clair (ne pas utiliser avec un avant-plan jaune clair)105
: Magenta clair/Rose (ne pas utiliser avec un avant-plan clair)106
: Cyan clair (ne pas utiliser avec un avant-plan blanc)107
: Blanc (ne pas utiliser avec un avant-plan clair)Pour définir les couleurs de premier plan et d’arrière-plan en même temps, utilisez le formulaire echo -e "\e[S;FG;BGm"
. Par exemple: echo -e "\e[1;97;41m"
(premier plan blanc en gras sur fond rouge)
Pour les options de 256 couleurs, voir la page source.
S'il est censé changer de couleur occasionnellement :
Vous pouvez utiliser la commande setterm :
setterm -term linux -back <background_colour> -fore <text_color> -clear
parmi les couleurs, vous pouvez choisir (avant et arrière plan):
black|blue|green|cyan|red|Magenta|yellow|white|default
pour plus d'options:
setterm -help
En 14.04, je n’ai pas trouvé d’option permettant à dconf
de définir les couleurs ou le terminal. Vous pouvez cependant utiliser gconftool
Vous devez d'abord obtenir votre nom de profil:
gconftool-2 --get /apps/gnome-terminal/global/profile_list
Ensuite, pour définir les couleurs du texte de votre profil:
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/foreground_color" --type string "#FFFFFF"
par exemple pour définir la couleur du texte en blanc
La même chose avec la couleur de fond:
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/background_color" --type string "#000000"
par exemple pour définir la couleur d'arrière-plan sur noir
Sinon, pour définir le nom de la ou des couleurs, vous pouvez simplement utiliser white
ou green
, à partir de la même palette que la commande setterm, par exemple:
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/background_color" --type string black
Les divers codes de couleur utilisés pour obtenir une sortie en couleur peuvent également être utilisés pour obtenir arrière-plans colorés :
40 black
41 red
42 green
43 yellow
44 blue
45 Magenta
46 cyan
47 white
Par conséquent, la commande suivante transforme mon arrière-plan en rouge:
$ echo -e '\e[0;41m'
Selon le shell, l'émulateur de terminal, etc., vous n'aurez peut-être pas besoin du -e
.
Voir la réponse de kos pour changer le premier plan ou l'arrière-plan en une couleur particulière de la palette ou même une couleur RVB directe dans certains terminaux. L'effet d'une telle séquence dure jusqu'à ce qu'une couleur différente soit sélectionnée (ou redevienne la valeur par défaut).
Une autre approche, prise en charge par certains émulateurs de terminal, consiste à redéfinir les valeurs RVB exactes du paramètre par défaut du terminal couleurs de premier plan et d’arrière-plan utilisant les séquences d'échappement OSC 10/11:
echo -ne '\e]10;#123456\e\\' # set default foreground to #123456
echo -ne '\e]11;#abcdef\e\\' # set default background to #abcdef
Cela est susceptible de durer beaucoup plus longtemps (jusqu'à ce qu'il soit remplacé par un autre OSC 10/11 ou réinitialisé via l'OSC 110/111), mais contrairement à l'approche dconf, cela n'affecte que le terminal actuel.