Zmień kolor terminala na podstawie sesji SSH

28

Czy można automatycznie zmienić kolor terminala w oparciu o serwer, z którym jestem połączony przez SSH?

Na przykład, kiedy odpalam terminal, ma on standardowe kolory zdefiniowane pod moim profilem. Następnie przesyłam ssh do ssh.example.com, a kolor zmienia się na czarno-zielony. Następnie kończę sesję i kolor powraca do standardowego motywu kolorów.

Wiem, że możesz to zrobić ręcznie. Ale szukam zautomatyzowanego sposobu.

karlingen
źródło

Odpowiedzi:

23

Tak, możesz to zrobić, zmieniając PS1wartość w .bashrcpliku na każdej nazwie hosta, z którą się łączysz ssh.

Zobacz tę odpowiedź, aby zobaczyć, jak się kostiumować, kiedy podoba Ci się bash zmieniający PS1wartość.

kolorowe ssh

Na mojej maszynie (radu @ Radu) mam .bashrc:

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

Na hostowanym komputerze (radu @ ubuntu) mam:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;40m\]\u@ubuntu\[\033[00;40m\]:\[\033[01;34;40m\] \w\[\033[01;32;40m\] > '
Radu Rădeanu
źródło
5
Jak dokładnie udało Ci się zmienić kolor tła?
chrisg86,
Kody „3x” zmieniają kolor pierwszego planu. kody „4x” zmieniają kolor tła. Zauważ, że hostowany komputer ma kody „4x”, ale lokalny nie. arwin.net/tech/bash.php
FlipMcF
Czy istnieje sposób na uzyskanie tego samego wyniku bez zmiany czegokolwiek na zdalnym urządzeniu? Używamy maszyn wirtualnych i zmiany nie będą się długo utrzymywać ...
Christian