Macで動かしていた処理を、外出先から確認したい。そのためには、接続が切れても戻れる作業場所をMac側に用意しておくと便利です。

tmuxは、ターミナルの作業を「セッション」として管理するツールです。SSH接続を切り離してもセッションを残し、別の端末から同じ作業へ接続できます。この記事では、Macで始めた作業にiPhoneのAI Terminalから戻る例を紹介します。

SSH接続の準備がまだの場合は、先にiPhoneから自宅のMacへSSH接続する手順を確認してください。

tmuxで残せる作業の範囲

tmuxが保持するのは、tmuxの中で起動したシェルやプログラムです。すでに別のターミナルで動いている処理が、自動的にtmuxへ移るわけではありません。残したい作業は、最初からtmuxの中で始めます。

また、Macの再起動やシャットダウン、tmuxサーバーの終了をまたいで、実行中の処理を復元するものではありません。Macがスリープすれば処理や接続も止まることがあります。ファイルの保存やバックアップは、普段どおり行ってください。

1. Macにtmuxをインストールする

Macのターミナルで、まずインストール済みか確認します。

tmux -V

バージョンが表示されれば、そのまま次へ進めます。command not foundの場合は、Homebrewを導入済みのMacで次を実行します。

brew install tmux

Homebrew自体がない場合は、先にHomebrewの公式インストール手順を確認してください。tmuxのインストール方法は公式Wikiにも掲載されています。

2. 名前を付けて作業を始める

Macのターミナルで、workという名前のセッションを作ります。

tmux new -s work

通常の設定では画面下にステータス行が現れます。この中で作業用フォルダへ移動し、普段のコマンドを実行します。workは任意の名前ですが、後からiPhoneで指定する名前とそろえてください。

最初は、作業を変更しない次のコマンドで確認するだけでも十分です。

pwd
date

すでにworkがある場合、新規作成はエラーになります。そのときはtmux attach -t workで既存のセッションへ戻ります。

3. 作業を終わらせずに切り離す

tmuxの標準設定では、Controlとbを同時に押し、両方を離してからdを押すと、画面から切り離せます。この操作をデタッチと呼びます。

デタッチすると元のシェルへ戻りますが、workセッションはMac上に残ります。次のコマンドで確認できます。

tmux ls

ここでexitを使うと、そのシェルを終了します。最後のウィンドウのシェルを終了するとセッションも終了するため、「あとで戻る」場合はデタッチを使います。操作の考え方はtmuxの公式入門で確認できます。

4. iPhoneから同じセッションへ戻る

AI TerminalでMacにSSH接続し、通常のシェルから次を実行します。

tmux attach -t work

Macで作成したworkへ戻れます。同じMacでも、別のユーザー名でSSH接続していると、そのユーザーのtmuxセッションには通常アクセスできません。Macで作業したアカウントと同じユーザー名を使ってください。

「あれば接続し、なければ作る」を1つにまとめたい場合は、次の形も使えます。

tmux new -A -s work

MacのターミナルとiPhoneが同じセッションを開いている場合、入力と作業内容を共有します。独立した2つの作業場所にはならない点を覚えておくと、操作の混乱を避けられます。

AI Terminalのデモ用ターミナル。Home Lab:mainのタブと、tmux new-session -A -s mainでセッションへ入るサンプル出力が表示されている。
iPhone上のターミナル表示例です。画像は実際のSSH通信を行わないアプリのデモモードで、セッション名は「main」。本文の設定では「work」にそろえてください。画像をタップすると原寸で開けます。

5. AI Terminalの自動アタッチを設定する

毎回コマンドを入力する代わりに、AI Terminalの接続編集画面でtmuxを設定できます。

  1. Macへの接続を編集し、「tmux」の「接続時に自動アタッチ」をオンにします。
  2. セッション名をworkにします。
  3. 最初は「ウィンドウ名」「新規開始ディレクトリ」「起動コマンド」を空欄にします。
  4. 「全セッションに自動接続」はオフのまま保存し、接続し直します。
AI Terminalの接続編集画面。下部のtmux欄で接続時に自動アタッチがオンになり、その下にセッション名mainが入力されている。
画面下部の「tmux」で自動アタッチとセッション名を設定します。撮影時のデモ値は「main」です。この記事ではここを「work」に変更し、その他の任意項目は本文に合わせて空欄にします。

セッション名をMac側と合わせることが大切です。Mac側をwork、アプリ側をmainにすると、別のセッションを開くことになります。

「新規開始ディレクトリ」は、セッションを新しく作るときの開始位置です。既存セッションの現在のフォルダは変更しません。「起動コマンド」も初回は空欄で、まず同じセッションに戻れることを確認すると設定しやすくなります。

作業へ戻れないときの確認

セッションが見つからない

SSH接続先のMacとユーザー名を確認し、tmux lsで一覧を見ます。名前の入力違い、Macの再起動、最後のシェルの終了などが主な確認点です。作業を始めたターミナルがtmuxの中だったかも振り返ってください。

tmuxが見つからない

Macでは使えるのにSSH経由で見つからない場合は、ログイン方法によるPATHの違いも確認します。SSH先でcommand -v tmuxを実行し、必要なら実際のインストール先をシェルのPATHに追加します。パスはMacの構成によって違うため、推測で固定しないでください。

「sessions should be nested with care」と表示される

すでにtmuxの中にいる可能性があります。自動アタッチを有効にした接続で、さらにtmux attachを入力する必要はありません。通常のシェルから手動で入る方法と、アプリから自動で入る方法のどちらかを使います。

iPhoneを閉じたら接続が切れる

モバイル端末の接続がずっと維持されることを前提にせず、再接続して同じtmuxセッションへ戻る運用にします。Macが起動し、tmuxとその中の処理が動いていることが前提です。

複数の作業を扱いたくなったら

ひとつの作業への再接続に慣れたら、編集用、ログ確認用など、役割ごとにセッションを分けられます。AI TerminalではProで複数セッションを同時に利用でき、iPadでは分割表示や起動プリセットも使えます。

具体的な組み合わせは、次のiPadで複数のターミナルを使う設定例で紹介します。アプリの機能とFree・Proの違いはAI Terminalの紹介ページへどうぞ。

コマンドの詳細はtmuxの公式マニュアルを参照してください。手順は2026年10月時点の資料とアプリ実装をもとにしています。