WinApps 安装教程:4 步让 Linux 跑起 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
公司流程卡在只有 Windows 版的专业软件上,双系统和来回切虚拟机窗口又让人疲惫。WinApps 把 Windows 应用直接搬进你的 Linux 桌面:Office、Adobe 全家桶以独立窗口打开,文件、剪贴板照常共享。
WinApps 能力速览:能做什么、适合谁、哪里不行
一句话定位:它是一个开源项目,在后台跑一台 Windows 虚拟机,再用 FreeRDP 把里面的应用"投影"到你的 Linux 桌面上。适合依赖 Windows 专业软件(Office、Adobe、Visual Studio)做日常工作的用户。代价是你得维护一台虚拟机;边界很明确——内核级反作弊(如 Riot Vanguard)不在支持范围。
WinApps 工作原理:4 步看懂它做了什么
把它想成在 Linux 桌面开了一扇窗,窗里是另一台 Windows 机器的桌面。整个过程只有 4 步:
- 虚拟机跑在 Docker、Podman 或 libvirt 里,底层都走 KVM。
- 扫描这台 Windows 里装好的全部程序。
- 为你选中的应用在 Linux 上生成快捷方式。
- 用 FreeRDP 把选定应用渲染成 Linux 桌面上的独立窗口。
你点开的只是一个普通应用窗口,干活的是背后的虚拟机。
三大使用场景:办公、创作与文件操作
- 办公日常:菜单里点 Word 或 Outlook,窗口直接弹出来;浏览器中的 ms-word:// 这类协议链接也能直接唤起对应的 Office 组件。
- 创意生产:Photoshop、Illustrator 这类 Adobe 软件以独立窗口运行,和 Linux 本地程序混排互不干扰。
- 文件与快捷方式:Windows 那边通过
\\tsclient\home就能读到 Linux 的 /home 目录,两边是同一份文件;在 Nautilus 里右键文件,可按 MIME 类型自动挑一个 Windows 应用打开;任务栏还能挂官方组件 WinApps-Launcher 统一管理整套环境。
应用兼容列表:社区已验证的版本
理论上 WinApps 能跑任何 Windows 程序——它还会扫描注册表里列出的其他 .exe。下表是社区验证过、自带高清图标和 MIME 关联的应用:
| 应用 | 版本 | 备注 |
|---|---|---|
| Microsoft Word | 2016 / 2019 / o365 | 支持协议链接唤起 |
| Microsoft Excel | 2016 / 2019 / o365 | |
| Microsoft PowerPoint | 2016 / 2019 / o365 | |
| Microsoft Outlook | 2016 / 2019 / o365 | |
| Adobe Photoshop | CS6 / CC / 2022 | |
| Adobe Illustrator | CC | |
| Adobe Acrobat Pro | X | |
| Adobe After Effects | CC | |
| Command Prompt | cmd.exe | Windows 命令行 |
| File Explorer | Windows 资源管理器 | |
| PowerShell | — | |
| Visual Studio | Comm. / Pro. / Ent. 2022 |
快速上手:4 步装好 WinApps
第 1 步:建好 Windows 虚拟机
多数人用 Docker 或 Podman,因为装 Windows 的过程是自动化的。先改 compose.yaml 里的 RAM_SIZE 和 CPU_CORES,然后:
docker compose --file ./compose.yaml up浏览器打开 http://127.0.0.1:8006 的 VNC 界面,把 Windows 装完即可。想要 GPU 直通这类更细的控制,可以改走 libvirt 路线,仓库里的 docs/libvirt.md 有完整步骤:
第 2 步:安装依赖
按你的发行版选一行执行(FreeRDP 需要 3 及以上版本):
sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd sudo dnf install -y curl dialog freerdp git iproute libnotify nmap-ncat sudo pacman -Syu --needed -y curl dialog freerdp git iproute2 libnotify openbsd-netcat第 3 步:写配置文件
创建 ~/.config/winapps/winapps.conf,至少填这五项:
RDP_USER="MyWindowsUser" RDP_PASS="MyWindowsPassword" RDP_IP="127.0.0.1" WAFLAVOR="docker" RDP_SCALE="100"第 4 步:验证连接并一行安装
先手动打通 RDP:xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:192.168.122.2 /cert:tofu—— 弹出 Windows 桌面就说明配置正确。然后保持虚拟机开机,运行仓库里的安装程序:
git clone https://gitcode.com/GitHub_Trending/wina/winapps bash winapps/setup.sh安装向导会列出检测到的应用,勾选要装进菜单的即可:
装完后用winapps-setup --help还能看到其余参数。
日常使用:菜单启动器与命令行
应用菜单里会出现每个 Windows 应用的启动器,点一下就开,用法和普通 Linux 程序没有区别。命令行下执行winapps <应用名>也能拉起对应程序。
调参与排障:参数调整与问题自查
🔧 可以调的参数
- 多屏显示:在 RDP_FLAGS 里加 /multimon;有用户遇到黑屏,不行就撤掉这个参数。
- 非英语输入:RDP_FLAGS 加 /kbd:unicode,输入以 Unicode 序列发送,语言切换更顺滑。
- 调试日志:想查问题时把 DEBUG 打开,日志会落在 ~/.local/share/winapps/winapps.log。
- 闲置省电:AUTOPAUSE="on" 让系统在一阵无操作后自动暂停 Windows 虚拟机。
出问题自查
- RDP 连不上:多半是旧 TLS 证书挡路。删掉 ~/.config/freerdp/server/ 下形如
<Windows-VM-IPv4-Address>_<RDP-Port>.pem的旧证书文件再连一次。 - 性能不行:确认虚拟机开足了 Hyper-V enlightenments 和 VirtIO 驱动,这两项对性能提升最明显。
- 显示大小不对:改 RDP_SCALE,支持 100、140、180 三档,按显示器分辨率选择。
- 文件访问异常:检查 REMOVABLE_MEDIA,确认可移动设备的挂载路径和系统实际挂载点一致。
延伸阅读:官方文档与贡献指南
WinApps 把"Linux 上没有这个软件"降级成了一个配置问题:虚拟机负责跑,FreeRDP 负责渲染,桌面端只负责看起来像本地程序。更多细节见 README.md;想给新应用补图标和 MIME 规则,按 .github/CONTRIBUTING.md 的指引提交即可。
【免费下载链接】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),仅供参考