2026年 OpenClaw クロスプラットフォーム導入と常駐運用実践:Windows WSL2 と Linux(systemd)対照チェックリスト+ゲートウェイ自動起動トラブルシュートと専有リモート Mac SSH ハイブリッドワークフロー FAQ
ノート PC や安価な Linux ボックスで OpenClaw の CLI/ゲートウェイを常駐させ、Apple 専用のビルドや署名だけを 専有リモート Mac に SSH で寄せる——2026 年でもっとも壊れにくい分割です。本稿は WSL2 と ネイティブ Linux(systemd) の差を対照表で固定し、systemd ユニットとログの読み方、典型的な自動起動不具合の FAQ、ハイブリッド時の秘密情報の置き場所まで runbook 向けに整理します。
要点(TL;DR)
- 常駐の本体は Linux 系 user service:
systemctl --userでゲートウェイを縛り、journalctl --user -u …で観測する。 - WSL2 は「別カーネル上の Linux」:Windows ホストのポート転送・スリープ・仮想スイッチと干渉する。本番常駐は専用 Linux か、覚悟を決めた WSL2 ノードに限定する。
- Mac は役割を絞る:Xcode/notarytool など Apple ツールチェーンだけを SSH 越しに実行し、API キーは SecretRef やホスト隔離のパターン で Linux 側と混ぜない。
- マルチステップ自動化 の全体設計は Subagent 前提の上級ガイド と併読すると、ゲートウェイ+リモート実行の責務分離が明確になります。
1. WSL2 とネイティブ Linux の対照チェックリスト
| 観点 | ネイティブ Linux(systemd) | WSL2 |
|---|---|---|
| init とサービス | PID1 が systemd。user/system ユニットが素直 | 近年は WSL 内 systemd 有効化可だが、更新で挙動が変わりやすい |
| ネットワーク | 実 NIC/固定ルーティング。ファイアウォールが一貫 | 仮想 NIC、localhost の意味が Windows と二重。ポート公開は検証必須 |
| スリープ/電源 | サーバ用途ならスリープ無効化が標準オプション | Windows がスリープすると子が止まる。常時稼働に向かないことが多い |
| ファイル I/O | ローカル ext4/xfs などで一貫 | /mnt/c 越しは遅延・権限・監視の罠。データは Linux 側に置く |
| 向いている用途 | 24/7 ゲートウェイ、社内ボックス、CI 近傍エージェント | 開発者個人の検証、Windows ネイティブ IDE からの手元テスト |
2. Linux:ゲートウェイを systemd(user)で常駐させる
ポイントは ログインセッションに依存しない user ユニット と 環境変数ファイルの分離 です。実際の ExecStart は公式ドキュメントの推奨コマンドに合わせてください(バージョンで変わります)。概念としては次のような unit を ~/.config/systemd/user/openclaw-gateway.service に置き、systemctl --user daemon-reload → enable --now です。
WorkingDirectory:設定とロックファイルの場所を固定EnvironmentFile=-%h/.config/openclaw/env:キーをリポジトリに書かないRestart=on-failureとRestartSec=:瞬断で無限再起動ループにならないよう猶予を入れるloginctl enable-linger <user>:サーバ用途でユーザーサービスをブート後も生存させたいとき
2.1 観測コマンド(コピペ用)
systemctl --user status openclaw-gateway.servicejournalctl --user -u openclaw-gateway.service -b --no-pagerss -lntp | grep <port>— 意図したアドレス(127.0.0.1 等)にバインドしているか
3. WSL2:自動起動を現実的にするための最低限
WSL2 で「Windows 起動直後からゲートウェイが生きている」状態にするには、(1) WSL の既定ディストロと自動起動タスク、(2) 内側の user systemd または代替のスーパーバイザ、(3) localhost フォワーディングの検証、の三段が必要になりがちです。いずれかが欠けると「昨日まで動いていた」系の報告になります。
- データは Linux ファイルシステム側:
~/projects/...。リポジトリを/mnt/cに置かない。 - Windows から叩くならポートを実測:
curlを Windows 側と WSL 側の両方から試す。 - スリープ方針:常時待受が要件なら、Windows の電源設定か別筐体(Linux/Mac mini)へ逃がす判断を先にする。
4. ゲートウェイ自動起動トラブルシュート FAQ
| 症状 | 疑い | 次の一手 |
|---|---|---|
active (running) だが接続できない |
127.0.0.1 バインドと、クライアントが別ネットワーク名前空間 | ss -lntp でリスン先確認。WSL なら Windows 側からの到達経路を再確認 |
| 再起動直後だけ失敗 | linger 未設定、または依存マウント未 ready | loginctl show-user、unit に After=network-online.target 等を検討 |
| ログに環境変数未設定 | EnvironmentFile パス違い、パーミッション |
unit を systemd-analyze verify、ファイルを 600 に |
| OOM や突然死 | 小さめ VMEM の WSL2、または並列ワーカー過多 | dmesg/WSL メモリ上限設定を見直し、同時接続を制限 |
5. 専有リモート Mac SSH ハイブリッドワークフロー
構成のコアは 「Linux 側=オーケストレーションと HTTP ゲートウェイ」「Mac 側=署名・公証・Xcode など閉じたツールチェーン」 です。SSH は ~/.ssh/config の Host エイリアスで固定し、RemoteCommand やラッパースクリプトで誤接続を防ぎます。
- 単一用途ユーザー:CI と同様、Mac 上はビルド専用アカウントに閉じると鍵ローテーションが簡単。
- 秘密情報:Linux の
EnvironmentFileと Mac のキーチェーン/ランナー秘密を混在させない。公証パイプラインまで含める場合は、Mac 側の CI 用鍵と API プロファイルを別リポジトリ・別ランナー秘密で分離する。 - ネットワーク:必要ならリバース SSH またはオーバーレイ VPN で Mac を直接晒さない。
ハイブリッド運用では、なぜ専用 Mac mini が効くか
WSL2 や小さな Linux SBC でゲートウェイを回しつつ、Apple 公式ツールが要る処理だけをリモート Mac に逃がすと、Windows の電源管理・仮想化レイヤ・ウイルス対策ソフト から切り離した「署名と公証の単一責務ノード」を持てます。Apple Silicon の Mac mini(M4)は待機電力が非常に低く、ファンレス〜低騒音で長時間 launchd ジョブを載せやすい一方、ネイティブ Unix シェル・SSH・Homebrew が揃い、Gatekeeper・SIP・FileVault によるホスト防御も同梱されます。長期 TCO(消費電力・騒音・保守工数)で見ると、常時ビルド+常時エージェントを 1 台に詰め込むより、Linux ゲートウェイ+専用 Mac の二層に分けた方が安定しやすい場面が多いです。
もし「手元の WSL2 だけでは電源とネットワークの変化に振り回される」と感じているなら、ゲートウェイを安価な常時 Linux に移し、Apple 作業だけを Mac mini M4 に寄せる構成を次の一手として検討する価値があります。プランはホームから確認できます。