SSH 세션에서 터미널 텍스트 색상을 다르게 설정

SSH 세션에서 터미널 텍스트 색상을 다르게 설정

원격 호스트의 색상 구성을 수정하지 않고 SSH 세션에서 내 터미널(konsole)이 다른 텍스트 색상을 표시하도록 하는 방법이 있습니까? 예를 들어, 자동으로 다른 프로필로 전환되나요?

Konsole은 이러한 다양한 "프로필"을 사용할 수 있습니다

대체 텍스트

기본적으로 SSH 세션 내에서 다른 프로필로 변경하고 싶습니다. 따라서 검정색 배경의 기본 녹색 텍스트를 흰색 배경의 검정색 텍스트 등으로 변경하지 마십시오.

이 프로필 설정을 사용할 필요는 없습니다. 하지만 xterm이나 뭔가에 그런 설정이 있다면 그것도 괜찮을 것입니다.

아이디어는 특정 시스템의 특정 세션뿐만 아니라 모든 SSH 세션에서 작업하는 것입니다.

답변1

한 가지 가능성은 터미널이 지원하는 경우 터미널의 색상 변경 이스케이프 시퀀스를 사용하는 것입니다. 분명히 konsole은 그것을 지원하지 않습니다. Xterm 제어 시퀀스 문서(ctseq):

OSC PS; 플래티넘 벨

Ps=4; C; 사양 -> 색상 번호 c를 사양에 지정된 색상, 즉 XParseColor 이름 또는 RGB 사양에 따라 변경합니다. c-이름 쌍은 원하는 수만큼 제공될 수 있습니다. 색상 번호는 ANSI 색상 0-7, 밝은 버전 8-15 및 나머지 88색 또는 256색 표(지원되는 경우)에 해당합니다.

이는 제어 순서에 따라 색상의 모양이 변경됨을 의미합니다.\e]4;NUMBER;VALUE\a숫자.숫자색상 번호입니다(0-7은 8개의 기본 색상을 나타내고, 8-15는 밝은 버전을 나타내며, 터미널이 더 많은 색상을 지원하는 경우 그 이상을 나타냅니다). 이것이런거야X 구문 분석 색상예를 들어 RGB 사양을 이해 #123456하거나X 색상 이름rgb.txt(컴퓨터에서 찾아보거나 xcolors가능성을 확인하는 데 사용하세요).

예를 들어, 다음 명령은 일부 녹색을 포함하도록 기본 파란색(색상 4)과 밝은 변형(4+8)을 변경합니다.

printf '\033]4;4;#004080;12;#0040ff\007'

이렇게 하면 현재 특정 색상으로 표시된 창의 모든 문자가 변경됩니다. 나중에 표시되는 문자의 색상 의미를 변경할 수 있는 방법은 없습니다. 원하는 경우 터미널과 통신할 때 다른 색상 번호를 사용하도록 터미널 내에 표시되는 각 프로그램을 구성해야 합니다.

ssh 세션에서 입력할 때 이런 일이 발생하는 것은 매우 복잡하지만 일반적인 경우를 처리하는 것은 매우 간단합니다. ssh용 래퍼를 사용하여 팔레트를 변경한 다음 ssh를 실행하고 마지막으로 팔레트를 다시 변경합니다. 처리할 수 없는 상황의 예로는 ssh 프로세스 일시 중단, screen 또는 tmux 내에서 ssh 실행 등이 있습니다.

답변2

Konsole의 설정 탭 중 하나에 "내 셸 대신 사용자 정의 명령 실행"과 같은 내용이 있는 곳이 있나요?

그렇다면 다음을 수행할 수 있습니다. (이것은 제가 Gnome 터미널에 대해 설정한 것이므로 Konsole에 대해 약간 조정해야 할 수도 있습니다. Konsole과 차이점이 있으면 기꺼이 업데이트해 드리겠습니다.)

  1. 원하는 색 구성표로 프로필을 만듭니다.
  2. "사용자 정의 명령 실행" 상자를 체크하세요.
  3. ssh [remote host alias]"Custom Command" 텍스트 상자 에 입력하세요.
    • 로컬 터미널처럼 실행하고 를 입력할 때 탭을 닫으려면 exit"명령이 종료될 때: 터미널 종료"(또는 이에 상응하는 항목)를 선택하세요.

이 설정을 사용하면 선택한 프로필이 포함된 새 탭을 열면 자동으로 SSH 세션에 연결되어 원하는 색 구성표가 적용됩니다.

그러나 이는 SSH 연결에서는 작동하지 않는다는 단점이 있습니다. (위에서 언급한 것처럼 각 SSH 연결에 대해 구성 파일을 설정해야 합니다. 단, 원격 호스트에 들어갈 수 있도록 스크립트를 작성할 수는 있습니다. 프로필 열기), 기본 프로필로 설정하지 않는 한 해당 프로필을 구체적으로 열어야 합니다.

답변3

xterm(및 일부 다른 X11 터미널 에뮬레이터)에서 배경색과 전경색을 변경하는 순서는 \33]11;black\7및 입니다 \33]10;green\7. xtermcontrol더 쉽게 만드는 명령이 있습니다 .

xtermcontrol --bg black --fg green

따라서 ssh 명령을 다음과 같이 재정의할 수 있습니다.

ssh() {
  [ -t 2 ] && xtermcontrol --bg black --fg green
  command ssh "$@"
  [ -t 2 ] && xtermcontrol --bg white --fg black
}

관련 정보