Lorsque je me connecte par ssh à des hôtes distants, tout n'est qu'une seule police/couleur. J'aimerais avoir des couleurs comme je le fais localement, par exemple vert pour l'exécutable et bleu pour les liens symboliques, etc. Et de telle sorte que lorsque je lance $ git diff sur l'hôte ssh, il me montre diff avec des couleurs =)
Réponses
Trop de publicités?J'ai essayé de changer ~./bashrc
(tant sur le serveur local que sur le serveur distant), mais cela ne semble pas fonctionner.
Puis j'ai remarqué que ~/.bashrc
du serveur distant ne s'exécute même pas si je m'y connecte par ssh. J'ai donc fait ~/.bashrc
du serveur distant à exécuter par mettre if [ -f ~/.bashrc ]; then . ~/.bashrc fi
dans l'interface du serveur distant ~/.bash_profile
. (sur la base de https://stackoverflow.com/questions/820517/bashrc-at-ssh-login ).
Cette solution ne nécessitait donc pas de modifier les ~/bashrc
directement, mais il a fallu modifier ~/bash_profile
du serveur distant afin que ~/bashrc
du serveur distant a été exécuté.
Dans ma situation, j'ai récemment installé chef-local
et il m'a demandé d'ajouter une ligne à .bash_profile
. Quand je me connecte, .bashrc
ne se charge plus, parce qu'il a vu .bash_profile
.
Ce que j'ai fait, c'est ajouter une ligne dans .bash_profile
:
source .bashrc
export PATH="/opt/chefdk/embedded/bin:$PATH"
Je me suis déconnecté et reconnecté et j'ai eu mon terminal coloré tout de suite.
Il y a un commentaire de "Mike E" ci-dessus qui contient la réponse pour moi, mais il n'est pas seulement difficile à lire, il est également difficile de comprendre ce qu'il veut dire si vous n'utilisez pas le logiciel .bashrc
beaucoup - et je ne le fais pas.
Après avoir fait quelques manipulations, j'ai obtenu les résultats souhaités en modifiant les lignes suivantes dans le fichier ~/.bashrc
sur la machine à laquelle je me suis connecté avec ssh :
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
à :
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
xterm) color_prompt=yes;;
esac
Je pense que j'aurais pu simplement ajouter "|xterm" après "color" dans la première ligne, ou creuser et comprendre pourquoi ssh utilisait "xterm" au lieu de "xterm-color" et changer cela, mais cela fonctionne et j'ai d'autres choses à faire maintenant.