[App Sharing] 新Windows虚拟机,免费开源,无缝集成--winboat
Tofloor
poster avatar
增遇青水
deepin
9 hours ago
Author

WinBoat 是一个由麻省理工学院授权的开源项目

基于 Electron 框架开发,采用 MIT 开源协议,源代码托管在 GitHub

https://github.com/TibixDev/winboat

WinBoat - 在Linux上运行Windows应用,实现无缝集成

WinBoat 使用容器化方法在 Linux 上运行 Windows 应用程序,Windows 作为 Docker 容器内的 VM 运行,通过 FreeRDP 提供原生操作系统级窗口。

这个虚拟机最大的特点就是文件系统集成,从Windows访问Linux文件系统非常简单。你的家庭目录挂载在Windows中,方便你在两个系统之间共享文件,毫无麻烦。

这个其实跟统信Windows应用兼容引擎功能上差不多,但是文件共通这个便捷功能还是很实用的,看看深度这边能不能借鉴学习一下。

image.png

Reply Favorite View the author
All Replies
cuisirwork
deepin
9 hours ago
#1

这个真的好用,我正在使用。
1769565371212.png

Reply View the author
王都不知道
deepin
8 hours ago
#2

WinBoat 仪表盘 WinBoat 应用 原生窗口

⚠️进行中的作品⚠️

