WinBoat 上手指南:4GB 内存起,把 Windows 应用跑成 Linux 原生窗口
【免费下载链接】winboatRun Windows apps on 🐧 Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboat
WinBoat 用容器化方式在 Linux 里跑起一个 Windows 虚拟机,再把其中的 Windows 应用通过 FreeRDP 的 RemoteApp 协议合成成系统级窗口,直接嵌进你的 Linux 桌面。这篇按我实际跑通的流程写:从环境自检、源码构建,到首次启动一个 Windows 应用并打通文件共享,全程只依赖仓库里现成的命令和配置项。
🧭 环境自检
跑之前先确认底线,不达标后面全白搭:
- 内存 ≥4GB(分配给 Windows 虚拟机的建议 ≥4GB)
- CPU ≥2 线程,且 BIOS/UEFI 已开启 KVM 虚拟化
- 目标磁盘 ≥32GB 可用空间
- 容器运行时:Docker(Compose v2)或 Podman(4.x 及以上,Compose 同理)
- FreeRDP 3.x(需带声音支持)
两条命令自检,都有输出才算过:
grep -E '(vmx|svm)' /proc/cpuinfo && ls /dev/kvm docker version --format '{{.Client.Version}}' || podman --version🏗️ 部署流程
先装 Bun 和 Go(guest server 是 Go 写的,构建要它),然后在仓库根目录克隆并装前端依赖:
git clone https://gitcode.com/GitHub_Trending/wi/winboat cd winboat && bun i接着跑bun run build:gs编译 guest server——它会被打包成 Windows 开机时自动安装的服务,缺了这步装机会卡死。收尾用bun run dev启动 Electron + Vite,窗口里先走安装向导:勾选 Windows 版本(Win10 / Win11 Pro、LTSC、Enterprise 等)、内存、CPU 核心数、磁盘大小,填好用户名和密码。确认后会看到状态从 Creating Compose File 依次走到 Starting Container,容器起来并开始轮询 preinstall。
当向导状态停在Completed、且仪表盘能拉回 CPU / 内存指标时,说明初始化完成。想省掉源码构建的话,官方 Releases 里还有 AppImage / .deb / .rpm 预编译包,解压或安装后直接运行即可。
🖥️ 首次运行体验
用 RemoteApp 拉起单个 Windows 应用
装好后应用面板里既有 Windows Desktop、Explorer 这类内置项,也会列出 guest 里已安装的 Windows 应用。点任意一个,它不是弹出一个完整桌面窗口,而是以系统级窗口直接落到 Linux 桌面上,能像本地程序一样最小化、贴边。
办公与开发时的跨系统交互
文档、IDE 这类场景最实用的是剪贴板和文件互通:RDP 默认带了+clipboard以及声音、麦克风参数,文字能直接跨系统复制粘贴。文件侧把 Linux 主目录映射进 Windows,在 Windows 资源管理器里通过Network\host.lan就能读写本地文件,比走剪贴板传大文件省事得多。
需要整屏时切完整桌面
遇到必须整屏操作的应用,面板里的 Windows Desktop 或 Browser Display 能直接开一个完整 Windows 桌面,配合多显示器选项(MultiMon / Span)铺到副屏,适合长时间开发。
📊 资源分配与调优
| 档位 | CPU 核心 | 内存 | 磁盘 |
|---|---|---|---|
| 基础 | 2 核 | 4GB | 32GB |
| 推荐 | 4 核 | 8GB | 64GB |
| 高性能 | 6 核及以上 | 16GB 及以上 | 128GB 及以上 |
改法走图形界面:进 Config 页,用 RAM Allocation 和 CPU Cores 两个卡片调值,点 Save 会写回docker-compose.yml里的RAM_SIZE/CPU_CORES环境变量,下次启动容器生效。文件共享和网络也在这页一起管:打开 Shared Folder 把主目录挂进 Windows(对应Network\host.lan),并可用 Auto Start Container 让 Windows 随系统自启;WinBoat 会在127.0.0.1的 47270–47274 端口段起 RDP、Guest API 等服务,一般不用动。
🚑 踩坑速查
容器起来了但界面卡在 Installing Windows
现象是向导停在 Installing Windows 不动——多半是 guest 的 health API 还没就绪,先docker ps找到 WinBoat 容器,再docker logs <容器名>看它是否还在跑 Windows 首启。
资源面板的 Save 按钮点不动
保存被禁或下方飘红,几乎都是分配值踩了校验线:CPU 低于 2 核、或内存低于最低值都会被拦。把 CPU 调到 ≥2、内存提到建议的 4GB 以上,Save 就会点亮。
Podman 下 USB 直通不可用或安装失败
用 Podman 当运行时,USB passthrough 目前不受支持,且apt装的 Podman 可能低于 4.x 导致安装流程失败。要么升级到 Podman 4.x 以上,要么换 Docker 运行时再走 experimental 特性里的 USB 直通。
🔭 后续方向与延伸阅读
项目仍在 beta,官方口径属于 Work in Progress,近期在补的方向包括把 USB passthrough 从 experimental 转正、完善多显示器与资源监控,以及补齐 Podman 侧的 USB 直通(目前 Docker Desktop 与 Podman 直通仍有已知限制)。想看 guest 与宿主怎么通信,可以从 guest_server 模块 入手;端口映射、KVM / 内存这些硬约束都集中在 src/renderer/lib/constants.ts。下一步建议你先在 Config 页点一次 Save,把 RAM 和 CPU 固定成推荐档,再回头对照Network\host.lan验证共享目录确实能读写——这一步通了,后面加应用就只是点点图标的事。
【免费下载链接】winboatRun Windows apps on 🐧 Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboat
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考