Hier ist, was ich auf meinem Mac gemacht habe. Für jeden Server füge ich einen Eintrag in meine ~ / .ssh / config-Datei ein, z
Host app13
HostName server.example.com
User tom
PermitLocalCommand yes
LocalCommand osascript %d/bin/change_terminal_colours.scpt 12 35 35
Dieses Applescript wird ausgelöst, sobald die SSH-Sitzung eingerichtet ist. Hiermit wird die Hintergrundfarbe des Terminals auf die angegebenen RGB-Werte gesetzt (oder auf die Standardfarbe zurückgesetzt, wenn keine Farbwerte angegeben sind). Der möglicherweise knifflige Teil besteht darin, das Ende der SSH-Sitzung abzufangen, um die Farben auf die Standardeinstellungen zurückzusetzen. Dafür habe ich das folgende Shell-Skript als ~ / bin / ssh erstellt, um den Standard-Befehl ssh zu überschreiben. Dadurch werden im Wesentlichen alle Aufrufe des SSH-Befehls abgefangen und umbrochen. Ich habe versucht, Aliasing und Funktionen zu verwenden, aber diese Lösung hat am besten funktioniert:
#!/bin/bash
/usr/bin/ssh $@
osascript ~/bin/change_terminal_colours.scpt
Hier ist die Quelle für das Skript change_terminal_colours.scpt . Fügen Sie dies auch in Ihr ~ / bin-Verzeichnis ein:
on run argv
tell application "Terminal"
# NOTE: Color values range from 0 to 65535.
if (count of argv) > 0 then
set backgroundColor to {(item 1 of argv) * 256, (item 2 of argv) * 256, (item 3 of argv) * 256}
else
set backgroundColor to background color of default settings
end if
try
set background color of (selected tab of front window) to backgroundColor
end try
end tell
end run
Ich habe diese Lösung vor einer Woche geschrieben und benutze sie seitdem. Ich hoffe, andere finden es von Wert. Ich finde, es funktioniert besser als alle Lösungen, die ich von Googling gefunden habe.