[](https://github.com/TibixDev/winboat#%EF%B8%8F-work-in-progress-%EF%B8%8F)

WinBoat 目前处于测试阶段,所以偶尔会遇到一些小问题和 bug。如果你决定尝试,应该能接受一定程度的排查,但我们仍然鼓励你尝试一下。

特色

[](https://github.com/TibixDev/winboat#features)

  • 🎨 优雅的界面:简洁直观的界面,将Windows无缝集成到你的Linux桌面环境中,使其感觉像原生用户一样
  • 📦 自动化安装:通过我们的界面实现简单的安装流程——选择您的偏好和规格,剩下的交给我们处理
  • 🚀 运行任意应用:如果它能在Windows上运行,它也能在WinBoat上运行。在你的Linux环境中,享受作为原生作系统级窗口的全系列Windows应用
  • 🖥️ 完整Windows桌面:需要时访问完整的Windows桌面体验,或无缝运行单个应用,集成到Linux工作流程中
  • 📁 文件系统集成:您的主目录挂载在Windows中,方便两台系统之间轻松共享文件
  • ✨ 还有更多功能:智能卡直通、资源监控,以及更多功能正在定期添加

它是如何运作的?

[](https://github.com/TibixDev/winboat#how-does-it-work)

WinBoat 是一款 Electron 应用,允许你在 Linux 上使用容器化方式运行 Windows 应用。Windows作为虚拟机运行在Docker/Podman容器内,我们通过WinBot访客服务器与它通信,从Windows获取所需数据。为了将应用程序合成为原生作系统窗口,我们使用 FreeRDP 搭配 Windows 的 RemoteApp 协议。

前提条件

[](https://github.com/TibixDev/winboat#prerequisites)

在运行WinBoat之前,请确保您的系统符合以下要求:

  • 内存:至少4GB 内存
  • CPU:至少有2个CPU线程
  • 存储空间:你所选安装文件夹对应的驱动器上至少有32GB的空闲空间
  • 虚拟化:在BIOS/UEFI中启用KVM
  • 以 Docker 为例:
    • Docker:容器化必备
      • 安装指南
      • **⚠️注意:**Docker Desktop 不支持,使用它会遇到问题
    • Docker Compose v2:与docker-compose.yml文件兼容所必需
    • Docker 用户组:将你的用户添加到该组 docker
  • 以Podman为例:
  • FreeRDP:远程桌面连接必备(请确保你拥有包含声音支持的3.x.x版本)
  • [可选]内核模块:/和内核模块可加载以实现网络自动发现和更好的共享文件系统性能,但在新版本的WinBoat中这并非强制要求 iptablesnftables``iptable_nat

下载中

[](https://github.com/TibixDev/winboat#downloading)

你可以在“发布”标签下下载最新的 Linux 版本。我们目前提供四种变体:

  • **AppImage:**这是一种流行且便携的应用格式,应该能在大多数发行版上运行良好

  • 拆包:原始解压文件,只需运行可执行文件(linux-unpacked/winboat)

  • **.deb:**基于 Debian 发行版的预期格式

  • **.rpm:**基于 Fedora 发行版的预期格式

  • 尼克斯(Nixpkgs)

    1. 把 winboat 包添加到你的配置里(确保使用 nixpkgs-unstable)。 使用家庭管理,或者如果使用家庭管理。environment.systemPackages = [pkgs.winboat];home.packages = [pkgs.winboat];
    2. 在你的 nix 配置中添加以下行列
    virtualisation.docker.enable = true;
    users.users.{yourUser}.extraGroups = ["docker"];
    

关于容器运行时的已知问题

[](https://github.com/TibixDev/winboat#known-issues-about-container-runtimes)

  • Docker Desktop 目前不支持
  • 目前不支持 Podman 的 USB 直通

建造WinBoat

[](https://github.com/TibixDev/winboat#building-winboat)

  • 构建时,你需要在系统上安装NodeJS和Go。
  • 克隆仓库 (git clone https://github.com/TibixDev/WinBoat)
  • 安装依赖 (npm i)
  • 用以下方式构建应用和访客服务器 npm run build:linux-gs
  • 你现在可以在下面找到已构建的应用,包含AppImage和Unpacked版本 dist

在开发模式下运行WinBoat

[](https://github.com/TibixDev/winboat#running-winboat-in-development-mode)

  • 确保你满足先决条件
  • 此外,开发时你需要在系统上安装NodeJS和Go。
  • 克隆仓库 (git clone https://github.com/TibixDev/WinBoat)
  • 安装依赖 (npm i)
  • 构建访客服务器 (npm run build:gs)
  • 运行应用 (npm run dev)

贡献

[](https://github.com/TibixDev/winboat#contributing)

欢迎大家的贡献!无论是修复漏洞、功能改进还是文档更新,我们都感谢您帮助WinBoat变得更好。

请注意:我们仅关注技术贡献。包含政治/性内容或其他敏感/争议话题的拉取请求将不被接受。让我们专注于打造优秀的软件!🚀

欢迎:

  • 报告漏洞和问题
  • 提交功能请求
  • 贡献代码改进
  • 文档帮助
  • 分享反馈和建议

查看我们的问题页面开始,或者如果你发现需要关注的内容,也可以随时打开新一期。

许可

[](https://github.com/TibixDev/winboat#license)

WinBoat 采用 MIT 许可证

灵感 / 替代方案

[](https://github.com/TibixDev/winboat#inspiration--alternatives)

过去几年里,一些很酷的项目出现了,概念相似,其中一些我们也从中获得了灵感。
他们很棒,你一定要去看看:

Reply View the author
王都不知道
deepin
8 hours ago
#3
王都不知道

WinBoat 仪表盘 WinBoat 应用 原生窗口

⚠️进行中的作品⚠️

[](https://github.com/TibixDev/winboat#%EF%B8%8F-work-in-progress-%EF%B8%8F)

WinBoat 目前处于测试阶段,所以偶尔会遇到一些小问题和 bug。如果你决定尝试,应该能接受一定程度的排查,但我们仍然鼓励你尝试一下。

特色

[](https://github.com/TibixDev/winboat#features)

  • 🎨 优雅的界面:简洁直观的界面,将Windows无缝集成到你的Linux桌面环境中,使其感觉像原生用户一样
  • 📦 自动化安装:通过我们的界面实现简单的安装流程——选择您的偏好和规格,剩下的交给我们处理
  • 🚀 运行任意应用:如果它能在Windows上运行,它也能在WinBoat上运行。在你的Linux环境中,享受作为原生作系统级窗口的全系列Windows应用
  • 🖥️ 完整Windows桌面:需要时访问完整的Windows桌面体验,或无缝运行单个应用,集成到Linux工作流程中
  • 📁 文件系统集成:您的主目录挂载在Windows中,方便两台系统之间轻松共享文件
  • ✨ 还有更多功能:智能卡直通、资源监控,以及更多功能正在定期添加

它是如何运作的?

[](https://github.com/TibixDev/winboat#how-does-it-work)

WinBoat 是一款 Electron 应用,允许你在 Linux 上使用容器化方式运行 Windows 应用。Windows作为虚拟机运行在Docker/Podman容器内,我们通过WinBot访客服务器与它通信,从Windows获取所需数据。为了将应用程序合成为原生作系统窗口,我们使用 FreeRDP 搭配 Windows 的 RemoteApp 协议。

前提条件

[](https://github.com/TibixDev/winboat#prerequisites)

在运行WinBoat之前,请确保您的系统符合以下要求:

  • 内存:至少4GB 内存
  • CPU:至少有2个CPU线程
  • 存储空间:你所选安装文件夹对应的驱动器上至少有32GB的空闲空间
  • 虚拟化:在BIOS/UEFI中启用KVM
  • 以 Docker 为例:
    • Docker:容器化必备
      • 安装指南
      • **⚠️注意:**Docker Desktop 不支持,使用它会遇到问题
    • Docker Compose v2:与docker-compose.yml文件兼容所必需
    • Docker 用户组:将你的用户添加到该组 docker
  • 以Podman为例:
  • FreeRDP:远程桌面连接必备(请确保你拥有包含声音支持的3.x.x版本)
  • [可选]内核模块:/和内核模块可加载以实现网络自动发现和更好的共享文件系统性能,但在新版本的WinBoat中这并非强制要求 iptablesnftables``iptable_nat

下载中

[](https://github.com/TibixDev/winboat#downloading)

你可以在“发布”标签下下载最新的 Linux 版本。我们目前提供四种变体:

  • **AppImage:**这是一种流行且便携的应用格式,应该能在大多数发行版上运行良好

  • 拆包:原始解压文件,只需运行可执行文件(linux-unpacked/winboat)

  • **.deb:**基于 Debian 发行版的预期格式

  • **.rpm:**基于 Fedora 发行版的预期格式

  • 尼克斯(Nixpkgs)

    1. 把 winboat 包添加到你的配置里(确保使用 nixpkgs-unstable)。 使用家庭管理,或者如果使用家庭管理。environment.systemPackages = [pkgs.winboat];home.packages = [pkgs.winboat];
    2. 在你的 nix 配置中添加以下行列
    virtualisation.docker.enable = true;
    users.users.{yourUser}.extraGroups = ["docker"];
    

关于容器运行时的已知问题

[](https://github.com/TibixDev/winboat#known-issues-about-container-runtimes)

  • Docker Desktop 目前不支持
  • 目前不支持 Podman 的 USB 直通

建造WinBoat

[](https://github.com/TibixDev/winboat#building-winboat)

  • 构建时,你需要在系统上安装NodeJS和Go。
  • 克隆仓库 (git clone https://github.com/TibixDev/WinBoat)
  • 安装依赖 (npm i)
  • 用以下方式构建应用和访客服务器 npm run build:linux-gs
  • 你现在可以在下面找到已构建的应用,包含AppImage和Unpacked版本 dist

在开发模式下运行WinBoat

[](https://github.com/TibixDev/winboat#running-winboat-in-development-mode)

  • 确保你满足先决条件
  • 此外,开发时你需要在系统上安装NodeJS和Go。
  • 克隆仓库 (git clone https://github.com/TibixDev/WinBoat)
  • 安装依赖 (npm i)
  • 构建访客服务器 (npm run build:gs)
  • 运行应用 (npm run dev)

贡献

[](https://github.com/TibixDev/winboat#contributing)

欢迎大家的贡献!无论是修复漏洞、功能改进还是文档更新,我们都感谢您帮助WinBoat变得更好。

请注意:我们仅关注技术贡献。包含政治/性内容或其他敏感/争议话题的拉取请求将不被接受。让我们专注于打造优秀的软件!🚀

欢迎:

  • 报告漏洞和问题
  • 提交功能请求
  • 贡献代码改进
  • 文档帮助
  • 分享反馈和建议

查看我们的问题页面开始,或者如果你发现需要关注的内容,也可以随时打开新一期。

许可

[](https://github.com/TibixDev/winboat#license)

WinBoat 采用 MIT 许可证

灵感 / 替代方案

[](https://github.com/TibixDev/winboat#inspiration--alternatives)

过去几年里,一些很酷的项目出现了,概念相似,其中一些我们也从中获得了灵感。
他们很棒,你一定要去看看:

我来试试看

Reply View the author
王都不知道
deepin
8 hours ago
#4
王都不知道

我来试试看

https://release-assets.githubusercontent.com/github-production-release-asset/960420129/3ab478be-ff75-4bd7-a9da-20b1a56cf770?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-01-28T02%3A55%3A06Z&rscd=attachment%3B+filename%3Dwinboat-0.9.0-amd64.deb&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-01-28T01%3A55%3A01Z&ske=2026-01-28T02%3A55%3A06Z&sks=b&skv=2018-11-09&sig=3ZQJLEEJIkor5HHf6r31XAi1P0%2Fnb5%2BxgzcALEjnBX0%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc2OTU2ODE3NiwibmJmIjoxNzY5NTY2Mzc2LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.31BU233_6yRiGrDenVsuoNj7zEKaTMpSqPggV2n5NZQ&response-content-disposition=attachment%3B%20filename%3Dwinboat-0.9.0-amd64.deb&response-content-type=application%2Foctet-stream

Reply View the author
鲜衣怒马
deepin
6 hours ago
#5

走到装Windows 这一步了 准备试试

Reply View the author
SkyShadowHero
deepin
4 hours ago
#6

和统信Windows兼容应用差别很大吧,一个是用wine,一个是直接装了个Windows虚拟机confused

Reply View the author
remyxo
deepin
4 hours ago
#7

装好了,还是不错的。

主要问题:

1)桌面不能设置缩放,在高分辨率屏幕上,字体太小。

2)从点击图标到出现应用界面,需要5秒左右,应该与freerdp有关,需要进一步提升效率。

Reply View the author