当前位置: 首页 > news >正文

OpenClaw 新手部署教程:WSL2 静默自启 + Windows 浏览器访问

这篇教程记录了从本地部署 OpenClaw 到实现「WSL2 启动后 OpenClaw 静默自启、关闭 WSL 窗口不影响服务、Windows 浏览器直接访问」的完整有效操作步骤,适合新手参考。


前置准备

确保你已经完成:

  1. WSL2 环境:已安装并启用 WSL2(推荐 Ubuntu 20.04/22.04)
  2. Node.js 环境:WSL2 内已安装 Node.js(推荐 v18+)
  3. OpenClaw 安装:通过 npm 全局安装 OpenClaw
    npminstall-gopenclaw

第一步:配置 OpenClaw systemd 服务(核心!)

让 OpenClaw 网关在 WSL2 启动时自动后台运行,崩溃自动重启。

1. 创建 systemd 服务文件

在 WSL2 终端执行:

sudonano/etc/systemd/system/openclaw.service

2. 写入服务配置(最终稳定版)

完整复制以下内容,注意替换占位符

[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 配置)

  1. Win + R,输入%USERPROFILE%,回车打开你的用户文件夹(如C:\Users\YourWindowsUser
  2. 新建一个文件,命名为.wslconfig注意前面有个点,没有后缀
  3. 写入以下内容:
[wsl2] # 禁用 WSL 自动休眠,永久后台运行 idleShutdownTimeout=0 # 启用 localhost 转发,确保 Windows 能访问 WSL 端口 localhostForwarding=true

3. 重启 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
部署到开机启动文件夹
  1. Win + R,输入shell:startup,回车打开「开机启动」文件夹
  2. 开机自动启动WSL.vbs拖入该文件夹

第五步:验证与使用

1. 验证服务自启

  1. 启动 WSL2(打开 WSL 终端窗口)
  2. 脚本会静默启动 OpenClaw 网关,全程无窗口、无交互、无密码
  3. 直接在 Windows 浏览器访问:http://127.0.0.1:18789
  4. 正常打开 OpenClaw 面板即为成功 ✅

2. 日常使用

  • 打开面板:在 WSL2 终端执行openclaw dashboard,复制输出的带 Token 链接在浏览器打开
  • 关闭面板:直接关闭浏览器即可,不影响后台服务
  • 关闭 WSL 窗口:在 Windows 不关机的情况下,服务继续运行,浏览器随时可访问

日常运维命令

命令作用
wsl -u root -- systemctl status openclawWindows 端直接查看服务状态
wsl -u root -- systemctl restart openclawWindows 端直接重启服务
wsl --shutdown彻底关闭 WSL,用于故障排查
openclaw dashboardWSL 内获取带 Token 的面板链接

最终效果

✅ 启动 WSL → WSL 脚本静默启动 OpenClaw 网关,全程无窗口、无交互、无密码
✅ WSL 永久后台常驻,关闭窗口不关机(Windows 不关机的情况下)
✅ WSL 启动之后,浏览器随时访问http://127.0.0.1:18789
✅ 服务崩溃自动重启,稳定可靠


避坑指南

  1. 路径问题:所有配置文件中的用户名、路径必须替换为你 WSL2 内的实际值
  2. 配置文件位置wsl.conf在 WSL2 内,.wslconfig在 Windows 用户文件夹
  3. 启动时序:vbs 脚本中的WScript.Sleep 10000是为了避免开机网络未就绪导致启动失败,可根据实际情况调整
  4. 服务验证:每次修改配置后,务必用sudo systemctl status openclaw验证服务状态为active (running)

希望这篇教程能帮到你!如果有问题,欢迎留言交流~

http://www.cnnetsun.cn/news/1820673.html

相关文章:

  • 3D游戏开发实战:Unity中快速计算点到直线距离的两种高效方法
  • 昨天还在说没对象,今天工作都没了。 那我有什么?有房贷啊,还有一身过劳的臭毛病
  • ClawdBot惊艳效果:模糊车牌图片→OCR识别→中英双语翻译+校验
  • AI论文写作哪个好?2026年精选6款AI写论文软件排行榜,AI率精准控制无压力!
  • Defender Control:彻底掌控Windows安全防护的3种实用方法
  • CUDA driver error: invalid argument问题修改
  • ChatGLM-6B GPU资源监控教程:nvidia-smi实时观测显存与计算利用率
  • 终极指南:5步掌握Blender与ZBrush无缝桥接插件GoB的完整安装与使用教程
  • 3分钟搞定!Windows 11任务栏拖放功能一键修复指南 [特殊字符]
  • Topit:重塑数字注意力流,Mac端智能视觉层管理终极方案
  • 如何高效备份微信聊天记录:5个实用技巧指南
  • AIGlasses_for_navigation惊艳效果:便利店货架中红牛与AD钙奶并排摆放识别特写
  • 告别重复点击疲劳:MouseClick鼠标连点器完整指南
  • MedGemma医疗助手使用指南:如何提问才能获得更专业的医学建议?
  • 告别地理数据处理烦恼:Mapshaper开源工具的终极解决方案
  • USB安全弹出神器:告别“设备正在使用“烦恼的终极解决方案
  • 如何快速掌握BlenderKit:3个简单秘诀让你成为3D创作高手
  • Wan2.1-umt5开发环境搭建:从操作系统重装到Anaconda环境配置全流程
  • 抖音内容批量下载神器:零基础也能轻松掌握的免费工具
  • 南北阁Nanbeige 4.1-3B固件开发实战:从编译到烧录全流程
  • 从SQL注入到Linux提权:DC-3靶场渗透实战中的5个关键转折点解析
  • 零知开源实战——基于STM32F4与BMP581的ST7789中文气象站开发指南
  • Java后端集成cv_unet_image-colorization实战:SpringBoot服务化部署
  • Sunshine游戏串流服务器终极指南:从架构解析到生产部署
  • FaceFusion升级体验:新版模型效果对比,高清算法提升明显
  • GWAS结果可视化避坑指南:从曼哈顿图到QQ图的7个常见错误及解决方法
  • 小白也能玩转OCR:基于ModelScope的CRNN文字识别镜像部署指南
  • Ostrakon-VL-8B生成效果对比:不同Prompt策略对图像描述质量的影响
  • ArduinoOcppMongoose:轻量级OCPP 1.6 WebSocket嵌入式适配器
  • 如何高效解析虚幻引擎Pak文件?UnrealPakViewer可视化分析工具深度解析