最近在安装 OpenClaw Gateway 时,遇到了一个比较奇怪的错误:
systemctl is-enabled unavailable Command failed: systemctl --user is-enabled openclaw-gateway.service
看起来只是一个简单的 systemd 错误,但实际上背后涉及:
- systemd user service
- Node.js / nvm 环境
- PATH 环境变量
- CLI daemon 启动方式
这篇文章记录了完整的排查过程 + 最终解决方案。
一、运行环境
我的环境如下:
Windows 11 + WSL2 Ubuntu 24.04.4 LTS nvm + Node v24.14.0 OpenClaw 2026.3.2
安装 OpenClaw 后执行:
openclaw onboard --install-daemon
出现错误:
Gateway service check failed:
Error: systemctl is-enabled unavailable
Command failed: systemctl --user is-enabled openclaw-gateway.service
二、OpenClaw Gateway 架构
OpenClaw Gateway 实际上是通过 systemd user service 运行的。
架构大致如下:
OpenClaw CLI
│
▼
openclaw gateway install
│
▼
systemctl --user
│
▼
systemd user service
│
▼
openclaw-gateway.service
│
▼
Node runtime (nvm)
│
▼
OpenClaw Gateway
因此任何一层出问题都会导致 Gateway 无法启动。
三、systemd 启动流程
当执行:
openclaw gateway start
实际运行流程是:
openclaw gateway start
│
▼
systemctl --user restart openclaw-gateway.service
│
▼
systemd user service
│
▼
ExecStart
│
▼
node openclaw gateway run
所以本质上就是:
systemd 负责守护 Node 进程。
四、第一个问题:systemd user service 未启用
先检查 service 状态:
systemctl --user is-enabled openclaw-gateway.service
输出:
disabled
启用 service:
systemctl --user openclaw-gateway.service


