iTerm を Ruby から操作する。terminitor もどき、iTerminitor を作った。
iTerminitor とは?
iTerm の定型作業を設定ファイルに基づいて自動で行うソフト。
※ terminitor ぽいことを iTerm でもやりたかった。
※ DSL の形式はまるまる terminitor をパクってます。
※ GNU Screen を使っている人は、そもそもこういうソフトは不要だと思う。
出来ること
iTerm の Window、Tab の作成、各タブへ名前をつける。
各タブでコマンドを実行する。
実行するコマンド群をファイルから読み込んで実行する。
やってること
AppleScript で iTerm を自動操作。
AppleScript については直接 AppleScript を使わず、Ruby と AppleScript の bridge である、rb-appscript を使用している。
動作環境(僕の)
Mac OS X / Ruby 1.8.7
iTerm 0.10
iTerm 2 ※ これも動いた。
その他
Leopard 標準の Terminal.app を使っている人は terminitor を使った方がいいです。
他に似たプロジェクトとして godo があります。こちらは iTerm も操作できます。
インストール〜使うまで
- ダウンロード
- 実行権限付与
- iTerminitor.rb init でサンプル設定作成
- 実行して動作確認
- サンプル設定を変更、コピーして使っていく。
使い方
help
### Usage: # Start iTerminitor session for CONF /Users/taqumd/Dropbox/script_bin/iTerminitor.rb start 'CONF' # Show CONF list /Users/taqumd/Dropbox/script_bin/iTerminitor.rb list # This command create sample CONF for iTerminitor /Users/taqumd/Dropbox/script_bin/iTerminitor.rb init
初期ファイル作成。
~% ~% iTerminitor.rb init ~% [created] /Users/taqumd/.iterminitor/sample.rb [created] /Users/taqumd/.iterminitor/run_file_sample Check setting DSL $ cat /Users/taqumd/.iterminitor/sample.rb Try sample config $ /Users/taqumd/Dropbox/script_bin/iTerminitor.rb start sample.rb Thanks. ~%
できあがる sample.rb はこんな感じ
:session で指定するのは Bookmark 名。
起動
~% iTerminitor.rb start sample.rb ~%