「俺様サーバー構築記 - 基本方針」以来構築を続けてきた俺様パソコン環境ですが、設定が進むにつれて、サーバとクライアントを行ったり来たりする作業が増えてきました。その結果、たまに間違えるんですよ。サーバの root で作業して、終わったつもりでそのままサーバ内で作業を続けてしまったり。
ひとまずサーバとそれ以外との区別が付けば良い、という訳で画面の色合いを変える事にしました。
私の環境ではシェルとして bash を常用していますので、このプロンプトに画面の色を変えるような設定を仕込む事にしました。
参考文献1:Bashのプロンプトに色を付けてサーバやユーザを区別する
参考文献2:エスケープシーケンス - 碧色工房
コンソール端末に対するエスケープシーケンスによる色設定なんて死ぬほど古い枯れまくった技術です。今時の若い方々は知らない方も多いでしょう、ってジェネレーションギャップを感じるほど古いです。参考文献もちょっと探せばもっと詳しいサイトが山程出てくると思いますが。
これで、下記のような配色を考えました。
サーバマシンのroot: 文字色=黒、背景色=赤
サーバマシンの一般ユーザ: プロンプトだけ文字色=白、背景色=青
クライアントマシン: 文字色=白、背景色=黒(デフォルト設定のまま)
これに基づき、下記のように設定します。
# cd
# ls .bash{rc,_profile}
ls: cannot access '.bashrc': No such file or directory
ls: cannot access '.bash_profile': No such file or directory
# cat >.bashrc <<'___'
> PS1='\[\e[30m\e[41m\][\u@\h \W]# '
> ___
# echo "source .bashrc" >.bash_profile
# sed -i -e "s/^PS1='\(.*\) '$/PS1='\\\\[\\\\e[37m\\\\e[44m\\\\]\1\\\\[\\\\e[39m\\\\e[49m\\\\] '/" /home/*/.bashrc /etc/skel/.bashrc
# svn ci /etc -m"Special colored prompt for the server machine"
Sending etc/skel/.bashrc
Transmitting file data .done
Committing transaction...
Committed revision 10.
ちなみに .bashrc
と .bash_profile
については面倒臭いです。とてつもなく。
参考文献3:.bash_profileと.bashrcなんて使い分けなくてよかったんや!
参考文献4:.bashrc が反映されない件
しかしこれでユーザを間違える事は無くなりそうです。やったね