9 votes

La sortie de ls n'a pas de couleur lorsque l'on se connecte en SSH à une autre machine avec iTerm2, mais elle en a avec Terminal.

Comme le dit le titre, quand je ssh à mon serveur Fedora de travail avec iTerm2 je n'obtiens pas de couleur ls sortie. Lorsque je ssh au même serveur avec l'application Terminal par défaut d'OS X, ls La sortie couleur fonctionne très bien.

EDIT : Tous les autres ls La sortie est colorisée correctement. L'iTerm2 et le Terminal affichent tous deux ls localement comme coloré, et Terminal fonctionne correctement lorsqu'il est connecté en SSH à la machine de travail.

La seule fois où je ne suis pas colorisé ls La sortie est quand j'utilise iTerm2 pour SSH à ma machine de travail. Le terminal produit une sortie colorée ls lorsqu'il est connecté en SSH à ma machine de travail, tout comme PuTTY sous Windows.

Lorsque je me connecte en SSH à ma machine de travail depuis iTerm2, 'ls -G' ne fait pas non plus de différence. Toujours pas de coloration sur la sortie de ls.

De plus, lorsque je me connecte en SSH à mon ordinateur de bureau à partir d'iTerm2, l'icône uniquement La chose sur laquelle je ne vois pas de couleur est la sortie de ls . Mon prompteur est colorisé, vim travaille avec la couleur, et si je echo $TERM Je vois. xterm-256color .

Des idées ?

11voto

Aaron Lake Points 3622

ls sortie avec des couleurs ( ls -G ) n'est pas l'option par défaut. Exécutez la commande suivante dans votre terminal pour activer ls colors par défaut :

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

Cette session et toutes les sessions futures du terminal afficheront désormais les couleurs correctement.


Si vous ne voyez toujours pas de couleurs sur votre session distante (ou locale), suivez ces étapes :

Dans iTerm, vérifiez que vous envoyez un type de terminal qui supporte les couleurs. Ouvrez la fenêtre des préférences -> Profils -> Défaut -> Terminal. Je vous recommande de mettre xterm-256color comme type de terminal.

Terminal Preferences

Tout en étant connecté à la machine distante, exécutez ls -G et ouvrez à nouveau les préférences de l'iTerm : fenêtre des préférences -> profils -> Défaut -> Couleurs. Ajustez les Couleurs ANSI, et tournez le bouton contraste minimum jusqu'à ce que les couleurs de la fenêtre du terminal commencent à apparaître.

Terminal Colors

Si le système distant prend en charge ls --color=always supprimez tous les alias existants dans ~/.profile ou ~/.bashrc et mettez-les à jour comme suit :

echo "alias ls='ls --color=always'" >> ~/.bashrc

9voto

cdugga Points 1343

J'ai eu le même problème. J'ai découvert que le thème de couleurs que j'utilisais dans iTerm (solarisé) redéfinissait les couleurs ls utilisé sur l'hôte ssh, ce qui les rend impossible à distinguer.

Vous pouvez essayer ce qui suit pour vérifier si ce n'est pas le cas pour vous :

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

Si cela montre des couleurs, vous devrez peut-être redéfinir les couleurs sur la machine linux. La commande suivante définit (certaines) couleurs de ls pour qu'elles soient similaires aux valeurs par défaut de OS-X :

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

Pour éditer les couleurs sous linux, voir la page de manuel dircolors. Vous pouvez également lire ce qui suit sur la façon de définir les couleurs à partir de .bashrc : https://github.com/seebi/dircolors-solarized#installation

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X