在 Linux 桌面里,总有那几个离不开的 Windows 应用:Office、Visio、Photoshop……与其折腾双系统,不如让它们“像原生应用一样”出现到 GNOME/KDE/XFCE 的菜单里。WinApps 正是做这件事的。
项目简介
- WinApps 是一个在 GNU/Linux 上使用 Windows 应用的方案。你能像打开本地程序一样启动它们,支持菜单图标、右键“用某应用打开”、以及 ms-word:// 这类协议跳转。
- 实现方式是:在 KVM 上运行一个 Windows 虚拟机,后端可选 Docker/Podman 或 libvirt;通过 FreeRDP 把应用窗口无缝呈现在 Linux 桌面。Linux /home 会映射到 Windows 的 \\tsclient\home,文件互通更顺手。
- 适用范围覆盖常见办公和设计类软件。但依赖内核级反作弊的场景并不在支持之列。
对运维/DevOps的价值
- 可复现与易部署:compose.yaml、Nix flake 固定环境;setup.sh 简化初始化;后端容器化便于标准镜像与批量分发。
- 易管控:官方任务栏小部件用于管理 Windows 子系统;应用发现→快捷方式生成→RDP 启动的链路清晰,方便脚本化。
- 可扩展:apps/ 目录用数据描述图标与 MIME 映射,企业可按需维护自有清单。
落地建议
- 优先选择 Podman(rootless)或 Docker 后端,启用 KVM;固定内核、FreeRDP、runtime 版本矩阵。
- 制作标准化 Windows 基础镜像(补丁、证书、代理、常用套件预装)。
- 严控共享目录与网络暴露,按策略管理许可证与补丁。
- 用 Ansible/MDM 下发 setup.sh 与应用映射,先小范围灰度再铺开。
- 监控 VM 与 RDP 会话可用性,失败时自动重建快捷方式并重连。
典型使用场景
- 在 Linux 桌面统一接入 Microsoft 365、Visio、Project。
- 设计与制图(如 Adobe/Affinity),需结合带宽、延迟与 GPU 能力评估体验。
- 某些仅提供 Windows 客户端的内部工具。
想持续获取云原生、运维自动化、SRE 实践与工具精选,欢迎关注《云栈运维云原生》。我们专注“能落地”的方法与经验。
项目地址与文档
标签
winapps #Github #Linux桌面 #DevOps #SRE
|