Il terminale non visualizza i colori per gli elenchi di directory


9

Non so perché la mia sessione bash non mostri i colori. Ho provato Terminal e iTerm.

Ho provato:

  1. ls -G
  2. Impostazione export CLICOLOR=1eexport LSCOLORS=GxFxCxDxBxegedabagaced
  3. Usando temi diversi come solarizzato e qualcos'altro

Le versioni del mio software sono:

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

Ho Homebrew installato

Non so quali altre informazioni potrebbero essere utili. Trascorro molto tempo sulla shell, questo problema sta diventando molto fastidioso :)

modifica: nelle preferenze del terminale, ho "Dichiara terminale come: xterm-256color" e "Visualizza colori ANSI" insieme a "Usa colori brillanti per il testo in grassetto"


Prova a correre printf '\e[32mtest\n', se funziona, allora è un problema ls.
0942v8653,

Ho anche questo problema. Per estendere ciò che hai provato, il problema persiste con il comando gls di coreutils. Il commento sopra cambia correttamente il colore del prompt. Il mio problema sembra riguardare il tema SolarizedDark, poiché la modifica del colore nelle preferenze Terminal.app in altri temi funziona.
agweber,

Risposte:


4

Suggerirei di installare GNU Core Utilities tramite Homebrew, che ti darà la versione "Linux" di ls(invece della versione FreeBSD fornita con OS X), così come altri potenti strumenti

brew update
brew install coreutils

Dovresti quindi essere in grado di mostrare i colori con:

gls --color

Inoltre, leggi le avvertenze per configurare il tuo PERCORSO in modo da poter usare i comandi come glscon i loro nomi normali, cioè 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 notare che gls (GNU ls) non abilita il colore semplicemente definendo la variabile d'ambiente CLICOLOR come fa il comando BSD ls predefinito di OS X. Inoltre, l'opzione -G per abilitare il colore in BSD ls non funziona per GNU ls né --color funziona per BSD ls. Devi definire un alias per ls per aggiungere l'opzione --color se vuoi che tutti i tuoi comandi ls vengano colorati. Per riferimento da "man ls" (sapore BSD): "-G Abilita output colorato. Questa opzione equivale a definire CLICOLOR nell'ambiente."
Mark Edington,

Usando gls --color dopo aver installato coreutils ho ottenuto la colorazione predefinita, non i colori del mio LSCOLORS var. Da quando avevo modificato il mio percorso di default agli strumenti gnu con i loro soliti nomi, ho appena fatto rm which lsper tornare a / bin / ls che ha funzionato bene. Sorprendentemente questo ha fatto incazzare l'attuale shell, che non riusciva più a trovarla, ma le nuove shell hanno funzionato bene. bash non ha una rehash, quindi non capisco perché sia ​​stato sospeso su / usr / local / opt / coreutils / libexec / gnubin / ls
Aaron McMillin

1

Nel Terminale di Temrinal> Preferenze seleziona il profilo per il tipo di sessione che stai utilizzando e controlla nella scheda Avanzate quale dichiarazione del terminale stai usando. Molto probabilmente quello selezionato non supporta la colorazione ANSI. xterm-256color dovrebbe supportare ciò che ti aspetti.


Ho appena controllato, il terminale è già impostato su xterm-256color (domanda aggiornata per riflettere questa e altre informazioni)
Shahbaz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.