这份指南专为在 Linux 服务器上(特别是通过 Conda 虚拟环境且未使用 Docker 部署)的用户编写。
在 Linux 服务器上卸载 OpenClaw 时,很多开发者会习惯性地直接删除 Conda 环境。这是一个危险的操作。由于 OpenClaw 会在系统后台安装持久的网关服务 (Gateway Service),粗暴地删除环境会留下孤立的 systemd 进程。这不仅会导致服务器资源被陷入崩溃循环的进程持续消耗,还可能让你的 API 密钥等敏感数据毫无防备地残留在磁盘上。
遵循以下四个步骤,可以确保安全、彻底地将 OpenClaw 从服务器中移除。
第一步:运行内置卸载程序
首先,请务必保持 Conda 环境处于激活状态,我们需要使用 OpenClaw 自带的 CLI 工具来优雅地停止网关服务。
conda activate <你的_openclaw_环境名>
openclaw uninstall --all --yes --non-interactive
第二步:彻底清除 systemd 守护进程(核心防坑)
即使内置卸载命令执行成功,systemd 内存中仍可能残留“幽灵单元”。我们需要手动注销用户级服务。
⚠️ 高频踩坑预警: 在执行清理命令时,千万不要加 sudo! 由于 OpenClaw 是安装在当前用户目录下的用户级服务(~/.config/systemd/user/),使用 sudo 会将执行上下文切换到 root。而 root 账户并不共享普通用户的环境变量(如 $XDG_RUNTIME_DIR 和 $DBUS_SESSION_BUS_ADDRESS),这会导致终端直接抛出 Failed to connect to bus 的连接错误。
请直接以你当前登录的普通用户身份,运行以下命令组:
systemctl --user disable --now openclaw-gateway.service
rm -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload
systemctl --user reset-failed
第三步:抹除 Conda 环境与配置文件
后台守护进程被彻底终结后,就可以安全地移除环境本身及相关数据了。
1. 清除专属 Conda 环境:
如果你专门为 OpenClaw 创建了虚拟环境,最干净的做法是将其整个抹除:
conda deactivate
conda env remove -n <你的_openclaw_环境名>
2. 删除状态与配置目录:
OpenClaw 的代理工作区、会话历史和可能包含敏感信息的 API 密钥都存储在用户主目录的隐藏文件夹中,必须将其彻底删除以消除安全隐患:
rm -rf ~/.openclaw
第四步:终极验证步骤(确保彻底卸载)
OpenClaw 严重依赖 Node.js 并会绑定特定的 WebSocket 端口。为了确保没有漏网之鱼,请执行以下验证步骤:
1. 扫描残留的幽灵进程
检查是否还有脱离主进程并在后台苟延残喘的子进程。请将 <你的用户名> 替换为实际的 Linux 用户名:
ps aux | grep -i "[o]penclaw"
pgrep -a -u <你的用户名> node
2. 验证网关端口是否已释放
OpenClaw 网关的默认 WebSocket 监听端口是 18789,运行以下命令检查端口占用情况:
ss -tulpn | grep 18789
✅ 验证结果:
如果上述所有命令在你的终端中都返回空白行,恭喜你,你的服务器内存和网络已经完全清除了该软件的任何痕迹。
(如果在检查中依然看到了存活的进程 ID (PID),你可以直接使用 kill -9 <PID> 命令将其强制终止。)
夜雨聆风