#给iterm2的ssh窗口上颜色#

经常开ssh登陆远程服务器,有时自己都分不清那个是远程那个是本地了。

今天看到一个技巧,可以让iterm2 给ssh到远程的窗口上个颜色。这样一看颜色就知道不是本地了。

首先就是编辑~.zshrc文件,在末尾加入

1
source iterm2.zsh

然后在用户目录创建一个iterm2.zsh文件,内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
tab-color() {
echo -ne "\033]6;1;bg;red;brightness;$1\a"
echo -ne "\033]6;1;bg;green;brightness;$2\a"
echo -n
}
tab-reset() {
echo -ne "\033]6;1;bg;*;default\a"
}
color-ssh() {
if [[ -n "$ITERM_SESSION_ID" ]]; then
trap "tab-reset" INT EXIT
if [[ "$*" =~ "production|ec2-.*compute-1" ]]; then
tab-color 255 0 0
else
tab-color 0 255 0
fi
fi
ssh $*
}
compdef _ssh color-ssh=ssh
alias ssh=color-ssh

看看我ssh窗口,用绿色显示了

ssh的彩色窗口