os xターミナルウィンドウから別のサーバーに頻繁にログインしています。
ターミナルウィンドウを区別しやすくするために、異なるホストにカラースキームを割り当てたいと思います。これは自動的に実行できますか?
os xターミナルウィンドウから別のサーバーに頻繁にログインしています。
ターミナルウィンドウを区別しやすくするために、異なるホストにカラースキームを割り当てたいと思います。これは自動的に実行できますか?
回答:
完全なソリューションを次に示します。サーバーのIPアドレスやドメインのリスト、およびそれらに必要な色を〜/ .server_colorsに保存します。
192.168.122.102、レッドサンズ 192.168.122.103、オーシャン www.foo.com、Grass foo.com、Grass
次に、この行を〜/ .profileに追加して、sshコマンドをハイジャックします。
エイリアスssh = "〜/ bin / safe_ssh $ 1"
次に、sshターゲットの@の後のものをリストと比較します。一致する場合は、AppleScriptを実行して画面を対応する色に変更します。〜/ bin / safe_sshは次のとおりです。
#!/ bin / bash ip = `echo $ 1 | cut -d "@" -f2` match = `cat〜/ .server_colors | grep $ ip | wc -l` if [$ match -gt 0] それから color = `cat〜/ .server_colors | grep $ ip | cut -f2 -d "、" ` osascript〜/ bin / change_terminal_color.scpt "$ color" 2> / dev / null fi / usr / bin / ssh $ 1
そして最後に、〜/ bin / change_terminal_color.scptがあります
実行時にargv ウィンドウ1の選択されたタブの現在の設定を(名前が(argvのアイテム1)である最初の設定)に設定するようにアプリケーション「ターミナル」に指示します エンドラン
はい。
たとえば、「スクリーン」を使用してカスタマイズします:http : //www.slac.stanford.edu/comp/unix/package/epics/extensions/iocConsole/screen.1.html
または、可能であれば、SSHクライアントで管理できます。
これを試すこともできます:http : //www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/
@muirbotのソリューションは、私にとって非常にうまく機能しています。それに少し改善を加えました。評判がよければ、彼の投稿の下に追加します。
行を置き換える
ip =echo $1 | cut -d"@" -f2
と ip =echo $@ | grep -Eio [[:alnum:]_.-]+@[[:alnum:]_.-]+ | cut -d@ -f2
この変更により、「ssh -p 1111 userName @ host」などの追加の引数をsshコマンドに与えることができます。
正規表現では、単純なipv4アドレスとドメイン名を使用できます。
複数の引数をさらにサポートするには、最後の行を
/ usr / bin / ssh $ @
私はちょうど同じものを探していて、この記事を見つけました:
http://akrabat.com/php/osx-terminal-colours/
phpスクリプトを使用して、applescriptによって端末の色を変更します。サーバーごとに異なる色のマッピングを設定できます。私にとってはうまくいきますが、PHPのものをrubyに書き換えたいという衝動を感じます:)
fk
私は、異なるbg / fg色のxtermウィンドウでSSHを起動するスクリプトを使用します。設定が不要になるように、色スパンからホスト名のハッシュに基づいて色を選択します。
スクリプトはRubyで記述されています:https : //github.com/mickeyil/ssx
iTerm2を使用している場合は~/bin/ssh-host-color.sh
、https://gist.github.com/jbochi/31f118b8ae2882a2c90fa46c46509b57 の内容で名前が付けられたファイルを作成します。
set_term_bgcolor(){
local R=$1
local G=$2
local B=$3
/usr/bin/osascript <<EOF
tell application "iTerm"
tell the current window
tell the current session
set background color to {$(($R*65535/255)), $(($G*65535/255)), $(($B*65535/255))}
end tell
end tell
end tell
EOF
}
if [[ "$@" =~ "production.example.com" ]]; then
set_term_bgcolor 40 0 0
elif [[ "$@" =~ "qa.example.com" ]]; then
set_term_bgcolor 0 40 0
fi
trap "set_term_bgcolor 0 0 0" EXIT
ssh $@
そして、~/.aliases.sh
ファイルに次の行を追加します。
alias ssh="~/bin/ssh-host-color.sh $@"