Możesz użyć polecenia ssh LocalCommand, aby wyemitować sekwencję ucieczki ANSI w celu zmiany koloru tła, i utworzyć sekcję dla hosta (lub wzorca hosta), aby wybrać odpowiedni kolor, który ma odpowiadać zdalnemu hostowi.
Jeśli twoje serwery produkcyjne przestrzegają konwencji nazewnictwa, takiej jak „zaczyna się od prod”, możesz wypróbować następujący fragment kodu w pliku ~ / .ssh / config:
Host prod*
PermitLocalCommand yes
LocalCommand printf "\x1b[41m\x1b[2JPRODUCTION SYSTEM [%n]\n\n"
Jeśli nie ma przydatnej konwencji nazewnictwa do korzystania ze wzorów wieloznacznych, możesz po prostu wymienić nazwy hostów oddzielone spacjami. Można również tworzyć dodatkowe bloki hosta z różnymi wartościami kolorów i ciągami dla różnych innych serwerów nieprodukcyjnych.
Po podłączeniu do hosta pasującego do wzoru odpowiedni druk zostanie wykonany lokalnie, zmieniając kolor tła na czerwony ([41m wybiera kolor czerwony jako kolor tła, część [2J odświeża cały ekran zaktualizowanym kolorem tła. Zobacz https://en.wikipedia.org/wiki/ANSI_escape_code, aby uzyskać więcej opcji)
Największą niedogodnością związaną z tym podejściem jest to, że kolor tła utrzymuje się po wyjściu z sesji ssh; Nie ma odpowiednika LocalCommand, który można uruchomić przy rozłączeniu (o czym wiem). Alias lub skrypt opakowania powłoki dla ssh może zostać wywołany printf "\x1b[0m"
jako reset. Z drugiej strony ustawienie koloru tła za pomocą LocalCommand oznacza, że otrzymasz zestaw kolorów, nawet jeśli ssh nie jest uruchamiany za pomocą skryptu opakowania lub aliasu.
ls
aliasyls --color=auto
i zawiera ona sekwencję resetowania „<ESC> [0m”. Aby to utrzymać, prawdopodobnie będziesz musiał skonfigurować różne profile terminalu gnome i przejść trasę skryptu opakowania, wybierając nazwę profilu na podstawie nazwy hosta i wywołującgnome-terminal --profile=$PROFILE_NAME -e ssh $HOST &
ls --colour
LUB sekwencję resetowania w PS1, jedno z nich zastąpi poprzednie ustawienia kolorów ansi. Spróbuję więc wdrożyć proponowane rozwiązanie skryptu opakowania, co również jest doskonałym pomysłem! Merci beaucoup!