WinApps 快速上手:3 步在 Linux 上原生运行 Office 等 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
在 Linux 桌面双击一个 xlsx,Windows 版 Excel 直接弹了出来——独立窗口、独立任务栏图标,不用双系统、不用来回切换。这就是 WinApps:把 Microsoft Office 等 Windows 软件无缝集成进 Linux 桌面。照着下面的路径走,从 0 到第一个 Windows 应用大约 30 分钟。
🧠 一分钟搞懂:WinApps 如何把 Windows 应用搬进 Linux 桌面
说白了,WinApps 就是在容器或虚拟机里跑一个完整的 Windows,再用 FreeRDP(远程桌面协议的开源实现)把每个 Windows 应用单独渲染成 Linux 桌面上的独立窗口。于是它们和本地应用并排躺在启动器里,你分不出谁是谁。
它适合谁:
- 必须用某几款 Windows 独占软件,但双系统太折腾
- 希望 Windows 应用在 Linux 上拥有独立窗口和文件关联
- 不想自己折腾虚拟机配置,想交给脚本全自动处理
✅ 开工前 30 秒检查:硬件与系统自查清单
- CPU 已开启硬件虚拟化,
lsmod | grep kvm能查到 KVM 模块 - 内存至少 8GB(Windows 虚拟机默认吃 4GB),磁盘剩余约 60GB
- Ubuntu、Fedora、Arch 等主流发行版,KDE Plasma / GNOME / XFCE 桌面
- Windows 10/11 专业版或企业版镜像——家庭版不支持 RDP,别硬试
🚀 从 0 到第一个 Windows 应用:Docker 方式安装路径
- 拿到项目源码。
git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winappsDocker/Podman 路径会全自动完成 Windows 安装,对新手最友好;想自定义虚拟机硬件的话,docs/libvirt.md 里有 libvirt 备选路径。
在 compose.yaml 里调整资源。
RAM_SIZE(默认 4G)、CPU_CORES(默认 4)按机器情况改大改小,顺手把 USERNAME / PASSWORD 改成你记得住的 Windows 账号。启动容器。
docker compose --file ./compose.yaml up首次启动时容器会自动下载并安装 Windows,耐心等它跑完。
完成 Windows 初始化。浏览器打开 http://127.0.0.1:8006,那是 VNC 网页端,相当于一块远程显示器。地域、账户、网络设置都在这里做,进入桌面即可关掉标签页。
装 Linux 侧依赖。Ubuntu/Debian 执行
sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd,Fedora 换 dnf 装同名包即可,注意 FreeRDP 需要 v3 及以上。
🛠️ 装完必做 3 件事:写配置、测 RDP、跑安装脚本
1. 写配置文件。安装器只认~/.config/winapps/winapps.conf,最少 4 行:RDP_USER/RDP_PASS(就是 compose 里设的账号)、RDP_IP="127.0.0.1"、WAFLAVOR="docker"。写完执行chmod 600,保证密码只有你自己能读。
mkdir -p ~/.config/winapps nano ~/.config/winapps/winapps.conf2. 自己先测一次 RDP 连接。
xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:127.0.0.1:3389 /cert:tofu看到 Windows 桌面就成了;提示证书信任时选"永久接受",然后关闭窗口。
3. 运行安装脚本。
bash setup.sh它会扫描 Windows 里已装的软件,让你勾选哪些加进 Linux 应用菜单,选完快捷方式就铺好了。
🖥️ 三个真实场景:办公、设计、开发共用一张桌面
办公。你在文件管理器里双击 .docx → 按文件关联直接用 Windows 版 Word 打开。文件双向往来靠挂载实现:Linux 主目录会自动挂到 Windows 会话里的\\tsclient\home,在 Windows 里保存,文件直接落回 Linux 主目录。
设计。你在应用启动器里搜 "Photoshop" 点一下 → 桌面上弹出单独的 PS 窗口,把 Linux 这边的 PNG 拖进画布就能开始修图。
开发。你像平时一样启动 PowerShell 或 Visual Studio → 在 Windows 会话里通过\\tsclient\home打开 Linux 主目录里的代码工程,改动保存后两边同步可见。
⚡ 进阶技巧:多显示器、性能与自定义应用
- 多显示器:
RDP_FLAGS里追加/multimon,万一黑屏就撤掉。 - 性能:4K 屏把
RDP_SCALE改成 140 或 180;AUTOPAUSE="on"可让闲置 5 分钟的 Windows 虚拟机自动休眠。 - 自定义应用:在 apps/ 复制任意一个应用目录,改 info 里的名称和可执行路径,重装即被识别。
- 懒得配目录?
winapps manual "C:\路径\app.exe"直接启动任意程序。 - Windows 里新装了软件,跑
winapps-setup --user --add-apps重新扫描收录。
🩹 卡住了怎么办:4 个高频问题一句话解法
别慌,先对号入座:
- 应用打不开,提示 Windows 没在运行→
docker compose --file ~/.config/winapps/compose.yaml start把容器叫醒。 - RDP 报证书不匹配 / 主机密钥变更→ 删掉
~/.config/freerdp/server/里对应的旧证书再连,会自动重新生成。 - Windows 里看不到 Linux 文件(
\\tsclient\home缺失)→ 确认lsmod | grep iptable_nat输出非空,为空就加载 iptables 模块后重启。 - 应用能开但卡→ 把 compose.yaml 的
RAM_SIZE调大后 down + up 重建容器,数据在 volume 里不会丢;还想深挖就看~/.local/share/winapps/winapps.log里的调试日志。
一个虚拟机换来 Windows 软件进 Linux 桌面,原有工作流一点没丢。项目还在活跃维护、应用持续上新,觉得有用就去仓库点个 Star 支持一下吧。
【免费下载链接】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),仅供参考