Particles and WavesPAW
file: dev-life.md2026 / mobile-first dev
A scrollytelling note

作業場所は
計算資源は

iPhone で家の Mac mini に繋ぎっぱなしで開発する。カフェで書いた続きを、帰宅後そのまま再開する。──そのカラクリを、これから順番に説明します。

STACK · mosh + tmux + Mac miniCLIENT · iPhone / iPad / Chromebook
00 / 全体図

まず、どこで何が起きているか。

手元のスマホは「窓」にすぎず、実際の処理は家の Mac mini の中で走り続けている。その2つを繋いでいるのが mosh、家の中で作業を保持しているのが tmux。

📱
CLIENT / 手元
iPhone
Blink Shell など / キーボードと画面だけ
moshUDP / 切れても自動復帰
🖥️
SERVER / 自宅
Mac mini
電源入れっぱなし / 常にスタンバイ
attachセッションに繋ぎに行く
🗂️
SESSION / 永続
tmux
nvim · npm run dev · db · logs … 走り続ける
① MOSH ── 接続を絶対に切らない人iPhone と Mac mini の間の通信を担当。Wi-Fi が切れても、地下鉄に入っても、IP が変わっても、勝手に繋ぎ直す。SSH の強化版。
② TMUX ── 作業を絶対に消さない人Mac mini の中で、ターミナルのセッションを永続化。閉じてもログアウトしても、中で動いているプロセスはそのまま。後から attach で再合流できる。
01 / それぞれの役割

mosh と tmux は、違う仕事をしている。

混同されがちだけど、片方は「通信」、もう片方は「セッション」を守る。両方あって初めて、どこからでも続きから再開できる。

PART 01
mosh
通信のしぶとさを担当

SSH の代わりに使うリモートシェル。UDP ベースなので、回線が瞬断しても、別の Wi-Fi に繋ぎ変えても、IP アドレスが変わっても、セッションを保持したまま自動で復帰する。

ローカルエコーが効くので、衛星回線みたいに遅い環境でもキー入力が即座に画面に出る。体感がとにかく速い。

  • 地下鉄で電波が消えても接続維持
  • テザリングから Wi-Fi に切り替えても OK
  • スリープから復帰しても繋がってる
PART 02
tmux
作業の永続化を担当

ターミナル多重化ツール。Mac mini の中で「セッション」というコンテナを作り、その中で nvim や npm run dev を動かしておく。クライアントが切断されても、セッション自体は走り続ける。

あとから別の端末で tmux attach すれば、その画面にそのまま合流できる。複数ウィンドウや分割もそのまま保持される。

  • iPhone を閉じても作業は走ったまま
  • 家の Mac から同じ画面に合流できる
  • 長時間ビルドを放置しても安全

つまり ── mosh がスマホと家の Mac mini の道を「切れない」ようにし、tmux が Mac mini の中の作業を「消えない」ようにする。2つを組み合わせると、どの端末から繋いでも「ずっと続いている1つのセッション」に居続けられる。

mosh がコネクションを守り、
tmux がセッションを守る。

回線が落ちても、画面を閉じても、作業はそこに居続ける

Scene 01 ── カフェ

iPhone を開く。家の Mac mini が、そこにある。

ドトールでアイスコーヒーを置いて、ポケットから iPhone を出す。mosh で家の Mac mini に接続。

そして tmux attach。昨夜 23 時に閉じたつもりだった nvim が、142 行目で点滅している。何も失われていない。

Scene 02 ── 移動中

圏外でも、セッションは死なない。

地下鉄に乗る。電波が消える。普通の SSH なら即切断、再接続でも前の画面は戻ってこない。

mosh は UDP で動くから、回線が落ちても怒らない。地上に出れば、IP が変わっていようと、自動で繋がり直す。tmux のセッションは家の Mac mini 側で走り続けているので、こちらは「画面に追いつく」だけでいい。

  • 14:08カフェで mosh 接続 / tmux attach
  • 14:32地下鉄 ── iPhone をポケットへ
  • 14:33圏外 ── mosh は待機モード
  • 14:51地上、IP 変更、Wi-Fi 切替
  • 14:51自動再接続 ── nvim、そのまま 142 行目
Scene 03 ── 帰宅

椅子に座る。続きが、待っている。

家に着いて、Mac mini のターミナルから同じ tmux セッションに attach するだけ。iPhone でいじっていた画面が、そのまま 27 インチに広がる。

「外で書いて、家で続ける」── ではない。
「ずっと同じセッションが、デバイスを跨いで動いていた」。それだけ。

epilogue / 最小レシピ

場所が、開発を縛らなくなる。

Chromebook + GPU マシンの組み合わせと、思想は同じ。手元は軽く、計算は家。違うのは ── これがポケットの中で起きていること。

# Mac mini 側
brew install mosh tmux
tmux new -s work

# iPhone / iPad / Chromebook 側
mosh mac-mini.local
tmux attach -t work

作業場所は外、計算資源は家。 // mosh × tmux ── a love letter