2026年 OpenClaw クロスプラットフォーム WSL2 Linux systemd
デプロイ・運用 2026-04-02

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.service
  • journalctl --user -u openclaw-gateway.service -b --no-pager
  • ss -lntp | grep <port> — 意図したアドレス(127.0.0.1 等)にバインドしているか

3. WSL2:自動起動を現実的にするための最低限

WSL2 で「Windows 起動直後からゲートウェイが生きている」状態にするには、(1) WSL の既定ディストロと自動起動タスク、(2) 内側の user systemd または代替のスーパーバイザ、(3) localhost フォワーディングの検証、の三段が必要になりがちです。いずれかが欠けると「昨日まで動いていた」系の報告になります。

  1. データは Linux ファイルシステム側:~/projects/...。リポジトリを /mnt/c に置かない。
  2. Windows から叩くならポートを実測:curl を Windows 側と WSL 側の両方から試す。
  3. スリープ方針:常時待受が要件なら、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 に寄せる構成を次の一手として検討する価値があります。プランはホームから確認できます。

専用 Mac で Apple ツールチェーンを集約

Mac mini M4 低消費電力・SSH 常駐向け

Gatekeeper & SIP Apple Silicon SSH ネイティブ
始める
SSHMac でプランを見る
ホームへ