WinApps 快速指南:Linux 上跑 Office
【免费下载链接】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
同事发来一份 .docx,WPS 一开排版全乱,而公司只认正版 Office。装双系统你嫌麻烦,自己跑虚拟机你又嫌慢。
WinApps 说白了就干一件事:把虚拟机里 Windows 装好的应用拆出来,变成 Linux 应用菜单里的图标,窗口靠 FreeRDP 渲染回你的桌面。Office、Adobe、Visio,Windows 里装了多少,你的菜单里就有多少,点开体验和本地程序没区别。
动手前的检查清单
- 一台支持硬件虚拟化的 Linux 机器(Ubuntu、Fedora 均可),CPU 需开启 VT-x 或 AMD-V
- Windows 10/11 的专业版、企业版或 Server——家庭版没有 RDP 服务端,这条路走不通
- 依赖装齐,Ubuntu 一条命令:
sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd - 虚拟机后端三选一:Docker、Podman、libvirt。Docker 最省事,libvirt 可调项最多,官方推荐前两者
- clone 好仓库备用:
git clone https://gitcode.com/GitHub_Trending/wina/winapps
部署路径:四步跑通
第 1 步:建出那台叫 RDPWindows 的虚拟机
走 Docker:改好 compose.yaml 里的RAM_SIZE、CPU_CORES,执行docker compose --file ./compose.yaml up,浏览器打开http://127.0.0.1:8006就能看到 Windows 安装界面,一路点下去。
走 libvirt:在 virt-manager 里新建虚拟机,挂 Windows ISO,给 2 核 4GB,磁盘和网卡都选 VirtIO,名字必须叫RDPWindows(WinApps 靠这个名字找它),CPU 一栏勾上Copy host CPU configuration。
时钟 XML、QEMU Guest Agent 通道这些 libvirt 细节,docs/libvirt.md 里一步一图,照着点就行。
第 2 步:把驱动和 RDP 能力装进 Windows
进 Windows 桌面后,先装 VirtIO 驱动,Balloon、Network 这些组件全留默认,它顺带会装上 QEMU Guest Agent,WinApps 靠它判断 Windows 是活着还是睡了。
再把仓库里的 oem/install.bat 连同RDPApps.reg、TimeSync.ps1、NetProfileCleanup.ps1三个文件拷进 Windows,右键install.bat以管理员身份运行。跑完,RDP 应用发布策略就打开了。重启虚拟机,收工。
第 3 步:写好配置,手连一次 RDP
新建~/.config/winapps/winapps.conf,至少填三行:RDP_USER、RDP_PASS(Windows 完整账号密码,PIN 不行),以及WAFLAVOR(docker / podman / libvirt 三选一)。写完别急着往下走,先手动验一次通道:
xfreerdp /u:你的账号 /p:你的密码 /v:127.0.0.1:3389 /cert:tofu弹出 Windows 桌面、提示证书时选永久信任,说明 RDP 这条路通了。
第 4 步:让 winapps-setup 接管
把 Windows 开机但别登录(关掉虚拟机窗口即可),回到 Linux,在刚 clone 的 winapps 目录里执行:
bash setup.shsetup.sh 会依次做四件事:查依赖、连 RDP、扫描 Windows 已装的程序、弹出一个勾选列表。你打钩的每一项,都会变成 Linux 应用菜单里带正确图标和文件关联的快捷方式。
跑起来之后
启动、加应用、删应用
日常就是点图标,没别的。文件管理器里右键任意文件,也能选 Windows 程序打开,Nautilus 集成是这套方案的招牌。装个可选的 WinApps Launcher,托盘图标里直接列出全部应用,还能顺手开关虚拟机。
在 Windows 里新装了软件?winapps-setup --user --add-apps重扫一遍即可。想临时跑个不在列表里的程序:winapps manual "C:\Tools\app.exe"。彻底清场:winapps-setup --user --uninstall。自定义应用模板都在 apps/ 下,照抄一份目录就能加自己的应用。
调资源、控功耗
Docker 路线调RAM_SIZE和CPU_CORES后重建容器即可。嫌 Windows 一直挂着费资源,把 winapps.conf 里的AUTOPAUSE改成on,闲置 5 分钟自动暂停,下次点开应用会自动唤醒。高分屏的话,把RDP_SCALE调到 140 或 180。
踩坑速查
- setup.sh 报找不到 FreeRDP:你装到的是 FreeRDP 2。
xfreerdp3 --version确认主版本 ≥3;Debian 12 要开 backports 源才有 freerdp3-x11。 - 连接时报 CERTIFICATE NAME MISMATCH:旧 TLS 证书在捣乱。删掉
~/.config/freerdp/server/下对应 IP 的.pem,重连一次让它重新信任。 - 向导中途提示 WINDOWS VM NOT RUNNING:虚拟机没开机,或名字不叫 RDPWindows。
virsh start RDPWindows拉起来再跑,或在配置里改VM_NAME。
卡住了怎么办
更细的排障清单都在 README.md 的 Troubleshooting 部分,对着错误码查;实在绕不过去,直接去项目提 issue。
【免费下载链接】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),仅供参考