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.
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).
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.
\[\e[0;31m\]
\[\e[1;31m\]
\[\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.
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.
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.
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.
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
Vérifiez ce que $ TERM donne: le mien est xterm-color et ls -alG produit alors une sortie colorisée.
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
.