원격 시스템으로 다시 돌아올 때 터미널 색상 변경


8

원격 시스템에 ssh 할 때 자동으로 터미널 색상을 변경하고 ssh 세션을 종료 할 때 기본 색상으로 되돌릴 수있는 방법을 찾으십시오. 간단히 말하면, 원격 컴퓨터에서 작업 할 때 다른 색상을 원합니다.

어떤 생각?

추신 : iTerm2를 사용하지 않고 표준 Terminal.app를 사용하십시오.

답변:


9

나는 다음을 사용하고 있습니다.

mysshcontent 라는 쉘 명령을 사용하십시오 .

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

다음과 같이 연결에 bash 별명을 사용하십시오.

alias ssweb='myssh Homebrew user@web.example.com'
alias ssmail='myssh Ocean me@mail.example.com'

웹 서버에 넣고 싶을 때 간단히 ssweb터미널에 쓰고 "Homebrew"프로파일을 얻었습니다. ssh 세션이 종료되면 AppleScript는 "기본"으로 다시 설정됩니다.

별명은 $ HOME / .profile 또는 유사한 bash-startup 파일로 이동해야합니다.

"Homebrew", "Ocean"등은 Terminal.app 환경 설정의 설정 프로파일입니다. 다른 글꼴, 인코딩 등을 설정할 수도 있습니다.

물론 다음과 같이 직접 별명없이 사용할 수 있습니다.

myssh Pro user@another.machine.example.com
       ^        ^
       |        ssh command arguments
       terminal profile name

iterm2에 대해 어떻게 하시겠습니까? 감사!
Cosu

나는 그것이 일부 텍스트 선택 후 "정력"에 때하여 ITerm 사용을 중단 밖으로 컷 대신 사본의 선택을 .. (그래서, 불행하게도, 내가 iTerm2 솔루션에 대한 생각을하지 않았습니다.
jm666

감사합니다! 나는 이것을 잠시 동안 수행하는 다양한 kludgy 방법을 살펴 봤지만, 방법은 간단하고 유연합니다. 하드 코딩 된 환경 설정 세트를 사용하여 여러 개별 스크립트 주위에 집중하지 않고 서로 다른 별명에서 프로파일과 명령을 취할 수있는 작은 프레임 워크를 개발할 때의 보너스 포인트.
octern

2

이미 몇 가지 답변이 있지만 다음과 같은 대안이 있습니다.

배경색을 변경하는 일반적인 방법은 없지만 표준 방법을 사용하여 창 제목을 변경할 수 있습니다. "Unix 서버"이외의 많은 장치 (예 : 네트워크 장치, 라우터, 스위치, 방화벽 등)에 로그인하는 경우 해당 쉘을 사용해야하며 고유 한 쉘 변수를 설치할 수 없습니다. 여기 또 다른 방법이 있습니다.

function ssh() {
  H=$(echo $@ | sed -e 's/.*@//g;s/ .*//g')
  echo $@ | grep '@' && U=$(echo $@ | sed -e 's/@.*//g;s/.* //g')
  echo -ne "\033]0;${U:=$(whoami)}@${H%%.*}\007"
  unset H
  unset U
  /usr/bin/ssh $@
}

에 추가하십시오 .bashrc.

기본적으로 함수와 별칭이 경로를 찾는 것보다 선호되므로 ssh 명령을 사용하고 "@"앞뒤에있는 텍스트를 사용하여 HOST 및 USER 변수를 설정 한 다음 ASCII 코드를 인식하는 ASCII 코드를 에코합니다. 터미널과 제목을 설정하는 데 사용됩니다.

"ssh -l user host.blah"가 아니라 "ssh user@host.blah"를 사용해야합니다.

사용자 이름을 제공하지 않으면 현재 사용자 이름으로 설정됩니다 (분명히 많이 사용하는 사용자 지정 .ssh / config를 사용하는 경우 이것은 정확하지 않지만 충분하다고 생각합니다. 유용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.