Lorsque je me connecte via ssh à des hôtes distants, tout n’est qu’une seule police / couleur. Je voudrais avoir des couleurs comme je le fais localement, par exemple vert pour les exécutables et bleu pour les liens symboliques, etc.
command-line
ssh
Dima
la source
la source
Réponses:
Parce que c'était xterm sur le serveur, j'ai pensé que quelque chose n'allait pas
.bashrc
Et en effet!
ls --color=auto
ne fonctionne que lorsque vous êtes connecté à TTY. Changer tout simplement--color
dans.bashrc
l'hôte distant et tout est en jolies couleurs maintenant.la source
Cela a fonctionné pour moi:
-t
était la clé. A expliqué .la source
su -
commandé dans l'invite de connexion sshOn dirait que les couleurs ont déjà été définies
~/.bashrc
pour moi et le problème est que ssh n'utilise pas le fichier bashrc. Vous pouvez utiliser bashrc dans votre session ssh en ajoutant ce qui suit à~/.bash_profile
:la source
Quel est le contenu de votre variable env XTERM sur le serveur lorsque vous vous y connectez?
la source
Dans mon cas, la partie manquante devait être de couleur ls, grep, etc., que l'on peut ajouter en ajoutant des alias au fichier .bashrc:
etc.
la source
J'ai essayé de modifier les
~./bashrc
paramètres (sur le serveur local et distant), mais cela ne semblait pas fonctionner.Ensuite, j'ai remarqué que
~/.bashrc
le serveur distant n'est même pas exécuté si je me connecte via ssh. J'ai donc fait~/.bashrc
du serveur distant pour exécuter par puttinngif [ -f ~/.bashrc ]; then . ~/.bashrc fi
dans le serveur distant~/.bash_profile
. (basé sur https://stackoverflow.com/questions/820517/bashrc-at-ssh-login ).Cette solution n’a donc nécessité aucune modification
~/bashrc
directe des fichiers, mais un~/bash_profile
fichier de serveur distant pour que ce~/bashrc
fichier soit exécuté.la source
.profile
et non.bash_profile
par défaut, et la valeur par défaut.profile
est source.bashrc
..profile
il exécuté par défaut lors de la connexion via ssh?.bash_profile
, bash s'exécute.profile
en tant que shell de connexion. Et SSH commence bash en tant que shell de connexion.~/.profile
n'est pas lu s'il~/.bash_profile
existe. Mais n'existe-t-il pas~/.bash_profile
par défaut sur Ubuntu?.profile
.Etant donné que les couleurs fonctionnaient bien tout en étant connectées directement, je me suis contenté de ne pas commenter la ligne
force_color_prompt=yes
du fichier~/.bashrc
, ce qui m'a également donné les couleurs sur ssh:(Ubuntu 18.04 LTS)
la source
Dans ma situation, j'ai récemment installé
chef-local
et il m'a demandé d'ajouter une ligne à.bash_profile
. Lorsque je me connecte,.bashrc
ne charge plus jamais, car il a vu.bash_profile
.Ce que j'ai fait a été d'ajouter une ligne dans
.bash_profile
:Je me suis déconnecté puis rentré et j'ai tout de suite eu mon terminal coloré.
la source
Il y a un commentaire de "Mike E" ci-dessus qui contenait la réponse pour moi, mais ce n'est pas seulement difficile à lire, c'est assez difficile de comprendre ce qu'il veut dire si vous n'en utilisez pas
.bashrc
beaucoup - et je ne le fais pas t.Après avoir vissé un peu, j'ai obtenu les résultats souhaités en modifiant les lignes suivantes
~/.bashrc
sur la machine à laquelle je me connectais avec ssh:à:
Je pense que j'aurais pu simplement ajouter "| xterm" après "couleur" 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 je ont d'autres choses à faire maintenant.
la source
Je perdais ma couleur lors de la connexion via un proxy car
TERM=dumb
je l'ai donc corrigée:la source