screen起動時に複数マシンに一斉接続
仕事柄、複数の開発マシン(ビルド環境)に ssh 接続しなければならない。接続するマシンの数だけsshコマンドを叩くのが面倒だったのでscreenを利用して起動時に自動的に接続するようにしてみた。
やりかたは .screenrcの中でbindkeyで F1(k1) から F9(k9) までそれぞれのセッションを割り当てた後、screen -tでコマンドを指定するだけ。ssd-add < /dev/null を事前に実施しているのはお約束。接続した後はF1〜F9でマシンを自由に切り替えられる。
一番下のステータス行に接続しているマシン(セッション)の名前が表示され、現在選択しているマシンには(F1〜F9で切り替えるたび)「*」がつく。
こういったハックスで、作業が効率化するのはもちろん、精神的にもずっと気分がよくなる。小さな不満をひとつずつ改善していくことで全体としてかなり効率に差が出てくると思う。
$ cat .screenrc # Escape key escape ^Xx # Option startup_message off hardstatus on hardstatus alwayslastline "screen | %w" defscrollback 9999 hardcopydir /tmp # Key setting bind ^b windowlist bind ^c screen bind o focus bind c copy bind p paste . bind s split bind q only # bind 'F1' - 'F9' key to select window 1 - 9. bindkey -k k1 select 1 bindkey -k k2 select 2 bindkey -k k3 select 3 bindkey -k k4 select 4 bindkey -k k5 select 5 bindkey -k k6 select 6 bindkey -k k7 select 7 bindkey -k k8 select 8 bindkey -k k9 select 0 # naming screen -t milia0 0 screen -t milia1 1 screen -t irene 2 ssh irene screen -t vmware 3 screen -t romi 4 ssh romi screen -t jupiter 5 ssh jupiter screen -t pluto 6 ssh pluto screen -t taurus 7 ssh taurus screen -t polestar 8 ssh polestar