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.