🧠 一句话先给结论:
OpenClaw 不是一个“跑在终端里的程序”,而是一个应该被 systemd 托管的长期服务。
如果你在 NAS 上用它,这个认知非常重要。
📋 OpenClaw 常用命令速查
⚠️ 后面你遇到的 90% 问题,都能在这里快速定位。

🔧 初始化 & 环境修复(只做一次)
# 如果 openclaw 提示 command not found
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 进入官方初始化流程(唯一正确入口)
openclaw onboard
📌 说明
openclaw onboard 会生成配置、systemd 服务、基础目录
- 不要手写 config,不要跳过这一步
🚀 Gateway(推荐:NAS 7×24 运行)
# 启动后台服务
systemctl --user start openclaw-gateway
# 设置开机自启
systemctl --user enable openclaw-gateway
# 查看运行状态
systemctl --user status openclaw-gateway
✅ 这是 NAS 上的正确使用方式

🧪 临时调试 / 实时日志(非长期)
# 仅用于调试(使用前请先 stop systemd 服务)
openclaw gateway run

⚠️ 不要和 systemd 同时用
调试完就关
📜 日志查看(最常用)
# 查看最近 100 行日志
journalctl --user -u openclaw-gateway -n 100
# 实时跟踪日志
journalctl --user -u openclaw-gateway -f
♻️ 重启 / 停止(改配置必用)
# 停止服务
systemctl --user stop openclaw-gateway
# 重启服务
systemctl --user restart openclaw-gateway
📌 一句话原则
👉 “长期运行用 systemd,看问题再 gateway run”
🧠 我一开始也被 Ctrl+C 骗了
刚开始在 NAS 上跑 OpenClaw 时,我一直以为:
- Ctrl + C = 关闭服务
- 关掉 SSH = 程序结束
- gateway run = 正确启动方式
直到有一天我发现:
❓ Ctrl+C 怎么关不掉?
❓ 终端关了,OpenClaw 还在?
❓ 端口被占用,但我明明没跑?
❓ 我的Token怎么没了
答案只有一个:
👉 systemd 已经接管了它。
🔍 OpenClaw 的两种运行模式(你必须分清)
模式一:systemd(✅ 推荐,生产环境)
systemctl --user start openclaw-gateway
特点:
- NAS 开机自动启动
- SSH 断开不影响
- 崩溃自动拉起
- 日志由 journald 管理
- 适合 7×24 运行
模式二:gateway run(🧪 临时调试)
openclaw gateway run
特点:
-
前台运行
-
Ctrl+C 立即退出
-
关终端 = 服务结束
-
适合:
- 看实时日志
- 怀疑 gateway 卡住
- 刚改完配置验证一次
📊 systemd vs gateway run

一句话记忆版:
- systemd = 托管型服务
- gateway run = 手动调试工具
👉 不要同时用
❓ 为什么会遇到那些“怪现象”
1️⃣ Ctrl+C 关不掉 OpenClaw
这是正常行为。
Ctrl+C 只能关掉你当前终端里的进程,
关不掉 systemd 的后台服务。
正确做法:
systemctl --user stop openclaw-gateway
2️⃣ gateway run 没输出 / 报端口占用
原因:
先检查:
systemctl --user status openclaw-gateway
3️⃣ 日志怎么看不到?
如果你看到类似提示:
No journal files were opened due to insufficient permissions
说明你当时:
一旦服务正常启动,下面命令就能看到日志:
journalctl --user -u openclaw-gateway -n 100
🧭 一页 NAS 运维速查卡
💡 收藏这一段,日常维护只看这里
| 场景 |
正确操作 |
| NAS 开机后 |
systemctl --user status openclaw-gateway |
| 改了配置 |
systemctl --user restart openclaw-gateway |
| 想看日志 |
journalctl --user -u openclaw-gateway -f |
| 端口被占用 |
检查是否 systemd 已启动 |
| 调试问题 |
stop systemd →gateway run |
| 长期运行 |
永远用 systemd |
✅ 最后一段,给还在纠结的人
如果你只记住一句话:
OpenClaw 在 NAS 上,是一个“服务”,不是一个“命令”。
那你之后就很难再踩坑了。

如有修改将更新在文章底部留言,觉得有用可以点赞+转发+推荐,点点关注,你的支持是我更新的最大动力❤。