この記事は コマンドラインツール/CLI - Qiita Advent Calendar 2025 - Qiita 3日目 の記事です
macOS のターミナルを使って開発をしていると、「毎日同じディレクトリを開いて同じコマンドを実行している」と感じることはないでしょうか?
フロントエンドなら npm run dev、バックエンドなら docker compose up
毎回同じことを繰り返していては、せっかくの開発時間がちょっともったいないですよね。
そこで今回紹介するのが、iTerm2 の「Window Arrangement」と「Profiles」機能を組み合わせて、起動時に複数タブを自動で開き、必要なコマンドも同時に実行する方法です。
version
- iterm2
- 3.6.6
1. iTerm2で自動起動を実現するための2つの方法
iTerm2 を自動化するには主に2つの機能を使います。
① Window Arrangement(ウィンドウ構成の保存)
- 複数のタブ
- 各タブのカレントディレクトリ
- スプリット構成
- ウィンドウ位置やサイズ
を そのままスナップショットとして保存 しておき、iTerm2 起動時に自動で復元してくれるしくみです。
GUI で簡単に保存できるため、複雑な設定が不要で、最も手軽な方法です。
② Profiles(タブごとに設定を分ける機能)
Profiles は iTerm2 の “テンプレート” のようなものです。
- 設定したディレクトリで開始する
- 色・フォント・キー設定など
- タブ起動時に自動で実行するコマンド(最重要)
などをタブごとに定義できます。
この Profiles を Arrangement に組み込むことで「複数タブ構成 × タブごとの起動コマンド」が実現できます。
2. まずは Window Arrangement を理解する
ここでは、iTerm2 のウィンドウ構成保存機能 Window Arrangement をわかりやすく解説します。
2-1. 手動で起動状態を作る
まずは通常どおり iTerm2 で必要なタブを開き、
- タブ1:フロントエンドのディレクトリ
- タブ2:バックエンドのディレクトリ
など、普段使う環境を手動で構築します。
これは後でそのまま保存されるので、必ず「起動時にこの状態がほしい」という形にしておくことが大切です。
2-2. Window Arrangement として保存する
メニューから Window → Save Window Arrangement

を選び、名前を付け(例:startup)で保存します。
すると、settings > Arrangements 内のタブに保存された構成が表示されます。
2-3. Arrangements から Default(★)を設定する
settings > Arrangements で対象の Arrangement を選び 「Set Default」ボタンを押すと ★ がつきます。
この ★ がついた Arrangement が iTerm2 の起動時に自動で読み込まれるものです。
(最近の iTerm2 は “Open at startup” のチェックボックスがなく、Default 設定に統合されています)
3. Profiles を使ってタブごとに自動実行コマンドを設定する
Window Arrangement だけでは、タブの配置やディレクトリは復元できますが、特定のコマンドの自動実行はできません。
そこで登場するのが Profilesです。
3-1. 新しい Profile を作成する
Preferences → Profiles
を開いて、左下の「+」を押して新しい Profile を作成します。
- 例:
startup-frontendstartup-backend
など、タブごとに作っておくと管理しやすいです。
3-2. Profile で実行コマンドを設定する
Profile の設定画面にある 「Send text at start」 にコマンドを書くと、タブが開いた瞬間にそのままターミナルに打ち込まれ、実行されます。
入力例(フロントエンド用)
npm run start
入力例(バックエンド用)
docker compose up
3-3. Initial Directory との組み合わせ
Profile の中の “Initial Directory” をコードディレクトリにしておくとより確実です。
- “Directory” を選び、絶対パスを書く
- or “Home Directory” のままでも Send text at start があれば動く
4. Profiles を使って作ったタブ構成を Window Arrangement として保存する
Profiles ができたら、
-
startup-frontendの Profile で新しいタブを開く -
startup-backendの Profile で次のタブを開く
という具合に、自動起動したい環境を組み立てます。
そしてもう一度、
Window → Save Window Arrangement
を実行します。
これで、
- タブ構成
- ディレクトリ
- タブごとの起動コマンド
すべてがそろった状態で保存されます。
5. iTerm2 を起動すると自動的に全タブが開き、コマンドも実行される
ここまで設定すれば、iTerm2 を立ち上げた瞬間に
- フロントエンドのタブが開き
npm run startを開始 - バックエンドタブで
docker compose upが走り出す
いつも行っている作業を自動化できました。
6. よくある失敗と対処法
✔ Arrangement が復元されない
- → システム設定で「アプリケーション終了時にウィンドウを閉じる」を有効化
- macOS の「ウィンドウ復元」が邪魔していることがある
✔ Send text at start のコマンドのパスが変わった
- → Arrangement を作り直す必要がある


