Couleurs en connexion ssh

8

J'ai un terminal bash coloré (par exemple, ls et vim affichent les couleurs lorsqu'ils sont configurés pour le faire).

Comment puis-je avoir ces couleurs lors de la connexion à un serveur distant via ssh?

Adam Matan
la source

Réponses:

3

Lisez la sous- section dircolors.sh du livre "Beyond Linux From Scratch":

Ce script utilise les fichiers ~/.dircolorset /etc/dircolorspour contrôler les couleurs des noms de fichiers dans une liste de répertoires. Ils contrôlent la sortie colorisée de choses comme ls --color . L'explication de la façon d'initialiser ces fichiers se trouve à la fin de cette section.

cat > /etc/profile.d/dircolors.sh << "EOF"
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
if [ -f "/etc/dircolors" ] ; then
        eval $(dircolors -b /etc/dircolors)

        if [ -f "$HOME/.dircolors" ] ; then
                eval $(dircolors -b $HOME/.dircolors)
        fi
fi
alias ls='ls --color=auto'
alias grep='grep --color=auto'
EOF
nik
la source
9
Pouvez-vous développer un peu votre réponse? La question a 2800 vues - serait formidable d'ajouter un peu plus de contexte.
slhck
Fedora 20 est également livré avec un script colorls.sh .
Cristian Ciupitu
3

En utilisant une combinaison de /unix/9883/how-can-i-run-a-script-immediately-after-connecting-via-ssh et de la réponse de nik, vous pouvez faire:

ssh host.example.com -t '. /etc/profile; . ~/.profile; /bin/bash'

Cela exécutera vos scripts de profil lors de la connexion, puis ouvrira un shell bash. Vos scripts de profil sont l'endroit où les couleurs sont définies.

Ou, pour plus de commodité, ajoutez les éléments suivants à votre ~/.ssh/configfichier:

Host *
  LocalCommand . /etc/profile; . ~/.profile; /bin/bash
Jeremy Ninnes
la source