在 Linux 原生运行微软 Office,一台配置复制到 20 台机器:WinApps 部署实操
【免费下载链接】winappsRun Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration. Hard fork of https://github.com/Fmstrat/winapps/项目地址: https://gitcode.com/GitHub_Trending/wina/winapps
WinApps 是一个开源工具,能让 Microsoft Office、Adobe Creative Cloud 这类 Windows 应用直接在 Linux 上运行,图标会像原生应用一样出现在应用菜单里。如果你的主力机是 Linux,但某些流程离不开 Windows 软件,不用为此再买一台电脑。
场景:20 台新机器要装同一套应用
周五下午,IT 接到通知:20 台新开发机要装同一批 Windows 应用,Office、PDF 工具、设计软件。传统做法是一台一台装。用 WinApps 的思路是每台机器先建一个标准化的 Windows 虚拟机,再跑一次安装脚本,应用就出现在 Linux 应用菜单里。整个过程脚本化、可复现,批量部署配置方法基本就是把同一组命令在 20 台机器上重复一遍。
能力一览 🖥️
| 能力 | 一句话说明 |
|---|---|
| 虚拟机后端 | Windows 跑在 Docker/Podman/libvirt 里,KVM 加速 |
| 原生集成 | Windows 应用进应用菜单,Nautilus 右键可打开 |
| 批量友好 | 一条脚本扫描应用并生成快捷方式,可复制 |
先准备:建一台 Windows 虚拟机
推荐 Docker 和 Podman,它们能自动化 Windows 安装流程;libvirt 可控性更强但手动操作多,完整做法在 docs/libvirt.md 里按步骤写了,想系统学一遍 Linux 运行 Windows 应用教程的话可以照着走。
Docker 方式下,克隆仓库后启动容器即可,compose.yaml里的RAM_SIZE和CPU_CORES决定了虚拟机的资源:
git clone https://gitcode.com/GitHub_Trending/wina/winappscd winapps && docker compose --file ./compose.yaml up然后浏览器打开http://127.0.0.1:8006,通过 VNC 进去完成 Windows 安装和账号创建。
选 libvirt 路线的话,要在 virt-manager 里手动建虚拟机,先定好 CPU 和内存:
这是 virt-manager 创建虚拟机时的 CPU 分配页,示例中划了 2 核。
虚拟机建好后,从挂载的 ISO 里安装 VirtIO 驱动和 QEMU Guest Agent,后续安装脚本靠 Agent 探测虚拟机 IP、启停它:
向导会一次性装好 VirtIO 驱动和 QEMU Guest Agent。
安装 WinApps,验证 RDP 链路
虚拟机保持开机状态,把连接信息写进~/.config/winapps/winapps.conf,关键就三项:RDP_USER和RDP_PASS(必须是完整 Windows 账号,PIN 无效)、WAFLAVOR(docker/podman/libvirt 三选一)、RDP_SCALE(4K 屏可设 140 或 180)。先用一条命令验证 RDP 链路:
xfreerdp3 /u:"你的用户名" /p:"你的密码" /v:127.0.0.1:3389 /cert:tofu能看到 Windows 桌面就可以往下走。回到仓库目录执行bash setup.sh,交互式安装器启动:
向导逐项检查依赖,再让你勾选要暴露到 Linux 的应用。
选择完成后快捷方式就写进系统了:
Excel 等 Windows 应用出现在 Linux 应用菜单里,点开即用。
部署后的日常使用
日常用起来比较自然:点图标启动应用,窗口和 Linux 应用并排出现在桌面上,Windows 里通过\\tsclient\home能看到 Linux 家目录,两边拖文件就行。Nautilus 里对 docx 右键,可以直接选 Word 打开。可选的 WinApps Launcher 系统托盘组件值得装:
托盘组件里能启停虚拟机,也能列出所有已部署的 Windows 应用。
容易踩的坑 ⚠️
RDP 连接提示 CERTIFICATE NAME MISMATCH:Linux 侧缓存了旧 RDP 证书。→ 删掉~/.config/freerdp/server/下对应的证书文件(如127.0.0.1_3389.pem),重连即可。
装完 Windows 找不到 RemoteApp 选项:多半是 Windows 家庭版不支持 RDP 应用。→ 换专业版、企业版或 Server 版重装。
安装脚本报虚拟机不存在或扫描超时:libvirt 路线确认当前用户在libvirt和kvm组里;扫描慢就把winapps.conf的APP_SCAN_TIMEOUT调大。
Docker 路线的完整流程在 docs/docker.md 里,卡住了也可以直接到项目提 issue。跑起来之后,Windows 应用只是应用菜单里多出来的几个图标。
【免费下载链接】winappsRun Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration. Hard fork of https://github.com/Fmstrat/winapps/项目地址: https://gitcode.com/GitHub_Trending/wina/winapps
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考