Ä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.

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.