OpenClaw 新手部署教程:WSL2 静默自启 + Windows 浏览器访问
这篇教程记录了从本地部署 OpenClaw 到实现「WSL2 启动后 OpenClaw 静默自启、关闭 WSL 窗口不影响服务、Windows 浏览器直接访问」的完整有效操作步骤,适合新手参考。
前置准备
确保你已经完成:
- WSL2 环境:已安装并启用 WSL2(推荐 Ubuntu 20.04/22.04)
- Node.js 环境:WSL2 内已安装 Node.js(推荐 v18+)
- OpenClaw 安装:通过 npm 全局安装 OpenClaw
npminstall-gopenclaw
第一步:配置 OpenClaw systemd 服务(核心!)
让 OpenClaw 网关在 WSL2 启动时自动后台运行,崩溃自动重启。
1. 创建 systemd 服务文件
在 WSL2 终端执行:
sudonano/etc/systemd/system/openclaw.service2. 写入服务配置(最终稳定版)
完整复制以下内容,注意替换占位符:
[Unit] Description=OpenClaw Gateway After=network.target [Service] User=your_username Group=your_username WorkingDirectory=/home/your_username ExecStart=/usr/bin/node /home/your_username/.npm-global/bin/openclaw gateway --force Restart=always RestartSec=2 [Install] WantedBy=multi-user.target注意:将
your_username替换为你 WSL2 内的实际用户名。
3. 保存并退出
按Ctrl+O→ 回车 →Ctrl+X
4. 启动服务并启用自启
# 重载 systemd 配置sudosystemctl daemon-reload# 启动 OpenClaw 服务sudosystemctl start openclaw# 启用开机自启(WSL2 启动时自动运行)sudosystemctlenableopenclaw# 验证服务状态(必须看到 active (running))sudosystemctl status openclaw第二步:配置 sudo 免密码(避免脚本输密码)
让脚本可以静默启动服务,无需手动输入密码。
1. 配置免密码规则
在 WSL2 终端执行:
# 给当前用户配置 sudo 免密码echo"your_username ALL=(ALL) NOPASSWD: ALL"|sudotee/etc/sudoers.d/99-your_username-nopasswd# 给 root 用户也配置免密码(双重保险)echo"root ALL=(ALL) NOPASSWD: ALL"|sudotee-a/etc/sudoers.d/99-your_username-nopasswd# 设置正确的文件权限sudochmod0440 /etc/sudoers.d/99-your_username-nopasswd注意:将
your_username替换为你 WSL2 内的实际用户名。
2. 验证免密码
# 执行后无需输密码即为成功sudosystemctl status openclaw第三步:配置 WSL2 后台常驻(关闭窗口不关机)
让 WSL2 关闭终端窗口后继续运行,服务不中断。
1. 配置 WSL2 内的wsl.conf
在 WSL2 终端执行:
sudonano/etc/wsl.conf写入以下内容:
[boot] systemd=true [automount] enabled=true options=metadata,umask=22,fmask=11保存:Ctrl+O→ 回车 →Ctrl+X
2. 配置 Windows 侧的.wslconfig(全局 WSL2 配置)
- 按
Win + R,输入%USERPROFILE%,回车打开你的用户文件夹(如C:\Users\YourWindowsUser) - 新建一个文件,命名为
.wslconfig(注意前面有个点,没有后缀) - 写入以下内容:
[wsl2] # 禁用 WSL 自动休眠,永久后台运行 idleShutdownTimeout=0 # 启用 localhost 转发,确保 Windows 能访问 WSL 端口 localhostForwarding=true3. 重启 WSL2 使配置生效
以管理员身份打开 Windows PowerShell,执行:
wsl--shutdown重新打开 WSL2 终端即可生效。
第四步:制作 Windows 自动化脚本
开机自动启动 WSL + OpenClaw(静默无窗口)
新建开机自动启动WSL.vbs
Set WshShell = CreateObject("WScript.Shell") ' 等待10秒,确保 Windows 开机、WSL 完全就绪 WScript.Sleep 10000 ' 以 root 身份启动服务,免密码、无窗口 WshShell.Run "wsl -u root -- systemctl start openclaw", 0, True Set WshShell = Nothing部署到开机启动文件夹
- 按
Win + R,输入shell:startup,回车打开「开机启动」文件夹 - 将
开机自动启动WSL.vbs拖入该文件夹
第五步:验证与使用
1. 验证服务自启
- 启动 WSL2(打开 WSL 终端窗口)
- 脚本会静默启动 OpenClaw 网关,全程无窗口、无交互、无密码
- 直接在 Windows 浏览器访问:
http://127.0.0.1:18789 - 正常打开 OpenClaw 面板即为成功 ✅
2. 日常使用
- 打开面板:在 WSL2 终端执行
openclaw dashboard,复制输出的带 Token 链接在浏览器打开 - 关闭面板:直接关闭浏览器即可,不影响后台服务
- 关闭 WSL 窗口:在 Windows 不关机的情况下,服务继续运行,浏览器随时可访问
日常运维命令
| 命令 | 作用 |
|---|---|
wsl -u root -- systemctl status openclaw | Windows 端直接查看服务状态 |
wsl -u root -- systemctl restart openclaw | Windows 端直接重启服务 |
wsl --shutdown | 彻底关闭 WSL,用于故障排查 |
openclaw dashboard | WSL 内获取带 Token 的面板链接 |
最终效果
✅ 启动 WSL → WSL 脚本静默启动 OpenClaw 网关,全程无窗口、无交互、无密码
✅ WSL 永久后台常驻,关闭窗口不关机(Windows 不关机的情况下)
✅ WSL 启动之后,浏览器随时访问http://127.0.0.1:18789
✅ 服务崩溃自动重启,稳定可靠
避坑指南
- 路径问题:所有配置文件中的用户名、路径必须替换为你 WSL2 内的实际值
- 配置文件位置:
wsl.conf在 WSL2 内,.wslconfig在 Windows 用户文件夹 - 启动时序:vbs 脚本中的
WScript.Sleep 10000是为了避免开机网络未就绪导致启动失败,可根据实际情况调整 - 服务验证:每次修改配置后,务必用
sudo systemctl status openclaw验证服务状态为active (running)
希望这篇教程能帮到你!如果有问题,欢迎留言交流~
