投稿

iTerm2のセッション復元とtmuxの使い分け

iTerm2はMacをシャットダウンしても、ウィンドウ・タブ・ペインのレイアウトを復元できる機能を持っている。

iTerm2のセッション復元とtmuxの使い分け

iTerm2のセッション復元機能

iTerm2はMacをシャットダウンしても、ウィンドウ・タブ・ペインのレイアウトを復元できる機能を持っている。

Preferences → General → Startup で設定可能。

何が保持されるか

項目 保持される
ウィンドウレイアウト・タブ構成 ✅
作業ディレクトリ ✅
ターミナルの表示内容(スクロールバック含む) ✅
実行中のプロセス(SSH, vim等) ❌
シェルの状態(環境変数, history等) ❌

Window Restoration Disabledの警告が出たら

macOS側の設定がiTerm2のウィンドウ復元を妨げている場合、以下の警告が表示される。

“System window restoration has been disabled, which prevents iTerm2 from respecting this setting.”

解決方法

System Settings → Desktop & Dock を開き、「Close windows when quitting an application」を オフ にする。

これはmacOS全体の設定なので、iTerm2以外のアプリ(Safari、Finderなど)も終了→再起動時に前回のウィンドウが復元されるようになる。

tmuxはローカルでは意味がない

tmuxはプロセスをセッションとして管理し、接続を切っても維持できるツール。 ただしローカルのMac上で動かしている場合、Macをシャットダウンするとtmuxセッションも死ぬ。

tmuxが本領発揮するケース

リモートサーバー(VPS/EC2等)上でtmuxを動かす場合:

  • Mac側はSSHで接続するだけ
  • Macを閉じても・落としてもサーバー上のセッションは生き続ける
  • 再接続すれば作業が再開できる

結論

やりたいこと 解決策
Mac再起動後にiTerm2のレイアウトを復元したい macOS設定でウィンドウ復元を有効化
Mac再起動後もプロセスを生かし続けたい リモートサーバー上でtmuxを使う
ローカルでプロセスを維持したい 不可能(OSが落ちればプロセスも死ぬ)