スマホが最強のAI開発機に!Tailscale + tmuxで作るClaude Codeのモバイル多重起動

シリーズ:スマホからClaude Codeを操る最強環境構築(全2回・後編)


前編では、外出先からClaude Codeを操るためのインフラとして、Slack連携ではなく「SSHでターミナルごと持ち出す」アプローチが最適である理由と、VPN周りの注意点について解説した。

後編となる今回は、いよいよ実践編だ。スマホの小さな画面で複数のAIプロジェクトを快適に回すための具体的なセットアップと、UIを最適化する運用テクニックを紹介する。

この記事を読み終える頃には、あなたのスマホが「いつでもどこでもAIに仕事を任せられる最強の開発端末」に変わっているはずだ。


モバイルターミナル環境を作る「3種の神器」

スマホから自宅のWSL 2環境へセキュアかつ快適に接続するには、3つのツールを組み合わせる。それぞれの役割を明確にしておこう。

1. Tailscale —— 「通信の土台」を作るネットワークツール

Tailscaleは、WireGuardベースの無料メッシュVPNサービスだ。自宅PCとスマホにアプリをインストールしてログインするだけで、両者が仮想的な同一ネットワーク上に置かれる。

ルーターのポート開放やDDNSの設定は一切不要。「100.x.x.x」というTailscale専用のIPアドレスが各デバイスに割り振られ、外出先のカフェからでも自宅PCに直接SSHできるようになる。

2. Termius —— スマホ上のSSHクライアントアプリ

TermiusはiOS/Android対応のSSHクライアントアプリだ。スマホでターミナル操作をすると聞くと「あの小さな画面でコマンドを打つのか……」と身構えるかもしれないが、Termiusはモバイルでの操作を前提に設計されている。

ソフトウェアキーボードの上段に「Ctrl」「Esc」「Tab」「矢印キー」などがワンタップで押せるように配置されており、通常のスマホキーボードでは入力が困難なターミナル操作のストレスを大幅に軽減してくれる。接続先のホスト情報も保存できるため、毎回IPアドレスを入力する手間もない。

3. tmux —— 今回の最重要ツール「ターミナルマルチプレクサ」

tmuxは、この環境構築における最も重要なピースだ。役割は大きく2つある。

役割①:セッションの永続化 通常、SSH接続が切れるとターミナル上で動いていたプロセスも一緒に終了してしまう。電車でトンネルに入った瞬間、Claude Codeが処理の途中で落ちる——そんな悲劇が起きる。tmuxはターミナルセッションをバックグラウンドで維持し続けるため、接続が切れてもClaude Codeは何事もなかったかのように動き続ける。再接続すれば、途中の画面がそのまま復元される。

役割②:仮想的なマルチタブ 1つのSSH接続の中で、複数の独立したターミナル画面(ウィンドウ)を作成・切り替えできる。ブラウザのタブを切り替える感覚で、複数のClaude Codeセッションを行き来できるのだ。


最大の罠!Cursorの「Dev Container」と「WSL大元」の違い

環境構築を進める上で、筆者が盛大にハマった罠がある。それは**「どこでtmuxを起動するか」**という、一見些細だが致命的な問題だ。

罠の正体

普段AIエディタ「Cursor」で開発している人は、Cursor内蔵のターミナルでtmuxをインストールしようとするかもしれない。しかし、これはエラーになる。

なぜか?Cursorのターミナルは、WSLの中にさらにもう一層作られた**「Dev Container」(Docker上の隔離環境)の中に繋がっているからだ。一方、スマホからTailscale経由でSSH接続するのは、その外側にある「大元のWSL」**だ。

つまり、構造はこうなっている:

スマホ(Termius)
  ↓ SSH接続
大元のWSL 2  ← tmuxはここに入れる!
  └── Dev Container(Docker)  ← Cursorのターミナルはここ
        └── プロジェクトファイル

Dev Containerの中にtmuxを入れても、スマホからは到達できない。ここを間違えると、「インストールしたはずのtmuxが見つからない!」と混乱することになる。

正しい運用フロー

この構造を理解した上で、正しい運用フローは以下の通りだ。

セットアップ(初回のみ):

  1. PCで大元のWSLターミナルを開く(Windowsのスタートメニューから「Ubuntu」などを起動)
  2. sudo apt install tmux でtmuxをインストール

日常の運用:

  1. 大元のWSLターミナルで tmux new -s work と打ち、新しいセッションを作る
  2. その中でプロジェクトフォルダへ移動し、claude を起動する
  3. スマホからはTailscale経由でWSLにSSH接続し、tmux attach -t work で同じセッションに合流する

役割分担のポイント: コードの最終確認やGUIが必要な微調整はDev Containerに繋がったCursorで行い、AIへの指示出しはWSL側のtmuxセッションで行う。ターミナル(指示出し)とエディタ(確認・微調整)を完全に分離して運用するのが、この環境のベストプラクティスだ。


スマホUIの最適解:tmuxで複数プロジェクトを同時並行

tmuxの「仮想マルチタブ」機能は、スマホでの開発体験を劇的に変えてくれる。

