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.

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\] > '

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.