ログイン直後にscreenを自動起動させる
最近の開発環境といえばもっぱらzsh+screenでTeraTermからのユーザログインな環境を使っているのですが、ログイン直後に
とか打つのが面倒だったりするので、screenの自動起動できないかなぁと。どうせだったら起動直後に即screen実行させてやれなことを考えて見ました。
% screen
ユーザログインなので、ホームディレクトリ上の.zshrc(他のシェル使っている人はbash_profileや.login等)にscreenコマンドを記述してあげればよいのですが、そのままscreenとしてしまうと見事無限ループになってしまうので注意が必要。
ログイン直後一度のみscreenを実施できればよいわけで、Linuxではシェルの深さを知る便利な環境変数があります。それが$SHLVL
とかするとシェルの深さを表示してくれます。
% echo $SHLVL
ログイン直後の$SHLVLは1でscreenコマンド実施後は$SHLVLの値が2になるので、シェルレベル1の時にのみscreenコマンド叩くようzshrcに以下を記述。
if [ $SHLVL = 1 ];then
screen
fi
で、screenが自動起動します。
たったワンライナーのコマンド自動化なのに予想以上に快適に!!ktkr(・∀・)
他にもやり方あると思いますがお好きな人はどうぞ。