호스트 이름을 기준으로 터미널 배경색을 변경하고 싶습니다. 이것에 대한 나의 추론은 주로 내가 어떤 서버에 있는지 상기시켜주는 여분의 방법이 있기 때문에 어리석은 일을하지 않습니다.
로컬 컴퓨터에 있으면 표준 가지 배경을 사용하고 프로덕션 웹 서버 또는 지정할 수있는 다른 호스트로 ssh하면 빨간색으로 변경되도록 할 수 있습니까?
호스트 이름을 기준으로 터미널 배경색을 변경하고 싶습니다. 이것에 대한 나의 추론은 주로 내가 어떤 서버에 있는지 상기시켜주는 여분의 방법이 있기 때문에 어리석은 일을하지 않습니다.
로컬 컴퓨터에 있으면 표준 가지 배경을 사용하고 프로덕션 웹 서버 또는 지정할 수있는 다른 호스트로 ssh하면 빨간색으로 변경되도록 할 수 있습니까?
답변:
별명을 사용할 때마다 ssh / config의 localcommand 옵션을 사용하여 명령을 실행할 수 있습니다. 나는 사용한다
host hostname
user myusername
localcommand xtermcontrol --bg '#abc'
이것은 xtermcontrol과 xterm 인 용어에 따라 다릅니다. 다른 용어에 대한 다른 앱이있을 수 있습니다.
이 방법의 유일한 문제점은 ssh를 호출 할 때 발생한다는 것입니다. 색상 변경을 취소 할 것은 없습니다. ssh 주위에 함수를 배치 하여이 작업을 수행했지만 단점도 있습니다.
function ssh() {
FG=$(xtermcontrol --get-fg)
BG=$(xtermcontrol --get-bg)
$(which ssh) "$@"
xtermcontrol --fg="$FG"
xtermcontrol --bg="$BG"
}
어떤 기능이 있다는 것 같지 않습니다 gnome-terminal
하는 기존 창에 새 탭을 추가 명령 줄에서이. 그러나 원하는 것을 달성하기위한 몇 가지 옵션이 있습니다.
gnome-terminal
SSH로 연결할 각 호스트에 대한 새 프로파일을 작성하십시오 . 정기적으로 연결하는 호스트가 몇 개인 경우 가장 간단한 호스트 일 수 있습니다. 각 프로파일은 서로 다른 제목, 전경색, 배경색, 사용자 정의 명령 및 기타 설정을 가질 수 있습니다. 그런 다음 File -> Open Tab
선택한 프로필로 새 탭을 열 수 있습니다 .
gnome-terminal
다른 SSH 호스트에 연결할 때마다 새 창을 여는 데 사용할 새 프로필을 만듭니다 ( Stefano가 지적한 이 AskUbuntu 답변 을 바탕으로 ). 많은 다른 호스트에 자주 연결하면 효과적입니다. 이렇게하면 배경 / 배경색만으로 다른 호스트에 연결된 다른 창 을 구별 할 수 없지만 창마다 제목이 다릅니다.gnome-terminal
gnome-terminal
프로파일을 File -> New Profile
기반으로 새 프로파일 ( )을 작성하고 Default
"RemoteHost"라고 부릅니다 (명령을 쉽게하기 위해 "RemoteHost"에 공백이 없음).Title and Command
탭을 변경 :
Initial title:
"원격 호스트"로When terminal commands set their own titles:
에 Replace initial title
Colors
탭을 변경 :
Use colors from system theme
Build-in schemes:
에 Custom
Text color:
그리고 Background color:
당신의 선택의 색깔에. (와 같은 ls
) 일부 명령 은 출력에 색상을 사용하므로 출력을 읽기 어려운 색상을 선택하고 싶지는 않습니다.Close
버튼을 클릭 하여 새 프로필을 저장하십시오.gnome-terminal
명령을 사용하여 각 원격 SSH 호스트에 대한 새 창을 열 수 있습니다 gnome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost
. 이 -t
옵션은 gnome-terminal
창 제목을 설정 -x
하고이 옵션은 터미널의 나머지 명령 줄을 실행합니다. alias
전체 키 입력을 단축 할 수도 있습니다.+ + 키보드 단축키를 사용하여 현재 창 에서 새 탭을 열려면 and 명령 (우분투에는 기본적으로 설치되지 않았으므로 먼저 설치해야 할 수도 있음)을 사용 하는 다음 스크립트 로이 블로그 항목 을 찾았 습니다. . 특정 프로파일로 새 탭을 열고 일부 명령을 실행하도록 수정할 수 있습니다.xdotool
wmctrl
gnome-terminal
CtrlShifttgnome-terminal
#!/bin/bash
# Path: /usr/local/bin/gnome-terminal
if [ "x$*" != "x" ]; then
/usr/bin/gnome-terminal "$@"
else
pgrep -u "$USER" gnome-terminal | grep -qv "$$"
if [ "$?" == "0" ]; then
WID=`xdotool search --class "gnome-terminal" | head -1`
xdotool windowfocus $WID
xdotool key ctrl+shift+t
wmctrl -i -a $WID
else
/usr/bin/gnome-terminal
fi
fi
창의력을 발휘하고 다른 것을 시도해 볼 수 있습니다.
이 수퍼 유저 답변은 기본적으로 약간의 "script-fu"곡예사를 gnome-terminal
사용하여 새 창을 여는 데 사용되는 임시 프로필 을 만듭니다 . 사용하기 위해 수정 될 수 있습니다.
이 StackOverflow Q & A 및 "script-fu"곡예사 gnome-terminal
를 사용하여 원격 호스트에 SSH 할 때마다 제목 을 동적으로 변경할 수 있습니다. 배경 / 전경색 변경만큼 눈에 띄지는 않지만 항상 표준 Terminal
타이틀 보다 낫습니다 .
각 ssh 세션마다 새로운 gnome-terminal 창을 사용하려는 경우 Gnome에서 작동합니다.
"원격"이라는 새 프로필 (배경색이 다른)을 만듭니다.
에 다음을 삽입 .bash_aliases
하거나.bashrc
### add to .bash_aliases, for differentiating between local and remote hosts
sshhelper() {
gnome-terminal --window-with-profile=Remote -x bash -c "ssh $1";
}
alias sshc=sshhelper
이제 "원격"프로필 sshc remote-machine
로 새로운 그놈 터미널 세션을 엽니 다 . 이것은 로컬 프로파일과 원격 프로파일을 구별합니다.
여러 개의 프로필 / 호스트를 수용하려면 여러 개의 프로필을 만들고 대신 다음과 같이 배치하십시오 .bash_aliases
.
### add to .bash_aliases, for differentiating between multiple remote hosts
sshhelper() {
HOST=`echo $1 | cut -d'@' -f2`
case $HOST in
Production ) PROFILE="Red" ;;
Test ) PROFILE="Green" ;;
# ... if you have more cases ...
*) PROFILE="Default" ;;
esac
gnome-terminal --window-with-profile=$PROFILE -x bash -c "ssh $1";
}
# alias ssh=sshhelper # this will "override" the ssh command, but may break other stuff!
alias sshc=sshhelper
이제 sshc Production
"Red"프로파일을 사용하여 새 세션 창을 sshc Test
열고 "Green"프로파일을 사용하여 새 세션 창을 열고 다른 호스트는 "Default"프로파일을 사용합니다.
여기에서 스택 *** 사이트에서 모든 정보를 수집하는 것은 민트 메이트 + 메이트 터미널에 대해 가장 간단한 해결책입니다 (그놈과 동일).
sudo apt get install xdotool
이제 각 ssh 세션이 설정된 후 프로파일을 변경할 수 있도록 / etc / ssh / ssh_config를 수정할 수 있습니다.
Host *
PermitLocalCommand yes
LocalCommand xdotool key Alt+Page_Down
이제 터미널에 각 ssh 연결이 설정되면 프로파일이 변경되고 원하지 않는 SQL 업데이트를 프로덕션 데이터베이스에 다시 넣지 않습니다. :)
그러나 ssh 연결이 닫힌 후 기본 프로필로 다시 쉽게 전환 할 수있는 방법은 없습니다. 그러나 이것은 나에게 충분 해 보이며 더 많은 정보를 찾기 위해 파고 들지 않았습니다.