ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WinBoat:Linux 上 2 次点击装好 Windows 应用,服务自动回滚

WinBoat:Linux 上 2 次点击装好 Windows 应用,服务自动回滚 WinBoatLinux 上 2 次点击装好 Windows 应用服务自动回滚【免费下载链接】winboatRun Windows apps on Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboat如果你也在 Linux 上折腾过虚拟机多半被这套流程坑过机器一重启Windows 里的 Guest 服务就没了你得进桌面手动装服务、敲防火墙规则、配开机自启换个应用再来一遍。WinBoat 是个在 Linux 上运行 Windows 应用的工具它把服务注册、自启和端口放行全部写进自动化脚本装一次就变成一键配置后面再不用你进 Windows 桌面。一句话讲清它能帮你省掉什么WinBoat 把 Windows 跑在 Docker 或 Podman 容器的虚拟机里应用以 Linux 原生窗口弹出桌面环境不割裂。更省事的是它自带自愈Windows 内的两个服务开机自启版本更新失败会自动回滚到旧版。你不需要记命令、不需要盯进度。说白了从「每次重启手动救火」变成了「装完一次就不用管」。快速上手4 步装好一个能用的 Windows装好前置依赖Docker桌面版不支持或 Podman 4.x 以上加一个带声音支持的 FreeRDP 3.x。跑freeRDP-version能看到版本号就行下载 Linux 版 AppImage 或.deb包并安装。向导会先检测内存至少 4 GB、CPU 线程至少 2 条和 KVM 是否开启全绿才能继续点 Next向导只让你选 Windows 版本Win 10/11 Pro、LTSC 等 7 种和语言。后面生成 compose 文件、起容器、装系统全自动回到首页等 Guest API - Online 变绿。变绿说明 Windows 内的服务已经注册并跑起来了跑完你会发现整个过程你只做了「选」这一个动作。说白了从「敲十几条命令装系统」变成了「点 2 次 Next」。背后发生了什么两个服务和一次目录交换Guest Server虚拟机里的那个前台Linux 这侧读不到容器里 Windows 磁盘的文件WinBoat 的办法是在 Windows 内常驻一个 Go 写的小型 HTTP 服务监听7148端口。路由很直白/apps返回已装应用列表/health是健康检查/metrics返回 CPU、内存、磁盘三组指标/rdp/status判断当前有没有 RDP 会话。定义都写在 main.go 里不到 200 行。这个 API 就相当于给虚拟机装了个前台Linux 想查什么喊前台转达就行自己不用往里走。install.bat开机自动完成的服务登记Windows 装完后会自动执行 install.bat。它先用xcopy /E把文件拷进C:\Program Files\WinBoat顺手把目录加进 Defender 排除项然后nssm install注册WinBoatGuestServer和WinBoatGuestServerUpdater两个服务都设成SERVICE_AUTO_START运行身份是NT AUTHORITY\SYSTEM最后用netsh放行7148和7150两个端口。用 SYSTEM 而不是你的登录账户意味着你改多少次密码服务都不受影响。这套动作就像搬新家办户口地址登记好、开门自动报到、外人进出走固定通道。Updater换目录前先验货坏了就换回来WinBoatGuestServerUpdater专门管更新监听7150端口。收到新版本 zip 后它做目录交换旧的server改名为server.old新的server.new顶上然后重启服务并轮询7148的/health45 秒内没响应就判定失败把旧目录原样换回来。换回之前旧版本一直被保留着不会丢。这次更新就相当于换桥先走新桥走不通就拆掉新桥、旧桥马上回来全程不用你站在桥上指挥。说白了从「更新翻车要手工救」变成了「翻车了它自己退回去」。遇到问题怎么办3 条命令定位服务异常Guest API 一直 Offline→ 服务没起来多半是容器里的 Windows 还在启动 → 等 2 分钟不行就重启容器进 Windows 后执行nssm start WinBoatGuestServer服务注册失败→nssm.exe可能拷坏了 → 对照 nssm.sha1.txt 校验哈希不一致就重新拷贝7148端口冲突→ 别的程序占了端口 →netstat -ano | findstr 7148找到 PID 再处理进阶定制把指标接进你的监控/metrics返回的就是标准 JSON 的 CPU、内存、磁盘占用让 Linux 侧的监控 agent 定时拉容器里的47271端口宿主机侧映射对应虚拟机内7148把数据丢进 Prometheus虚拟机资源占用就有数了不用写一行采集脚本。进阶定制修改安装路径默认装在C:\Program Files\WinBoat。要换路径的话同步改三处再重启服务install.bat里的WB_DIR、执行nssm set WinBoatGuestServer AppDirectory 新路径、再更新防火墙规则指向。只改一处服务会直接起不来改完记得nssm restart WinBoatGuestServer验证一次。说白了从「出问题翻文档」变成了「按症状对号入座」。给虚拟机装常驻服务这件事套路可以脱离 WinBoat 直接搬走进程放容器、状态走一个小的本地 API、更新做带健康检查的目录交换。下次你自己做需要后台常驻的东西照这三条搭就行。【免费下载链接】winboatRun Windows apps on Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表