web-dev-qa-db-fra.com

Couleurs du terminal OS X

Je suis nouveau sur OS X, je viens d’obtenir un Mac après avoir travaillé avec Ubuntu Linux pendant un certain temps. Parmi les nombreuses choses que j'essaie de comprendre, il y a l'absence de couleurs dans la fenêtre de mon terminal - comme celles affichées (sous Linux) lors de l'exécution de ls -la ou git status...

Je n'arrive pas à comprendre comment activer les couleurs dans mon Shell.

468
sa125

Je sais, ce fil est vieux mais le problème pas.

Voici une solution que j'ai trouvée pour activer le global couleurs du terminal .

Modifiez votre .bash_profile (depuis OS X 10.8) - ou (pour les versions 10.7 et antérieures): .profile ou .bashrc ou /etc/profile (selon les disponibilités) - dans votre répertoire personnel et ajouter le code suivant:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 permet simplement la coloration de votre terminal.

LSCOLORS=... spécifie comment colorer des éléments spécifiques.

Après avoir modifié .bash_profile, démarrez un terminal et forcez les modifications en exécutant:

source ~/.bash_profile

Ensuite, allez à Terminal > Preferences, cliquez sur l'onglet Profiles puis sur le sous-onglet Text et vérifiez Display ANSI Colors.

Vérifié sur Sierra (mai 2017).

717

Vous pouvez utiliser la syntaxe basée sur Linux dans l'un de vos scripts de démarrage. Je viens de tester cela sur une boîte OS X Mountain Lion.

par exemple. dans votre ~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

Cela vous donne une belle invite colorée. Pour ajouter la sortie colorée ls, vous pouvez ajouter alias ls="ls -G".

Pour tester, il suffit de lancer un source ~/.bash_profile pour mettre à jour votre terminal actuel.

Note latérale concernant les couleurs: les couleurs sont précédées d’une séquence d'échappement \e et définies par une valeur de couleur composée de [style;color+m] et entourées d'une séquence [] échappée. par exemple.

  • rouge = \[\e[0;31m\]
  • rouge vif (style 1) = \[\e[1;31m\]
  • coloration claire = \[\e[0m\]

J'ajoute toujours un jeu de couleurs légèrement modifié dans le fichier .bash_profile de la racine pour rendre le nom d'utilisateur rouge; je vois donc toujours si je suis connecté en tant que root (pratique pour éviter les erreurs si de nombreuses fenêtres de terminaux sont ouvertes).

Dans /root/.bash_profile:

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

Pour tous mes comptes SSH en ligne, je m'assure de mettre le nom d'hôte en rouge, afin de distinguer si je suis dans un terminal local ou distant. Il vous suffit de modifier le fichier .bash_profile dans votre répertoire personnel sur le serveur. S'il n'y a pas de fichier .bash_profile sur le serveur, vous pouvez le créer. Il devra être recherché lors de la connexion.

116
4levels

Les méthodes MartinVonMartinsgrün et 4Levels ont confirmé leur efficacité sur Mac OS X Mountain Lion.

Le fichier que je devais mettre à jour était ~/.profile.

Cependant, je ne pouvais pas laisser cette question sans recommander mon application préférée, iTerm 2 .

iTerm 2 vous permet de charger des palettes de couleurs globales à partir d'un fichier. Vraiment facile d'expérimenter et d'essayer un tas de couleurs.

Voici une capture d'écran de la fenêtre iTerm 2 et les préférences de couleur. iTerm2 Color Preferences Screenshot Mac

Une fois que j’ai ajouté ce qui suit à mon fichier ~/.profile, iTerm 2 a pu remplacer les couleurs.

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Voici un excellent dépôt avec quelques préréglages Nice:

Jeux de couleurs iTerm2 sur Github de mbadolato

Bonus: choisissez "Afficher/masquer iTerm2 avec une touche de raccourci système" et liez la clé avec BetterTouchTool pour afficher/masquer instantanément le terminal avec un geste de la souris.

38
Nick Woodhams

Si vous voulez que votre ls soit colorisé, vous devez éditer votre fichier ~/.bash_profile et ajouter la ligne suivante (si elle n'est pas déjà écrite):

source .bashrc

Ensuite, vous éditez ou créez un fichier ~/.bashrc et écrivez un alias dans la commande ls:

alias ls="ls -G"

Vous devez maintenant taper source .bashrc dans un terminal déjà lancé ou simplement en ouvrir un nouveau.

Si vous voulez plus d'options dans votre ls, lisez simplement le manuel (man ls). Les options ne sont pas exactement les mêmes que sur un système GNU/Linux.

15
Marcio

Si vous utilisez tcsh, éditez votre fichier ~/.cshrc pour inclure les lignes:

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

Où, comme le dit Martin, LSCOLORS spécifie le jeu de couleurs que vous souhaitez utiliser.

Pour générer les LSCOLORS que vous souhaitez utiliser, vérifiez ceci site

4
smaccoun

Vérifiez ce que $ TERM donne: le mien est xterm-color et ls -alG produit alors une sortie colorisée.

4
William Rose

Lorsque j'ai travaillé sur Mac OS X dans le laboratoire, j'ai pu obtenir les couleurs du terminal en utilisant Terminal (plutôt que X11), puis en modifiant le profil (à partir de la barre de menu Mac). L'interface est un peu bizarre sur les couleurs, mais vous devez définir le thème modifié par défaut.

D'autres réglages ont fonctionné en éditant .bashrc.

2
ccook