WinApps 教程:在 Linux 桌面直接打开 Word 和 Photoshop 的方法
2026/9/11 17:16:30 网站建设 项目流程

WinApps 教程:在 Linux 桌面直接打开 Word 和 Photoshop 的方法

【免费下载链接】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,还有一份「最终版final.docx」,你往常得重启进 Windows 才能打开。WinApps 提供了另一条路:让 Linux 运行 Windows 应用,装好之后 Word、Photoshop 连同整个 Adobe 全家桶都出现在 Linux 应用菜单里,点图标就开,不用双系统,也不用整个屏幕的远程桌面。

能跑哪些:基本覆盖所有 Windows 程序

WinApps 理论上支持任意 Windows 程序。跑不起来的只有一类:内核级反作弊系统,比如英雄联盟的 Riot Vanguard,虚拟化绕不过去。

✅ 在「社区已测试」清单里的应用待遇更好:有高分辨率图标,也配好了文件类型(MIME)关联,在文件管理器里右键文件就能用对应程序打开。仓库 apps/ 目录下每个应用一个配置,常用的包括:

  • Word、Excel、PowerPoint、Outlook、OneNote、Publisher(2016 / 2019 / o365 各版本)
  • Photoshop(CS6 / CC / 2022)、Illustrator、InDesign、After Effects、Lightroom、Acrobat Pro
  • Affinity 全家桶、Autodesk Fusion 360、Visual Studio 2022、PowerShell、文件资源管理器

清单之外的程序也不影响使用:安装器会扫描注册表里的 .exe,扫不到还能手动指定路径启动。

原理:一台藏在后台的虚拟机 + FreeRDP 传窗

WinApps 背后是一台 Windows 虚拟机,Docker、Podman、libvirt 三种后端任选,底层都走 KVM 硬件虚拟化。前两者能把 Windows 安装过程全自动化,是推荐路线。

虚拟机起来后,WinApps 干三件事:

  1. 扫描 Windows 里已安装的应用,让你勾选要暴露哪些;
  2. 在 Linux 一侧为每个选中应用生成快捷方式,进应用菜单;
  3. 点快捷方式时用 FreeRDP(远程桌面协议,负责把窗口画面传回 Linux 桌面)连进 Windows,只把这一个应用的窗口拉出来。

效果是:Linux 桌面上 Word 窗口和 Firefox 窗口并排摆放,操作没有差别。两件小事特别顺:你的 home 目录在 Windows 里以 \tsclient\home 形式出现,读写 Linux 文件直接操作;浏览器里 ms-word:// 这类 Office 链接也会自动转给 Windows 侧打开。

3 步搭好 Windows 虚拟机

先装好 Docker,再克隆仓库:git clone https://gitcode.com/GitHub_Trending/wina/winapps,然后打开 compose.yaml,按需调 RAM_SIZE(默认 4G)和 CPU_CORES(默认 4),跑 Photoshop 这类吃内存的可以适当加大。

cd winapps docker compose --file ./compose.yaml up

命令跑起来后,浏览器打开 http://127.0.0.1:8006,VNC 里能看到 Windows 安装画面,把 OOBE 走完、建好账户即可。容器同时把 3389 端口映射回本机,WinApps 之后就从这里连 RDP。

想复用已有的 Windows 虚拟机,或者要 GPU 直通,libvirt 更灵活但步骤明显更多,完整流程看 libvirt 手动。

RDP 连不上时的排查顺序

依赖里 FreeRDP 必须 3.x 以上,尽量装发行版里最新的。Debian/Ubuntu 一条命令装完,顺带把连接测试一起跑了:

sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:127.0.0.1:3389 /cert:tofu

Fedora、Arch 的包名不同,对照 README.md 里的安装小节即可。窗口里出现 Windows 桌面就说明链路通了。没通的话按顺序查:

  1. 报证书名称不匹配:宿主机残留了旧 TLS 证书,删掉 ~/.config/freerdp/server/ 下对应 _<端口>.pem 再连;
  2. 端口不通:确认 compose.yaml 里 3389 映射到 127.0.0.1,并且 Windows 虚拟机处于开机状态;
  3. \tsclient\home 在 Windows 里不可见:用lsmod | grep ip_tables看 iptables 内核模块是否加载,没加载则写入 /etc/modules-load.d/ 后重启;
  4. 顺便检查 winapps.conf:RDP_USER/RDP_PASS 必须是安装 Windows 时创建的完整账户,PIN 登录不被 RDP 接受。

配置文件放在 ~/.config/winapps/winapps.conf,最小四行就够:RDP_USER、RDP_PASS、RDP_IP(Docker 填 127.0.0.1)、WAFLAVOR(docker / podman / libvirt)。写完记得把权限收窄到自己用户。

跑安装器,把应用搬进 Linux 菜单

保持 Windows 开着,进仓库目录执行:

cd winapps bash setup.sh

它会先复核 RDP 连接,然后扫描 Windows 已装应用,弹出向导让你勾选,确认后就在 Linux 生成整套启动器。

后续维护就两个常用命令:

  • Windows 里新装了软件:重跑winapps-setup --user --add-apps,向导会再次出现;
  • 想跑没被扫到的程序:winapps manual "C:\路径\app.exe"直接给路径启动,在 PATH 里的程序只写名字就行。

还有一个可选的托盘程序 WinApps-Launcher:从系统托盘开关、暂停、重启 Windows 虚拟机,也提供应用启动列表。

日常进阶:几个值得动的配置

  • 4K 屏上图标太小:RDP_SCALE 支持 100 / 140 / 180 三档,按需上调;
  • Windows 长期挂着耗电:AUTOPAUSE 设为 on,闲置超过 AUTOPAUSE_TIME 秒(最小 20 秒)虚拟机自动暂停;
  • 多显示器:RDP_FLAGS 里加 /multimon,遇到黑屏说明踩中 FreeRDP 的 bug,去掉即可;
  • 非英文输入:加 /kbd:unicode,按键以 Unicode 发送,切换输入法更顺滑;
  • 出错想留痕:DEBUG 设为 true,每次启动都会在 ~/.local/share/winapps/winapps.log 追加日志。

升级时先跑安装器移除旧版,拉取最新代码,再执行 winapps-setup 重新装一遍。

现在就可以动手:执行 docker compose --file ./compose.yaml up,然后打开浏览器访问 127.0.0.1:8006——半小时后,你的应用菜单里会多出一排 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询