Ändern Sie die Terminalfarbe basierend auf der SSH-Sitzung

28

Ist es möglich, die Farbe des Terminals basierend auf dem Server, mit dem ich über SSH verbunden bin, automatisch zu ändern?

Wenn ich zum Beispiel das Terminal hochfahre, hat es die unter meinem Profil definierten Standardfarben. Dann gehe ich zu ssh.example.com und die Farbe wechselt stattdessen zu schwarz & grün. Dann beende ich die Sitzung und die Farbe kehrt zum Standardfarbschema zurück.

Ich weiß, dass Sie dies manuell tun könnten. Aber ich suche einen automatisierten Weg.

karlingen
quelle

Antworten:

23

Ja, Sie können den PS1Wert in .bashrcfile für jeden Hostnamen ändern, mit dem Sie eine Verbindung herstellen ssh.

Sehen diese Antwort an, um zu sehen, wie Sie Ihre Kostüme anpassen können, während Sie den PS1Wert der Bash ändern .

ssh gefärbt

Auf meiner Maschine (radu @ Radu) habe ich in .bashrc:

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

Auf dem gehosteten Rechner (radu @ ubuntu) habe ich:

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
quelle
5
Wie genau hast du es geschafft, die Hintergrundfarbe zu ändern?
Chrisg86
Die '3x'-Codes ändern die Vordergrundfarbe. Die '4x'-Codes ändern die Hintergrundfarbe. Beachten Sie, dass der gehostete Computer vierfache Codes hat, der lokale jedoch nicht. arwin.net/tech/bash.php
FlipMcF
Gibt es eine Möglichkeit, das gleiche Ergebnis zu erzielen, ohne etwas an der Remote-Box zu ändern? Wir verwenden VMs, und Änderungen würden nicht lange
Christian