Używam następujących.
Wywołaj polecenie powłoki myssh
z zawartością:
PROFILE="$1";shift;
DEF="Basic" #the default profile name
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${PROFILE}\""|osascript
ssh $@
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${DEF}\""|osascript
i użyj aliasów bash do połączenia, takich jak:
alias ssweb='myssh Homebrew [email protected]'
alias ssmail='myssh Ocean [email protected]'
Kiedy chcę ssh na serwerze WWW, po prostu piszę ssweb
w terminalu i mam profil „Homebrew”. Po zakończeniu sesji ssh AppleScript powraca do „Basic”.
Aliasy powinny znaleźć się w twoim $ HOME / .profile lub podobnym pliku bash-startup.
„Homebrew”, „Ocean” itp. To profile ustawień z preferencji Terminal.app. Możesz także ustawić różne czcionki, kodowania itp.
Oczywiście możesz go używać bezpośrednio (bez aliasów), np .:
myssh Pro user@another.machine.example.com
^ ^
| ssh command arguments
terminal profile name
Wiem, że jest już kilka odpowiedzi, ale oto alternatywa:
Nie ma ogólnego sposobu zmiany koloru tła, ale możemy użyć standardowego sposobu zmiany tytułu okna. Jeśli logujesz się na wielu urządzeniach innych niż „serwer Unix” (takich jak urządzenia sieciowe; routery, przełączniki, zapory ogniowe itp.), Musisz użyć ich powłok i nie możesz zainstalować własnych zmiennych powłoki. Oto inny sposób:
Dodaj to do swojego
.bashrc
.Zasadniczo, ponieważ funkcje i aliasy są preferowane zamiast patrzeć w ścieżkę, pobiera polecenie ssh i używa tekstu przed i po „@”, aby ustawić zmienne HOST i USER, które następnie wykorzystuje do echa kodu ASCII rozpoznawanego przez terminal i służy do ustawiania tytułu.
Musisz użyć do tego „ssh [email protected]”, a nie „ssh -l user host.blah”
Jeśli nie podasz nazwy użytkownika, ustawisz ją jako bieżącą nazwę użytkownika (oczywiście jeśli używasz niestandardowego pliku .ssh / config (którego często używam), to nie będzie to dokładne, ale myślę, że jest wystarczająco dobry być użytecznym.
źródło