Terminal que no muestra colores para listados de directorio

9

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

Yo he tratado:

  1. ls -G
  2. Ajuste 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) -release (x86_64-apple-darwin13)
  2. osx: 10.9.2

Tengo instalado Homebrew

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

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

Shahbaz
fuente
Intenta correr printf '\e[32mtest\n', si eso funciona, entonces es un problema ls.
0942v8653
También estoy teniendo este problema. Para extender lo que ha intentado, el problema persiste con el comando gls de coreutils. El comentario anterior cambia con éxito el color del mensaje. Mi problema parece ser con el tema SolarizedDark, ya que cambiar el color en las preferencias de Terminal.app en otros temas funciona.
agweber

Respuestas:

4

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

brew update
brew install coreutils

Entonces deberías 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"
Dieseltime
fuente
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 interruptor -G para habilitar el color en BSD ls no funciona para GNU ls ni --color funciona para BSD ls. DEBE definir un alias para ls para agregar el modificador --color si desea que todos sus comandos ls estén coloreados. Para referencia de "man ls" (sabor BSD): "-G Habilitar salida coloreada. Esta opción es equivalente a definir CLICOLOR en el entorno".
Mark Edington
Usando gls --color después de instalar coreutils obtuve un color predeterminado, no los colores de mi var LSCOLORS. Dado que había cambiado mi camino a las herramientas de GNU por sus nombres habituales, simplemente hice rm which lspara volver a / bin / ls, que funcionó bien. Sorprendentemente, esto enojó a la cáscara actual, que ya no podía encontrar ls, pero las nuevas cáscaras funcionaron bien. bash no tiene una repetición, así que no entiendo por qué se colgó en / usr / local / opt / coreutils / libexec / gnubin / ls
Aaron McMillin
1

En Terminal de Temrinal> Preferencias, 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 sea compatible con la coloración ANSI. xterm-256color debería admitir lo que espera.

CoronelMode
fuente
Acabo de comprobar, el terminal ya está configurado en xterm-256color (pregunta actualizada para reflejar esta y otra información)
Shahbaz