WinApps 完整指南:在 Linux 上原生运行 Photoshop、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
客户发来一个 .psd 文件,Linux 上却没有 Photoshop 能打开,切双系统重启一遍很麻烦。WinApps 就是为此而做:它在 Linux 里运行一个虚拟化的 Windows,让 Windows 应用的快捷方式直接出现在 Linux 应用菜单中,像本地应用一样启动。
它解决什么问题
WinApps 把 Windows 应用带到 Linux 的工具:Microsoft 365、Adobe Creative Cloud 等 Windows 软件可以在 GNOME、KDE Plasma、XFCE 桌面上安装和使用。原理一句话:先在虚拟机里装好一个完整的 Windows(Docker、Podman 或 libvirt 后端,都基于 KVM 硬件虚拟化),再用 RDP 协议(一种远程桌面协议,只传输单个应用的画面而不是整台桌面)把应用窗口渲染到你的 Linux 桌面上。你不用看见虚拟机,应用图标就摆在 Linux 菜单里,和本地应用没有区别。
适合谁用
- 设计师:Photoshop、Illustrator、After Effects 直接从 Linux 菜单启动,文件在 Linux /home 目录读写(Windows 侧以
\\tsclient\home挂载访问)。 - 办公人员:Word、Excel、PowerPoint 等 Office 应用可用,浏览器里 ms-word:// 这类链接也会自动转到 Windows 侧应用打开。
- 开发者与工程师:Visual Studio、Fusion 360、PowerShell、cmd 等只有 Windows 版的专业工具。
- 必须留在 Linux 的用户:不需要切换系统,单应用模式只在桌面上弹出一个应用窗口,而不是整个桌面。
开始之前
- 系统:Debian/Ubuntu、Fedora/RHEL、Arch、openSUSE、Gentoo 等主流发行版;桌面环境为 GNOME、KDE Plasma 或 XFCE
- CPU 支持硬件虚拟化(Intel VT-x 或 AMD-V)
- Linux 侧需要 FreeRDP v3 及以上,外加 curl、dialog、netcat 等基础包(各发行版命令见下文)
- 默认虚拟机配置为 Windows 分配 4GB 内存、4 个 CPU 核心、64GB 虚拟磁盘(compose.yaml 里的 RAM_SIZE、CPU_CORES、DISK_SIZE 可调大),宿主机资源应留足余量
- Windows 版本须为 10 或 11,且必须是专业版、企业版或服务器版,家庭版不支持 RDP 应用
安装跑起来
整体分四步:起 Windows 虚拟机、装 Linux 侧依赖、写配置文件、跑安装器。
第一步:克隆仓库并启动 Windows 虚拟机
仓库自带 compose.yaml 虚拟机模板,默认安装 Windows 11:
git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winapps docker compose --file ./compose.yaml up启动后在浏览器打开 127.0.0.1:8006 进入 VNC 界面完成 Windows 初始化。已有现成 Windows 虚拟机的,可直接按 libvirt 文档的收尾步骤接入。
第二步:安装 Linux 侧依赖
以 Debian/Ubuntu 为例(Fedora 用 dnf、Arch 用 pacman,README 均有完整命令):
sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd注意 Debian 12 需先启用 backports 源才能装到 freerdp3-x11。
第三步:编写 WinApps 配置文件
在~/.config/winapps/winapps.conf建一个配置文件,填入 Windows 账户(RDP_USER、RDP_PASS)与后端类型 WAFLAVOR 等,README 提供了带注释的完整模板。完成后把权限收紧到仅自己可读:
mkdir -p ~/.config/winapps nano ~/.config/winapps/winapps.conf chmod 600 ~/.config/winapps/winapps.conf第四步:测试连接并运行安装器
先验证 RDP 能否连通(终端里出现 Windows 桌面即通过),然后在 Windows 保持开机状态下运行安装器,它会自动扫描 Windows 里装好的应用并生成 Linux 快捷方式:
xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:127.0.0.1:3389 /cert:tofu bash setup.sh安装器是交互向导,勾选要加入菜单的应用即可;装完可用winapps-setup --help查看全部选项。
功能走查
应用菜单直接启动 Windows 应用
WinApps 扫描 Windows 中已安装的应用并在 Linux 菜单生成快捷方式,社区验证过的应用附带高分辨率图标和预置文件类型关联。启动方式:在 GNOME/KDE/XFCE 应用菜单里点击对应图标,例如 Photoshop 2025,应用窗口会直接出现在 Linux 桌面上。
Nautilus 文件管理器直接打开文件
Nautilus 按 MIME 类型关联文件:右键一个 .psd 文件即可选择用 Photoshop 打开,省掉“先开应用再拖文件”的步骤。
打开完整 Windows 桌面
单应用模式覆盖不了的场景(需要完整桌面的操作)可以另起一个完整 RDP 会话:
winapps windows系统托盘管理虚拟机
可选组件 WinApps-Launcher 在托盘里提供一个菜单:启动、停止、暂停、重启、休眠 Windows,以及从应用列表直接启动已装应用。启动方式:安装仓库 packages/ 目录下的 winapps-launcher 组件(Nix 用户可通过 flake 直接安装),它会自动出现在系统托盘。
⚙️ 进阶调优
参数都写在~/.config/winapps/winapps.conf中:
- 显示:4K 屏把 RDP_SCALE 设为 140 或 180(仅支持 100/140/180 三档)
- 性能:RDP_FLAGS 可加
/network:lan提升流畅度,出现异常时改用/nsc和/gfx - 输入:非英文输入或需要切换输入法时,RDP_FLAGS 加
/kbd:unicode,让输入以 Unicode 序列发送 - 多显示器:RDP_FLAGS 加
/multimon,若出现黑屏是 FreeRDP 已知问题,改回即可 - 窗口错位:最大化窗口位置不对时,把 HIDEF 设为 off
- 省资源:AUTOPAUSE=on 后闲置一段时间自动暂停 Windows,时长由 AUTOPAUSE_TIME 控制(默认 300 秒,最小 20)
- 排障:DEBUG=true 会在
~/.local/share/winapps/winapps.log写日志 - 坑 1:RDP_USER/RDP_PASS 必须是完整的 Windows 账户,登录 PIN 无法用于 RDP
- 坑 2:连接时提示 CERTIFICATE NAME MISMATCH,删掉
~/.config/freerdp/server/下对应的<IP>_3389.pem旧证书再连 - 坑 3:libvirt 后端要求用户加入 kvm 和 libvirt 组,否则安装器检查不通过
常见疑问
后端能从 Docker 换成 libvirt 吗?可以。WAFLAVOR 支持 docker、podman、libvirt、manual 四种,libvirt 自定义空间更大(例如 GPU 直通),代价是手工配置更多。
在 Windows 里新装了应用,Linux 菜单里没有?重新运行winapps-setup --user --add-apps重新扫描即可;未被收录的在 PATH 中的程序也可用winapps manual <exe路径>直接运行。
支持哪些 Windows 版本?Windows 10 或 11,且必须是专业版、企业版或服务器版,家庭版不支持。
📦 更多资料
- Docker / Podman 虚拟机搭建:VM 创建、VNC 初始配置与日常启停命令
- libvirt 虚拟机搭建:从 KVM/QEMU/virt-manager 原理到与 WinApps 的最终对接
- Nix 用户可用仓库根目录的 flake 直接安装,相关包定义在 packages/winapps/ 与 packages/winapps-launcher/
收尾
WinApps 给你的是一个结果:留在 Linux 工作,但需要的 Windows 应用就在菜单里,点开即用,文件不用跨系统搬运。克隆仓库、跑一次docker compose up,等 Windows 虚拟机装好,第一个 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),仅供参考