$cd ../troubleshooting/
Medium💻 Platform#macOS
Mac Mini:再起動後にゲートウェイが自動起動しない
// ゲートウェイは手動では正常に動作しますが、再起動後は起動しません。macOSでは、ゲートウェイをバックグラウンドサービスとして実行するにはlaunchd plistが必要です。
symptoms.log
🔍 症状
✗'openclaw gateway start'で手動起動すると正常に動作する
✗再起動または停電後にボットがオフラインになる
✗アクティビティモニターにopenclawoプロセスが見つからない
✗'launchctl list | grep openclaw'が何も返さない
install_service.sh
✅ 修正1 — launchdサービスをインストール
~/Library/LaunchAgents/にlaunchd plistを登録
# 最も簡単な修正 — launchdサービスとして登録 openclaw service install # 有効化して起動 openclaw service enable openclaw service start # ステータス確認 openclaw service status
com.openclaw.gateway.plist
✅ 修正2 — インストールが失敗した場合は手動でplistを作成
手動plist作成
# plistを手動作成
cat > ~/Library/LaunchAgents/com.openclaw.gateway.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.openclaw.gateway</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/openclaw</string>
<string>gateway</string>
<string>start</string>
<string>--foreground</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
EOF
# ロード
launchctl load ~/Library/LaunchAgents/com.openclaw.gateway.plistverify.sh
✅ 修正3 — サービスのステータスを確認
正しく動作していることを確認
# サービスがロードされているか確認 launchctl list | grep openclaw # PID番号とラベルが表示されるはず # ログを確認 tail -f /tmp/openclaw-gateway.log
💡 Mac Mini M4のヒント
Mac Mini M4(16GB)は最も人気のあるOppoClawホームサーバーです。24時間365日稼働のためにシステム設定 → エネルギーで「自動スリープを防ぐ」を有効にしてください。
❓ FAQ
Q1. crontab @rebootではダメですか?
動作しますがいくつかの制限があります:(1)プロセスがクラッシュしても自動的に再起動されない;(2)cron環境の環境変数(PATH等)がシェルと異なりコマンドが見つからないエラーが発生する;(3)ログ集約機能がない。launchdはmacOSのネイティブなサービス管理方法でこれらすべてを正しく処理します。
Q2. plistがロードされて実行中か確認するには?
'launchctl list | grep openclaw'を実行 — PID番号が表示された行があれば実行中です。最初の列(PID)が空で状態列に非ゼロ(127、78、1など)が表示される場合は/tmp/openclaw-gateway-err.logのエラーログを確認してください。状態127はバイナリが見つからない(ProgramArgumentsのパスを確認)、状態78はplistファイル自体の権限エラーです。
Q3. OpenClawはlaunchd plistを自動作成しますか?
はい。'openclaw gateway install'または'openclaw onboard --install-daemon'で作成されます。plistは~/Library/LaunchAgents/com.openclaw.gateway.plistに配置されます。オンボーディング時にスキップした場合は後から'openclaw gateway install'を実行するか、修正2のテンプレートを使用して手動でplistを作成できます。
Q4. サービスはロードされるがゲートウェイがすぐにクラッシュする場合の診断方法は?
まずエラーログを確認:'cat /tmp/openclaw-gateway-err.log'。一般的な原因:(1)ProgramArgumentsの間違ったバイナリパス — 'which openclaw'で確認;(2)環境変数の欠如 — launchdはシェルのPATHを引き継がないため、plistにEnvironmentVariablesセクションを追加;(3)ポート競合;(4)設定ファイルエラー — 'openclaw config validate'でYAML構文を確認。
Q5. Mac MiniのスリープでOpenClawが終了しないようにするには?
システム設定 → エネルギーで2つの設定:(1)「ディスプレイ消灯時の自動スリープを防ぐ」を有効化 — これが重要。(2)「ネットワークアクセスのためにウェイク」を有効化。plistにKeepAlive: trueがあれば、launchdはスリープ/ウェイクサイクル後にOpenClawを再起動しますが、スリープ中は一時停止します。真の24時間365日稼働のためにはスリープを完全に防いでください。Mac Mini M4のアイドル時消費電力は約7Wです。
Q6. ユーザーサービスではなくシステムレベルのlaunchdサービスとして実行できますか?
はい。plistを~/Library/LaunchAgentsの代わりに/Library/LaunchDaemonsに配置し、'sudo launchctl load /Library/LaunchDaemons/com.openclaw.gateway.plist'でロードします。システムレベルのデーモンはユーザーログイン前に起動し、デフォルトでrootとして実行されます — 特定のユーザーとして実行するには'UserName'キーを追加してください。リモートのみのセットアップに便利で、Macにログインしなくてもサービスが起動します。