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