なぜ「画面分割」ではなく「タブ切り替え」なのか

PCならtmuxの画面分割(ペイン)で左右にターミナルを並べられるが、スマホの縦長画面でこれをやると文字が豆粒のように小さくなり、実用に耐えない。

モバイルでの正解は、ブラウザのタブのように全画面を丸ごと切り替えるtmuxの「ウィンドウ」機能だ。

基本操作(3つだけ覚えればOK)

操作キー説明
新しいタブを作るCtrl+bc新しいウィンドウが開く
次のタブへCtrl+bn右隣のウィンドウに切り替え
前のタブへCtrl+bp左隣のウィンドウに切り替え

Termiusのカスタムボタン機能に「Ctrl+b」を登録しておけば、ワンタップ+1キーでタブを操れる。スマホ片手でサクサクと画面を切り替えられるようになるはずだ。

実践的な運用イメージ

例えば、こんな使い方ができる。

タブ1: 開発中の2Dブラウザゲーム『MOGUL MASTER』のキャラクター移動ロジックのバグ修正をClaude Codeに指示。AIがコードを解析して修正案を出すまでの数十秒〜数分、ただ待っているのはもったいない。

Ctrl+bn でタブ2へ切り替え

タブ2: 新しく立ち上げる子ども向けプログラミング教室のカリキュラム案を、別のClaude Codeセッションで生成中。『プログラミングゼミ』と『MakeCode』の比較表を作らせたり、各回の授業構成を整理させたりしている。

Ctrl+bp でタブ1に戻ると、バグ修正が完了している

自分が「指示出しに特化したマネージャー」になり、複数のAIを並列稼働させる。この体験は、一度味わうと元には戻れない。


PCとスマホのシームレスな画面共有(アタッチとデタッチ)

tmuxのもう一つの強力な機能が、**複数デバイスからの同時接続(セッション共有)**だ。

PCで tmux new -s work で作ったセッションに対して、スマホから tmux attach -t work で合流すると、PCとスマホの画面がリアルタイムで完全に同期する。PCでキーを打てばスマホにも即座に反映され、スマホで入力すればPCにも表示される。

この仕組みにより、以下のようなワークフローが実現する:

  1. 自宅のPCで作業を開始。 Claude Codeに大きなリファクタリングを指示する。
  2. 外出する時間になったら、スマホでアタッチ。 移動中にClaude Codeの進捗を確認し、追加の指示を出す。
  3. 帰宅したらPCで続きを確認。 Claude Codeの出力結果をCursorで開いて、コードレビューに入る。

PC → スマホ → PCと、作業が途切れることなくシームレスに引き継がれる。

画面サイズの罠と「デタッチ」の重要性

ただし、この画面共有には一つ知っておくべき重要な仕様がある。

tmuxのセッションの表示サイズは、接続中のデバイスの中で「最も小さい画面」に合わせて縮小される。

つまり、PCとスマホの両方が同時にアタッチしている状態では、PC側のターミナルがスマホの画面サイズに引っ張られてしまう。広いPC画面の周囲にドットの余白ができ、中央の小さな領域にしか文字が表示されなくなるのだ。

対策:スマホを使い終わったら必ず「デタッチ」する

この問題の対策はシンプルだ。スマホでの作業を終えてPCに戻る際、スマホ側で以下の操作を行う。

操作キー効果
デタッチ(退出)Ctrl+bdセッションから抜ける(プロセスは継続)

デタッチすると、スマホはSSHの接続画面に戻るが、裏側のtmuxセッションではClaude Codeがそのまま動き続ける。スマホが切り離されたことで、PC側の表示サイズも元の広い画面に自動復帰する。

なお、Termiusアプリをそのままタスクキル(バックグラウンドから強制終了)した場合でも、SSH接続が切れた時点でtmux側ではデタッチとして扱われるため、プロセスが落ちる心配はない。ただし、意図的にデタッチする癖をつけておくと、PC側の表示崩れを防げて快適だ。


おわりに:モバイルAI開発環境がもたらす変化

前編・後編を通じて構築した環境を振り返ろう。

レイヤーツール役割
ネットワークTailscale自宅PCへのセキュアなトンネル
クライアントTermiusスマホ上のSSHターミナル
セッション管理tmux接続維持+マルチタブ
AIエージェントClaude Code開発作業の実行者

「Tailscale + SSH + tmux」という組み合わせは、一見すると古き良きサーバー管理の手法に見える。しかし、これこそが最新の自律型AIエージェントをモバイル環境で乗りこなすための、最も合理的なアプローチだ。

通信量はほとんどかからない。自宅の強力なPCリソースはフル活用できる。電波が途切れてもプロセスは死なない。そして、複数のAIを並列で走らせながら、自分は「指示を出すだけ」でいい。

スマホが「SNSと動画を消費するデバイス」から「AIに仕事を任せる司令塔」に変わる瞬間を、ぜひ体験してみてほしい。


前編はこちら: [前編] 外出先のスマホからClaude Codeを操る!Slack連携より「SSH+ターミナル」を選ぶべき理由

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール