2008年03月12日

GNU Screen

久々に技術ネタを。

最近、少しだけ時間が出来たので、以前より気になっていたGNU Screen を試してみました。
まぁ、存在自体は、8年前くらいから知っていましたが、試そう試そうと思ってそれきりになってました。

で感想は、なかなか使えます。
キーバインドと主要な使い方を押さえれば、それだけでもかなり使えるなぁ~と言った感想です。

では、適当に自分の備忘録程度にまとめます。


■設定

~/.screenrc にてチューニングします。僕はひとまずこんな感じにしました。

---
escape ^j^j
shelltitle "$ |bash"
hardstatus alwayslastline "%{wb}${USER}@%H: %-w%{bw}%n %t%{-}%+w"
bind l windowlist
---

まぁ、詳細はman を見て貰うこととして、簡単に説明を加えますと・・・
- 1行目: コマンド文字のキーバインドをC-j に変更(デフォルトはC-a)
- 3行目: Screen のステータスバーを使いやすいように飾ってます
- 4行目: C-j + l にてwindow のリストを表示

google とかで、dot screenrc とかで検索すれば、色んなサンプルが転がっているので、ご参考に。

■主要な使い方

以下、コマンド文字のキーバインドをC-j (デフォルトはC-a)と記載します。適宜、読み替えてください。

1) window 作成/切り替え/消去

作成: C-j + c
切り替え: C-j + space / C-j + 数字キー / C-j + n / C-j + p
消去: C-d / exit

まぁ、これだけ覚えていても、Tera Term 大量起動から開放されます。
さらにScreen が本領を発揮するのは、次の機能だと思います。

2) デタッチ/アタッチ

デタッチ: C-j + d
アタッチ: $ screen -ls でセッションID を確認した後に、$ screen -r <session ID>

デタッチは、Screen のセッションを保持したまま、シェルに戻ります。
アタッチは、デタッチでバックグラウンド化したScreen のセッションを呼び戻します。

現実的なシチュエーションとしては、こんな使い方でしょうなぁ~。

Screen 起動

会社で処理時間が掛かるコマンド実行(コンパイルとか・・・)

デタッチして帰宅

自宅の環境からアタッチ

コマンド結果の確認


ふむふむ、便利です。
もう少し使い込んで、自分のツールにしたいと思います。

投稿者: hajichan 日時: 2008年03月12日 09:51 | | コメント (0)

コメントを投稿