![서버에 따라 터미널 모양 변경](https://linux55.com/image/64631/%EC%84%9C%EB%B2%84%EC%97%90%20%EB%94%B0%EB%9D%BC%20%ED%84%B0%EB%AF%B8%EB%84%90%20%EB%AA%A8%EC%96%91%20%EB%B3%80%EA%B2%BD.png)
저는 2개의 다른 서버(둘 다 Linux를 실행함)를 가지고 있으며 SSH를 통해 연결합니다.
로그인 후 모든 터미널 배경은 동일하게 보입니다. 서버마다 다른 색상 테마나 배경을 설정하고 싶습니다. 예를 들어, "server-1"로 ssh하면 터미널 배경이 회색으로 바뀌고, "server-2"에 로그인하면 파란색으로 변합니다.
이 목표를 어떻게 달성할 수 있나요?
참고: 저는 "MATE 터미널"을 사용하고 있습니다.
답변1
XTerm에서는 다음을 사용할 수 있습니다.제어 순서.bashrc 또는 유사한 파일에 있습니다. 좋다:
if [ "${-//[!i]/}" = 'i' ]; then case $HOSTNAME in server1) echo -e '\e]11;darkgray\a\e]10;black\a' ;; server2) echo -e '\e]11;darkblue\a\e]10;gray\a' ;; esac fi
다른 터미널 에뮬레이터에도 비슷한 기능이 있습니다.
Putty에서는 색상을 직접 구성할 수 있지만 XTerm의 이러한 제어 시퀀스가 작동하는지 확실하지 않습니다(대략 테스트하지는 않았지만 내 설정도 살펴보지 않았습니다).
tty
[ -t 1 ]
stdout을 터미널(예: or의 종료 상태)로 두는 대신 쉘 대화형 플래그를 확인하는 이유는 일부 경우(예: Ansible) 배치에 tty()를 할당하는 것이 가능하기 때문입니다. stdout으로 출력하면 ssh -tt
스트림이 "깨끗하지" 않게 되어 문제가 발생할 수 있습니다(예: Ansible).
참고: Centos 7에서 사용할 수 있는 bash, mksh, zsh 및 ksh 버전을 테스트했는데 [ "${-//[!i]/}" = 'i' ]
모든 버전에서 작동합니다.