ls output non ha colore mentre SSHing su un'altra macchina con iTerm2, ma con Terminal

7

Proprio come dice il titolo, quando I ssh al mio server Fedora di lavoro con iTerm2 non ottengo l'output di colore ls . Quando I ssh sullo stesso server con l'app Terminal predefinita di OS X, l'output di colore ls funziona perfettamente.

EDIT: tutti gli altri output ls sono colorati correttamente. Sia iTerm2 che Terminal visualizzano ls localmente come colorati e Terminal funziona correttamente quando SSH è passato alla macchina da lavoro.

L'unica volta che non ottengo il colorized ls output è quando utilizzo iTerm2 in SSH sulla mia macchina da lavoro. Terminale produce output ls colorized quando SSH'd sul mio computer di lavoro e anche PuTTY su Windows.

Quando SSH nella mia macchina da lavoro di iTerm2 'ls -G' non fa alcuna differenza. Ancora nessuna colorazione su ls output.

Inoltre, quando SSH è andato alla mia macchina da lavoro da iTerm2, la cosa solo su cui non vedo il colore è l'output di ls . Il mio prompt è colorato, vim funziona con il colore, e se I echo $TERM vedo xterm-256color .

Qualche idea?

    
posta Pumpinglemma 14.05.2012 - 17:20
fonte

2 risposte

10

ls output con colori ( ls -G ) non è l'opzione predefinita. Esegui il seguente comando nel tuo terminale per abilitare i colori ls di default:

echo "alias ls='ls -G'" >> ~/.bashrc
source ~/.bashrc

Questa e tutte le future sessioni del terminale mostreranno i colori correttamente.

Se ancora non vedi i colori sulla tua sessione remota (o locale) segui questi passaggi:

In iTerm verifica che stai inviando un tipo di terminale che supporta i colori. Apri la finestra delle preferenze - > Profili - > Predefinito - > Terminale. Ti consigliamo di inserire xterm-256color come tipo di terminale.

Mentreseiconnessoalcomputerremoto,eseguils-GeaprinuovamentelepreferenzediiTerm:finestradellepreferenze->profili->Predefinito->Colori.RegolaicoloriANSIeabbassailminimocontrastofinchéicolorinellafinestradelterminaleinizianoamostrareilcolore.

Se il sistema remoto supporta ls --color=always , rimuovi tutti gli alias esistenti in ~ / .profile o ~ / .bashrc e aggiorna come segue:

echo "alias ls='ls --color=always'" >> ~/.bashrc
    
risposta data 14.05.2012 - 17:24
fonte
9

Ho avuto lo stesso problema. Ho scoperto che il tema del colore che ho usato in iTerm (solarized) ha ridefinito i colori ls usati sull'host ssh rendendoli impossibili da distinguere.

Puoi provare quanto segue per verificare se non è il tuo caso:

LS_COLORS="di=07;31" ls    # this will list directories as black on red 

Se questo mostra colori, potrebbe essere necessario ridefinire i colori sulla macchina Linux. Il seguente comando definisce (alcuni) i colori per essere simili ai valori predefiniti OS-X:

LS_COLORS="di=00;34:ln=00;35:so=00;32:pi=01;33:ex=00;31:bd=00;34" ls

Per modificare i colori su linux, vedere la pagina man di dircolors. Puoi anche leggere quanto segue su come impostare i colori da .bashrc: link

    
risposta data 26.06.2012 - 11:47
fonte

Leggi altre domande sui tag