折腾 OpenClaw3.23:Gateway 服务装不上,帮你搞定

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

图片

刚装完 OpenClaw 2026.3.23,跑 openclaw configure 的时候让我装 Gateway 服务,我选了"Yes"。然后它就报错了。

Gateway service install failed: systemctl enable failed:  Failed to enable unit: Unit file openclaw-gateway.service does not exist.

翻译一下:它想把 Gateway 注册成 systemd 服务,但服务文件没创建成功,所以 systemctl enable 直接失败了。

跑 openclaw doctor 也是同样的结果,外加一个 Memory Search 的警告。整个 Gateway 起不来,等于 OpenClaw 瘫了。

为什么会这样

这个问题比微信插件那个要复杂一些,因为它涉及到 Linux 系统层面的东西。

OpenClaw 默认用的是 systemd 用户服务systemctl --user)来管理 Gateway。这个设计本身没问题——不需要 root 权限,每个用户独立管理自己的服务。但 systemd 用户服务有几个前提条件,很多服务器环境不满足。

第一个条件:XDG_RUNTIME_DIR 这个环境变量得存在。

桌面 Linux 登录的时候,系统会自动设置这个变量,指向 /run/user/<你的uid>/。但如果你是通过 SSH 登录的 VPS,或者在 Docker 容器里,这个变量大概率不存在。

验证方法:

echo $XDG_RUNTIME_DIR

如果输出是空的,那就是没设置。

第二个条件:systemd linger 得开启。

默认情况下,你的 systemd 用户服务只在你登录期间运行。SSH 一断开,服务就跟着停了。loginctl enable-linger 可以改变这个行为,让服务在你注销后继续跑。对服务器来说这个是必须的。

验证方法:

loginctl show-user $USER -p Linger

输出 Linger=no 就是没开。

第三个条件:D-Bus 会话总线得可用。

systemd 用户服务之间通过 D-Bus 通信。有些精简安装的服务器可能没装 D-Bus,或者配置有问题。

OpenClaw 在执行 gateway install 的时候,会尝试创建服务文件到 ~/.config/systemd/user/openclaw-gateway.service,然后执行 systemctl --use

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值