screenを一個attachする
複数のターミナルを開いて、さらにそれぞれのターミナルでscreenを複数開いて作業をするというのが、僕の基本的な開発のスタイルです。
作業を中断するときにはdetachして、再開するときに、detachしておいたscreenを再度ターミナルでattachするということをしてます。
しかし再開するとき普通にscreen -rするとこんなのが出る。
[admin@hoge admin]$ screen -r There are several suitable screens on: 17319.pts-0.hoge (Detached) 6386.pts-1.hoge (Detached) 3341.pts-13.hoge (Detached) Type "screen [-d] -r [pid.]tty.host" to resume one of them.
「一個ずつやれ」と。いっきにやる気が削がれる。黙ってctrl-Dして海外通販で自転車パーツを物色することになる。
最近パーツ探しもひと段落したので、効率化の為に簡単なスクリプトを書きました。
#!/bin/sh DT=`screen -ls |awk '/Detached/{print $1; exit}'` if [ -z "$DT" ]; then echo '' echo 'No detached screens. open new screen...' sleep 1 screen else screen -r $DT fi
これをresume_ascreenとか名前つけて/usr/binあたりに放り込んで、さらにログインマクロで勝手に実行するようにしました。とても楽。
書いた後manみたら、−Rで同じようなことができる風なこと書いてあったけど、試したらうまくいかない。使い方が悪いのか?調べるのめんどいし、もうこれでいいや。