Terminal que no muestra colores para listados de directorios

No sé por qué mi sesión de bash no muestra colores. He probado Terminal así como iTerm.

Yo he tratado:

  1. ls -G
  2. Configuración export CLICOLOR=1yexport LSCOLORS=GxFxCxDxBxegedabagaced
  3. Usando diferentes temas como solarizado y algo más.

Las versiones de mi software son:

  1. bash: GNU bash, versión 3.2.51(1)-lanzamiento (x86_64-apple-darwin13)
  2. osx: 10.9.2

tengo homebrew instalado

No sé qué otra información podría ser útil. Paso mucho tiempo en el caparazón, este problema se está volviendo muy molesto :)

editar: en las preferencias del terminal, tengo 'Declarar terminal como: xterm-256color' y 'Mostrar colores ANSI' junto con 'Usar colores brillantes para texto en negrita'

Intente ejecutar printf '\e[32mtest\n', si eso funciona, entonces es un problema con ls.
Yo también tengo este problema. Para ampliar lo que ha intentado, el problema persiste con el comando gls de coreutils. El comentario anterior cambia con éxito el color del indicador. Mi problema parece ser con el tema SolarizedDark, ya que funciona cambiar el color en las preferencias de Terminal.app en otros temas.

Respuestas (2)

Sugeriría instalar GNU Core Utilities a través de Homebrew, que le dará la versión "Linux" ls(en lugar de la versión FreeBSD que viene con OS X), así como otras herramientas poderosas.

brew update
brew install coreutils

Entonces debería poder mostrar colores con:

gls --color

Además, lea las advertencias para configurar su RUTA para que pueda usar comandos como glscon sus nombres normales, es decir 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"
Vale la pena señalar que gls (GNU ls) no habilita el color simplemente definiendo la variable de entorno CLICOLOR como lo hace el comando BSD ls predeterminado de OS X. Además, el modificador -G para habilitar el color en BSD ls no funciona para GNU ls ni --color funciona para BSD ls. TIENE que definir un alias para ls para agregar el interruptor --color si desea colorear todos sus comandos ls. Para referencia de "man ls" (sabor BSD): "-G Habilitar salida coloreada. Esta opción es equivalente a definir CLICOLOR en el entorno".
Usando gls --color después de instalar coreutils, obtuve el color predeterminado, no los colores de mi LSCOLORS var. Como había modificado mi ruta para usar las herramientas gnu por defecto con sus nombres habituales, simplemente hice rm which lspara volver a /bin/ls, lo que funcionó bien. Sorprendentemente, esto molestó al shell actual, que ya no podía encontrar ls, pero los nuevos shells funcionaron bien. bash no tiene un refrito, así que no entiendo por qué se bloqueó en /usr/local/opt/coreutils/libexec/gnubin/ls

En Terminal > Preferencias de Temrinal, seleccione el perfil para el tipo de sesión que está usando y verifique en la pestaña Avanzado qué declaración de terminal está usando. Lo más probable es que el seleccionado no admita la coloración ANSI. xterm-256color debería ser compatible con lo que espera.

Acabo de verificar, la terminal ya está configurada en xterm-256color (pregunta actualizada para reflejar esta y otra información)