web-dev-qa-db-fra.com

Changer la couleur du terminal en fonction de la session SSH

Est-il possible de changer automatiquement la couleur du terminal en fonction du serveur auquel je suis connecté via SSH?

Par exemple, lorsque je lance le terminal, il a les couleurs standard définies sous mon profil. Ensuite, je ssh sur ssh.example.com et la couleur devient noir et vert à la place. Ensuite, je quitte la session et la couleur revient au thème de couleur standard.

Je sais que vous pouvez le faire manuellement. Mais je cherche un moyen automatisé.

28
karlingen

Oui, vous pouvez modifier la valeur PS1 dans le fichier .bashrc de chaque nom d’hôte auquel vous vous connectez avec ssh.

Voir cette réponse pour voir comment classer à votre guise la modification de la valeur PS1.

ssh colored

Sur ma machine (radu @ Radu), j'ai dans .bashrc:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35m\]\u@\h\[\033[00m\]:\[\033[01;34m\] \w\[\033[01;37m\] > '

Sur la machine hébergée (radu @ ubuntu), j'ai:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;40m\]\u@ubuntu\[\033[00;40m\]:\[\033[01;34;40m\] \w\[\033[01;32;40m\] > '
23
Radu Rădeanu

Si vous utilisez xterm, cela fonctionne très bien.

https://github.com/fboender/sshbg

0
Ben Mathews