iTerm2에서 ssh에서 배경색을 변경하는 방법
지금 어디에서 작업하고 있는지를 알기 쉽게 하고 싶다고 생각하고 조사하고 있었는데, ssh 때에 배경색을 바꾸는 방법을 발견했기 때문에 이용해 보기로 했습니다.
환경
외형 이미지
이런 느낌이 듭니다.
색이 많은 탓에 커서가 어디에 있는지 알기 어려워진다는 부작용은 있습니다만, 어디에서 작업하고 있는지는 알기 쉬워졌다고 생각합니다.
코드
아래의 코드를 적당한 장소에 배치해, 권한을 부여한 다음에
alias ssh=/some/bin/ssh-background
와 같이 alias를 설정하는 것으로 ssh시에 색을 칠 수 있습니다.#!/bin/bash
# Installation:
# 1. Save this script to /some/bin/ssh-background
# 2. chmod 755 /some/bin/ssh-background
# 3. alias ssh=/some/bin/ssh-background
# 4. Configure your host colors below.
# from https://gist.github.com/BugRoger/789887
set_color() {
local HEX_FG=$1
local HEX_BG=$2
local OPACITY=$3
local FG_R=`echo $HEX_FG | sed 's/../0x&,/g' | awk -F "," '{printf("%d",$1 * 257)}'`
local FG_G=`echo $HEX_FG | sed 's/../0x&,/g' | awk -F "," '{printf("%d",$2 * 257)}'`
local FG_B=`echo $HEX_FG | sed 's/../0x&,/g' | awk -F "," '{printf("%d",$3 * 257)}'`
local BG_R=`echo $HEX_BG | sed 's/../0x&,/g' | awk -F "," '{printf("%d",$1 * 257)}'`
local BG_G=`echo $HEX_BG | sed 's/../0x&,/g' | awk -F "," '{printf("%d",$2 * 257)}'`
local BG_B=`echo $HEX_BG | sed 's/../0x&,/g' | awk -F "," '{printf("%d",$3 * 257)}'`
/usr/bin/osascript <<EOF
tell application "iTerm"
tell current session of first window
set foreground color to {$FG_R, $FG_G, $FG_B}
set background color to {$BG_R, $BG_G, $BG_B}
set transparency to "$OPACITY"
end tell
end tell
EOF
}
# ホストごとに色を決める
if [[ "$@" =~ host0.example.com ]]; then
set_color ffffff 330000 0.2
elif [[ "$@" =~ host1.example.com ]]; then
set_color ffffff 000033 0.2
fi
ssh $@
set_color ffffff 000000 0.2
사이고에게
호스트마다 색을 결정하는 곳은 ssh/config를 보고 생성할 수 있게 되면 되겠다고 생각했기 때문에 향후 해 볼까라고 생각하고 있습니다.
색이 붙은 것은 좋지만 커서의 위치가 알기 어려워지기 때문에 좀 더 조정 필요하다고 생각했습니다.
참고 HP
Reference
이 문제에 관하여(iTerm2에서 ssh에서 배경색을 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mitsu9/items/73c0ebf5862d533f4aed텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)