mintty * tmux で、開発サーバにssh接続した際に自動的に背景色を変える
コマンドを実行するホストを間違ってしまったときの恐怖。。。
今接続しているのって開発サーバだっけ?ステージングサーバだっけ?本番だっけ?
ターミナルを複数起動しているときってドキドキしませんか?僕はします。
きちんと接続先ホストや実行するコマンドを確認すれば問題ないんですがやっぱり不安です。
僕は普段mintty * tmuxで作業するのでウィンドウ名を自動的に切り替えることで誤操作をなくそうとしていました。
ただこの方法だと以下の問題が有り正直使いにくいです。
1. ウィンドウ名がそんなに目立たない
2. 同一ウィンドウで複数ペインを起動している場合にわけがわからない
左側は本番環境。右側はローカル環境ですがウィンドウ名は「本番環境」となっています。
ウインドウ名ではなくもっと目立って、ペイン単位の何かの情報を変更しよう
背景色を変えてみようと思います。ドキュメントにもしっかりやり方が載っていますね。
http://man.openbsd.org/OpenBSD-current/man1/tmux.1#select-pane
The colour is one of: black, red, green, yellow, blue, magenta, cyan, white, aixterm bright variants (if supported: brightred, brightgreen, and so on), colour0 to colour255 from the 256-colour set, default, or a hexadecimal RGB string such as ‘#ffffff’, which chooses the closest match from the default 256-colour set.
こんな感じでかんたんに背景色が変更できます。
tmux select-pane -P 'bg=Red'
各々の環境の文字色に合わせて見やすい色を探すことをオススメします。
sshで接続したときに自動的に背景色を変える
~/.bashrc
function ssh() {
# tmux起動時
if [[ -n $(printenv TMUX) ]] ; then
# 現在のペインIDを退避
local pane_id=$(tmux display -p '#{pane_id}')
# 接続先ホスト名に応じて背景色を切り替え
if [[ `echo $1 | grep '\.production\.'` ]] ; then
tmux select-pane -P 'bg=colour52,fg=white'
elif [[ `echo $1 | grep '\.staging\.'` ]] ; then
tmux select-pane -P 'bg=colour58,fg=white'
elif [[ `echo $1 | grep '\.dev\.'` ]] ; then
tmux select-pane -P 'bg=colour95,fg=white'
fi
# 通常通りssh続行
command ssh $@
# デフォルトの背景色に戻す
tmux select-pane -t $pane_id -P 'default'
else
command ssh $@
fi
}
function ssh() {
# tmux起動時
if [[ -n $(printenv TMUX) ]] ; then
# 現在のペインIDを退避
local pane_id=$(tmux display -p '#{pane_id}')
# 接続先ホスト名に応じて背景色を切り替え
if [[ `echo $1 | grep '\.production\.'` ]] ; then
tmux select-pane -P 'bg=colour52,fg=white'
elif [[ `echo $1 | grep '\.staging\.'` ]] ; then
tmux select-pane -P 'bg=colour58,fg=white'
elif [[ `echo $1 | grep '\.dev\.'` ]] ; then
tmux select-pane -P 'bg=colour95,fg=white'
fi
# 通常通りssh続行
command ssh $@
# デフォルトの背景色に戻す
tmux select-pane -t $pane_id -P 'default'
else
command ssh $@
fi
}
sshで接続する際のホスト名に、開発環境の場合は.dev.
、ステージング環境の場合は.staging.
、本番環境の場合は.production.
という文字列を含むようにしているのでそれに合わせてif文で処理を分けます。
いろいろ試した結果こんな色に落ち着きました。指定している色の値は↑のコードをご確認ください。
Author And Source
この問題について(mintty * tmux で、開発サーバにssh接続した際に自動的に背景色を変える), 我々は、より多くの情報をここで見つけました https://qiita.com/madayo/items/cae79e54171143c14ba3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .