$cd ../troubleshooting/
Ubuntuサーバーインストール失敗:systemctl --userとHomebrew
// Ubuntu 24.04サーバーの新規インストールでよく発生する2つの問題:(1) LinuxにHomebrewがない → スキルインストール失敗、(2) rootで実行時にsystemctl --userが使用不可。
install.log
🔍 表示されるエラー
Install failed: github — brew not installed — Homebrew is not installed.
Install failed: summarize — brew not installed — Homebrew is not installed.
Error: systemctl is-enabled unavailable: Command failed: systemctl --user is-enabled openclaw-gateway.service
fix_1.sh
✅ 修正1 — Homebrewスキルの失敗(github、summarize)
その後openclaw setupを再実行
# オプションA: LinuxにHomebrewをインストール /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
github + summarizeスキルの手動フォールバック
# オプションB: 不足しているスキル依存関係を手動インストール pip3 install gitpython pip3 install sumy
fix_2.sh
✅ 修正2 — systemctl --userが使用不可(rootで実行時)
推奨:専用サービスユーザーとして実行
# openclaw用の非rootユーザーを作成 useradd -m -s /bin/bash openclaw su - openclaw # このユーザーとしてopenclawoをインストール curl -fsSL https://get.openclaw.com | sh
fix_3.sh
✅ 修正3 — systemctl --user用のlinger有効化
ヘッドレスサーバーで自分のユーザーとして実行する必要がある場合に必要
# ユーザーlinger有効化(ログインセッションなしでsystemd --userを許可) loginctl enable-linger $USER # 確認 loginctl show-user $USER | grep Linger
ℹ rootでの実行について
OpenClawは公式に、専用サービスアカウントを持つ非rootユーザーとして実行することを推奨しています。rootでの実行はユーザーsystemdセッションをバイパスし、--userフラグが失敗します。
📌 コミュニティレポート github.com/openclaw/openclaw/discussions/33612
❓ FAQ
Q1. なぜrootでsystemctl --userが失敗するのですか?
systemctl --userにはユーザーごとのsystemdセッションと有効なXDG_RUNTIME_DIR(通常/run/user/UID)が必要です。rootで直接ログインした場合はユーザーセッションがなく、--userフラグは動作しません。最もクリーンな解決策は専用の非rootユーザーを作成し、そのアカウントからOpenClawを実行することです。
Q2. rootでOpenClawを実行すべきですか?
いいえ。重大なセキュリティリスクです。AIエージェントが悪意あるメッセージでコマンド実行を誘導された場合、rootでの実行はフルシステムアクセスを意味します。専用の非rootサービスユーザーを作成してください:'useradd -m -s /bin/bash openclaw && su - openclaw'。そのアカウントからインストールして実行してください。
Q3. systemctlの代わりにDockerを使用できますか?
はい。実際DockerはUbuntuサーバーで推奨される方法です。systemctl --userとHomebrew依存関係の問題を完全に回避できます。'restart: unless-stopped'ポリシーで'docker compose up -d'を使用すれば、systemdサービスと同等の動作が得られます。
Q4. Ubuntu ServerでHomebrewがない理由は?
HomebrewはmacOSのパッケージマネージャーです。Linuxでも動作しますが(/home/linuxbrew/.linuxbrewにインストール)、Ubuntu Server最小インストールには含まれておらず、Ubuntu向けガイドでも言及されることが少ないです。一部のOpenClawスキルはHomebrewで依存関係をインストールします。代替としてapt、pip3、またはすべての依存関係をバンドルしたDockerを使用できます。
Q5. loginctl enable-lingerとは何ですか?いつ必要ですか?
デフォルトでは、ユーザーのsystemdセッション(--userサービスを含む)はログアウト時に破壊されます。ヘッドレスサーバーでSSHセッションを閉じるとOpenClawプロセスが終了します。'loginctl enable-linger <ユーザー名>'を実行すると、ログインしていなくてもそのユーザーのセッションが維持されます。一度実行すれば再起動後も有効です。
Q6. 新しいユーザーを作成したが、OpenClawのバイナリがPATHにない場合は?
あるユーザーとしてOpenClawをインストールして別のユーザーに切り替えると(su - openclawで)、新しいユーザーのPATHに元のインストール場所が含まれていません。グローバルインストール(/usr/local/bin等)ならすべてのユーザーがアクセスできます。ホームディレクトリインストールなら、openclawoユーザーのプロファイルにパスを追加するか、openclawoユーザーとしてOpenClawを再インストールしてください。