couleurs terminaux non affichage pour les listes de répertoires

9

Je ne sais pas pourquoi ma session bash n'affiche pas de couleurs. J'ai essayé Terminal ainsi que iTerm.

J'ai essayé:

  1. ls -G
  2. Réglage export CLICOLOR=1etexport LSCOLORS=GxFxCxDxBxegedabagaced
  3. Utiliser différents thèmes tels que la solarisation et autre chose

Les versions de mon logiciel sont:

  1. bash: GNU bash, version 3.2.51 (1) -release (x86_64-apple-darwin13)
  2. osx: 10.9.2

J'ai Homebrew installé

Je ne sais pas quelles autres informations pourraient être utiles. Je passe beaucoup de temps sur le shell, ce problème devient très gênant :)

modifier: dans les préférences du terminal, j'ai "Déclarer le terminal comme: xterm-256color" et "Afficher les couleurs ANSI" avec "Utiliser des couleurs vives pour le texte en gras"

Shahbaz
la source
Essayez de lancer printf '\e[32mtest\n', si cela fonctionne, c'est un problème avec ls.
0942v8653
Je suis aussi avoir ce problème. Pour étendre ce que vous avez essayé, le problème persiste avec la commande gls de coreutils. Le commentaire ci-dessus modifie avec succès la couleur de l'invite. Mon problème semble être lié au thème SolarizedDark, car la modification de la couleur dans les préférences de Terminal.app dans d'autres thèmes fonctionne.
agweber

Réponses:

4

Je suggère d'installer les GNU Core Utilities via Homebrew, qui vous donnera la version "Linux" de ls(au lieu de la version FreeBSD livrée avec OS X), ainsi que d'autres outils puissants

brew update
brew install coreutils

Vous devriez alors pouvoir montrer les couleurs avec:

gls --color

De plus, lisez les mises en garde pour configurer votre PATH afin que vous puissiez utiliser des commandes comme glsleurs noms normaux, à savoir ls:

$ brew info coreutils
coreutils: stable 8.23 (bottled)
https://www.gnu.org/software/coreutils
Conflicts with: ganglia, idutils
/usr/local/Cellar/coreutils/8.23 (214 files, 10M)
  Poured from bottle
/usr/local/Cellar/coreutils/8.23_1 (214 files, 10M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/coreutils.rb
==> Dependencies
Build: xz 
==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:

    PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:

    MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
Dieseltime
la source
Il convient de noter que gls (GNU ls) n'active pas la couleur en définissant simplement la variable d'environnement CLICOLOR comme le fait la commande BSD ls par défaut d'OS X. De plus, le commutateur -G pour activer la couleur dans BS ls ne fonctionne pas pour GNU ls et --color ne fonctionne pas pour BSD ls. Vous DEVEZ définir un alias pour que ls ajoute le commutateur --color si vous voulez que toutes vos commandes ls soient colorisées. Pour référence à partir de "man ls" (version BSD): "-G Activer la sortie colorisée. Cette option équivaut à définir CLICOLOR dans l'environnement."
Mark Edington
En utilisant gls --color après avoir installé coreutils, j'ai obtenu la coloration par défaut, pas les couleurs de mon var LSCOLORS. Depuis que j'avais tracé mon chemin vers les outils gnu par défaut par leurs noms habituels, j'ai juste fait rm which lspour revenir à / bin / ls qui fonctionnait bien. Étonnamment, cela a énervé la coquille actuelle, qui ne pouvait plus trouver de ls, mais les nouvelles coquilles ont bien fonctionné. bash n'a pas de rehash, donc je ne comprends pas pourquoi il a été raccroché sur / usr / local / opt / coreutils / libexec / gnubin / ls
Aaron McMillin
1

Dans Terminal> Préférences de Temrinal, sélectionnez le profil du type de session que vous utilisez et vérifiez sous l'onglet Avancé la déclaration de terminal que vous utilisez. Très probablement, celui sélectionné ne prend pas en charge la coloration ANSI. xterm-256color devrait prendre en charge ce que vous attendez.

ColonelMode
la source
Je viens de vérifier, le terminal est déjà réglé sur xterm-256color (question mise à jour pour refléter cela et d'autres informations)
Shahbaz