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?

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

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.