OpenClaw 在 Ubuntu 22.04.5 LTS 上的命令版操作手册

说明:本手册按"安装、检查、常见问题修复"的顺序整理,优先覆盖这次实际用到的可复用命令。执行前请确认当前用户具备 root 或 sudo 权限。

一、基础环境检查

  1. 查看系统版本

lsb_release -a

uname -a

  1. 检查 Node / npm / OpenClaw 命令位置

which node

which npm

which openclaw

node -v

npm -v

预期:尽量统一到系统路径,例如 /usr/bin/node、/usr/bin/npm、/usr/bin/openclaw。

二、安装或确认系统级 Node.js

如果当前还在混用 nvm,可优先整理为系统级 Node。以下命令先用于确认:

which node

readlink -f $(which node)

which npm

readlink -f $(which npm)

如果确认系统已具备可用 Node,则可直接进入 OpenClaw 检查;若未安装,请按你的实际源安装系统级 Node。安装完成后再次确认 which node / which npm。

三、OpenClaw 基础检查

  1. 查看 Gateway 状态

openclaw gateway status

  1. 查看整体状态

openclaw status

  1. 跟踪日志

tail -n 100 /tmp/openclaw/openclaw-$(date +%F).log

四、systemd 管理 Gateway 的常用命令

如果已经采用 systemd 托管 Gateway,常用命令如下:

openclaw gateway status

openclaw gateway start

openclaw gateway stop

openclaw gateway restart

如果你当前明确采用 root + 系统级服务,也可以直接看系统服务:

systemctl status openclaw-gateway --no-pager -l

systemctl daemon-reload

五、修复 systemd user scope 与 system scope 混淆

现象:CLI 容易误判到 systemctl --user,或者机器上同时存在用户态和系统级 unit。

  1. 先检查两边是否都存在 unit

ls -l ~/.config/systemd/user/openclaw-gateway.service

ls -l /etc/systemd/system/openclaw-gateway.service

  1. 如果你决定只保留系统级 unit,可先备份用户态残留 unit

mv ~/.config/systemd/user/openclaw-gateway.service ~/.config/systemd/user/openclaw-gateway.service.bak

  1. 然后重新检查 Gateway 状态

openclaw gateway status

systemctl status openclaw-gateway --no-pager -l

注意:如果当前会话本身依赖 OpenClaw 在线,不建议在关键对话中贸然重启 gateway,避免把自己会话也重启掉。

六、修复控制台显示异常但服务实际上正常的问题

现象:页面或状态里出现 missing scope: operator.read。

这种情况下先确认服务本身是否正常,不要只看 UI。

openclaw gateway status

openclaw status

ss -ltnp | grep 18789

tail -n 100 /tmp/openclaw/openclaw-$(date +%F).log | grep -n "operator.read"

如果 RPC probe 正常、端口也在监听,则优先判断为权限视角问题,而不是 Gateway 已宕机。

七、修复 sandbox 开启后因未安装 Docker 导致 agent 无法回复

现象:日志报 Sandbox mode requires Docker, but the docker command was not found in PATH。

  1. 先确认 Docker 是否安装

docker --version

which docker

  1. 如果没安装 Docker,而你只是想先恢复可用性,建议先把 sandbox 关闭

python3 - <<'PY2'

import json

p = "/home/node/.openclaw/openclaw.json"

with open(p, "r", encoding="utf-8") as f:

data = json.load(f)

data.setdefault("agents", {}).setdefault("defaults", {}).setdefault("sandbox", {})["mode"] = "off"

with open(p, "w", encoding="utf-8") as f:

json.dump(data, f, ensure_ascii=False, indent=2)

f.write("\n")

print("updated:", p)

PY2

  1. 修改后重新检查

openclaw gateway status

tail -n 80 /tmp/openclaw/openclaw-$(date +%F).log

八、修复 QQ allowlist 配置导致私聊被拦截

现象:dmPolicy=allowlist,但 allowFrom 为空,doctor 会提示 all DMs will be blocked。

  1. 先检查当前配置

python3 - <<'PY2'

import json

p = "/home/node/.openclaw/openclaw.json"

with open(p, "r", encoding="utf-8") as f:

data = json.load(f)

qq = data.get("channels", {}).get("qqbot", {})

print(json.dumps({"dmPolicy": qq.get("dmPolicy"), "allowFrom": qq.get("allowFrom")}, ensure_ascii=False, indent=2))

PY2

  1. 把自己的 QQ sender ID 加入白名单(下面示例把 80D430D088174E8157D1309218917F86 加入)

python3 - <<'PY2'

import json

p = "/home/node/.openclaw/openclaw.json"

uid = "80D430D088174E8157D1309218917F86"

with open(p, "r", encoding="utf-8") as f:

data = json.load(f)

qq = data.setdefault("channels", {}).setdefault("qqbot", {})

qq["dmPolicy"] = "allowlist"

allow = qq.setdefault("allowFrom", [])

if uid not in allow:

allow.append(uid)

with open(p, "w", encoding="utf-8") as f:

json.dump(data, f, ensure_ascii=False, indent=2)

f.write("\n")

print("updated:", p)

PY2

  1. 再检查

openclaw gateway status

openclaw status

九、会话过长导致回复易串线时的处理建议

  1. 先看当前会话状态

openclaw status

  1. 如果 direct 会话 token 已经很高,最稳的办法通常是新开会话验证,而不是在超长旧会话里硬修。

十、MySQL 环境异常时的修复命令(部署主机通用)

如果在同一台 Ubuntu 主机上遇到 apt / dpkg 被 MySQL 卡住,可按下面顺序检查。

  1. 看服务状态

systemctl status mysql --no-pager -l

mysqladmin ping

  1. 查看是否有包状态未完成

dpkg --audit

apt-get -f install

  1. 如果 root PATH 太瘦,先补全再重试

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

dpkg --configure -a

apt-get -f install

dpkg --audit

  1. 如果日志仍然报 ALTER USER failed for root@localhost,则要检查升级临时实例里的 mysql.user,确认是否只有 root@% 而缺少 root@localhost。

十一、日常最小巡检命令

which node && which npm && which openclaw

openclaw gateway status

openclaw status

tail -n 100 /tmp/openclaw/openclaw-$(date +%F).log

十二、建议

建议把这份命令版和前一份过程记录版一起保存:过程记录适合回顾原因,命令版适合下次直接照着操作。

相关推荐
wj3055853781 天前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
abigriver1 天前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq1 天前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU1 天前
Petalinux新建自动脚本启动
linux
charlie1145141911 天前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记1 天前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
于小猿Sup1 天前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y1 天前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙5201 天前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇1 天前
linux 检索库 判断库是否支持
java·linux·服务器