WinApps 上手指南:在 Linux 桌面上跑 Word 和 Photoshop,从 0 到跑通只要 5 步
【免费下载链接】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 是一个开源项目,它让你在 Ubuntu、Fedora 等 Linux 系统里直接运行 Microsoft Office、Adobe 全家桶这类 Windows 软件,应用会出现在系统菜单里,用起来和原生程序几乎没区别。它适合那些"Linux 是主力系统,但总有几个应用绕不开 Windows"的用户。
先说个真实场景
公司设计部门用的全是 Linux 工作站,偏偏报价单模板要用 Word 排版,审图还得开 Photoshop。传统做法是给每人发一台 Windows 笔记本,或者装个笨重的虚拟机桌面——每天先启动"虚拟机"再用"程序",隔了三层。WinApps 的思路是:只跑一个 Windows 实例,然后把里面的单个应用"抠"出来挂到 Linux 桌面上,菜单里点 Word 就是 Word,右键文件还能直接用它打开。
最短路径:5 步跑通第一台
⚡️ 推荐 Docker/Podman 后端,Windows 安装全程自动,几乎不用手工配置(详细步骤见 docs/docker.md):
- 克隆项目:
git clone https://gitcode.com/GitHub_Trending/wina/winapps - 启动 Windows 虚拟机:在仓库目录编辑
compose.yaml(按需改内存、CPU、用户名),然后docker compose --file ./compose.yaml up,浏览器打开http://127.0.0.1:8006用 VNC 完成 Windows 初始化 - 装依赖:Ubuntu 上
sudo apt install curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd,Fedora 换成 dnf 对应包名 - 写配置:创建
~/.config/winapps/winapps.conf,填RDP_USER、RDP_PASS、RDP_IP、WAFLAVOR等几项(README 里有完整模板,照抄改值即可) - 跑安装器:Windows 保持开机状态,执行
bash setup.sh --user,在图形化向导里勾选要上桌面的应用,完事
装完后,应用图标直接进 GNOME/KDE 菜单,这就是最终形态:
它到底是怎么干活的
大白话版:WinApps 用 KVM 虚拟化跑一个 Windows(Docker/Podman/libvirt 都只是壳),装完后它会去"盘"一遍 Windows 注册表里所有已装应用,然后给每个选中的应用在 Linux 上生成一个 .desktop 快捷方式;点快捷方式时,实际是通过 FreeRDP 的 RemoteApp 机制只把这一个应用窗口画到 Linux 桌面上,而不是给你一整个 Windows 桌面。附带的好处:/home在 Windows 里以\\tsclient\home挂载可见,Nautilus 里右键"用 Word 打开"也能按文件类型正确路由。
进阶:配置文件里值得动的几项
核心全在~/.config/winapps/winapps.conf,几个高频项:
RDP_SCALE:4K 屏建议设140或180,只认 100/140/180 三档,写错会自动取最接近的RDP_FLAGS:默认含/cert:tofu /sound +home-drive。感觉画面卡可以加/network:lan,不行再试/nsc和/gfx;双屏可以试/multimon(有 FreeRDP 黑屏 bug 的风险,出问题就撤掉);要跨语言输入可加/kbd:unicodeAUTOPAUSE:设on后 Windows 闲置一段时间自动暂停,省 CPU- 加自定义应用:把 apps/ 下任意目录(如
apps/word/)拷一份,改info里的NAME、WIN_EXECUTABLE、MIME_TYPES,换掉icon.svg,重新安装即可 - 临时跑没配置过的程序:
winapps manual "C:\path\to\app.exe",PATH 里的程序可以只写文件名
踩坑实录
1. RDP 连不上,报 CERTIFICATE NAME MISMATCH根因:重建过虚拟机或 IP 变了,~/.config/freerdp/server/里留了旧的.pem证书。 解法:删掉对应的<IP>_3389.pem,重新连一次让它自动登记新证书。
2. 安装器报"用户不在 kvm/libvirt 组"根因:装完 virt-manager 后没把当前用户加进kvm和libvirt组(libvirt 路线必踩,Docker 路线不依赖)。 解法:sudo usermod -a -G kvm,libvirt $(whoami)然后重启。
3. Windows 装好了却连不上 RDP根因:装的是 Windows Home 版——RDP 只存在于专业版/企业版/服务器版,Home 直接不支持。 解法:重装时选专业版以上;另外内核级反作弊(如 Riot Vanguard)也不支持,这类应用趁早别指望。
写在最后
一个人用,Docker 后端 30 分钟能进桌面;要给团队批量铺开,把compose.yaml和winapps.conf当模板分发,再按 docs/libvirt.md 走 libvirt 路线可以拿到 GPU 直通这类更深的定制能力。细节文档、配置项说明都在仓库 README 和 docs 目录里,照着排查基本不会迷路。
【免费下载链接】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),仅供参考