web-dev-qa-db-fra.com

dircolors: modifier les paramètres de couleur globalement

Je comprends que ls utilise dircolors pour afficher la sortie colorée. dircolors possède une base de données par défaut de couleurs associées aux extensions de fichier, qui peut être imprimée avec la commande

dircolors --print-database

De man dir_colors J'ai lu, la base de données à l'échelle du système devrait être située dans /etc/DIR_COLORS. Mais ce fichier n'existe pas sur mon système (Debian). Comment puis-je modifier les paramètres de couleur à l'échelle du système pour dircolors? D'où vient la commande dircolors --print-database récupère les paramètres quand aucun fichier n'existe.

Je suis conscient que l'utilisateur peut avoir un fichier spécifique à l'utilisateur ~/.dircolors avec ses paramètres, mais cela ne me convient pas, car je dois modifier les paramètres pour tout le monde.

Une deuxième question est de savoir s'il est possible d'utiliser des couleurs 8 bits pour les dircolors. Mon terminal est xterm-256color.

43
user1968963

ls reprend les paramètres de couleur de la variable d'environnement LS_COLORS. dircolors est simplement un moyen pratique de générer cette variable d'environnement. Pour que cette variable d'environnement prenne effet à l'échelle du système, placez-la dans le fichier de démarrage de votre Shell.

Pour bash, vous mettriez ceci dans /etc/profile:

# `dircolors` prints out `LS_COLORS='...'; export LS_COLORS`, so eval'ing
# $(dircolors) effectively sets the LS_COLORS environment variable.

eval "$(dircolors /etc/DIR_COLORS)"

Pour zsh, vous devez soit le mettre dans /etc/zshrc ou faites en sorte que zsh lise /etc/profile au démarrage. Votre distribution peut déjà avoir zsh le faire. Je soulève juste ceci pour souligner que la configuration de dircolors pour vraiment tout le monde dépend du Shell qu'ils utilisent.

Quant à l'endroit où dircolors obtient ses paramètres, lorsque vous ne spécifiez pas de fichier, il utilise simplement des valeurs par défaut intégrées.

Vous pouvez utiliser les 256 codes d'échappement couleur de xterm dans votre fichier dircolors, mais sachez qu'ils ne fonctionneront que pour les terminaux compatibles xterm. Ils ne fonctionneront pas sur la console texte Linux, par exemple.

Le format pour 256 codes d'échappement de couleur est 38;5;colorN pour les couleurs de premier plan et 48;5;colorN pour les couleurs d'arrière-plan. Ainsi, par exemple:

.mp3  38;5;160                   # Set fg color to color 160      
.flac 48;5;240                   # Set bg color to color 240
.ogg  38;5;160;48;5;240          # Set fg color 160 *and* bg color 240.
.wav  01;04;05;38;5;160;48;5;240 # Pure madness: make bold (01), underlined (04), blink (05), fg color 160, and bg color 240!
40
Matt

D'où vient la commande dircolors --print-database récupère les paramètres quand aucun fichier n'existe.

Selon le manuel , il utilise une base de données précompilée en l'absence de fichier.

Si un fichier est spécifié, dircolors le lit pour déterminer les couleurs à utiliser pour quels types de fichiers et extensions. Sinon, une base de données précompilée est utilisée. Pour plus de détails sur le format de ces fichiers, exécutez ‘dircolors --print-database ’.

Afin de modifier les paramètres pour tout le monde, vous pouvez créer un /etc/dircolors fichier et ajoutez ce qui suit à /etc/bashrc:

d=/etc/dircolors
test -r $d && eval "$(dircolors $d)"
9
devnull

Linux définit les couleurs d'arrière-plan de la console avec des dircolors:

Votre fichier dircolors contrôle les couleurs des mots qui apparaissent à travers ls sur la console. Trouve ça .dircolors fichier pour votre distribution, un lien pour aider:

http://www.linuxfromscratch.org/blfs/view/svn/postlfs/profile.html

Pour moi sur Fedora 17, mon fichier dircolors est: /etc/DIR_COLORS

Copie /etc/DIR_COLORS Dans votre /home/el/.dircolors répertoire. Créez-le s'il n'existe pas.

Modifiez /home/el/.dircolors, recherchez le texte "dir".

Change ça:

DIR 01;34   # directory

Pour ça:

DIR 01;36   # directory

Enregistrez, fermez et redémarrez le shell. Les répertoires vont du bleu foncé sur le noir (illisible) au bleu sarcelle brillant sur le noir (lisible).

8
Eric Leschinski