news 2026/9/11 10:43:10

WinApps 完整指南:在 Linux 上运行 Windows 应用,10 分钟装好 Office 和 Adobe

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WinApps 完整指南:在 Linux 上运行 Windows 应用,10 分钟装好 Office 和 Adobe

WinApps 完整指南:在 Linux 上运行 Windows 应用,10 分钟装好 Office 和 Adobe

【免费下载链接】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 是一个开源免费的工具,让 Microsoft Office、Adobe 全家桶这些 Windows 应用直接跑在 GNU/Linux 的 GNOME、KDE 或 XFCE 桌面里——从应用菜单里点开即用。它的思路不复杂:把 Windows 装进一台后台虚拟机,再用 FreeRDP(RDP 是 Windows 自带的远程桌面协议)把单个应用窗口"投"到你的 Linux 桌面上,整个过程对使用者几乎是透明的。

如果你正在用 Linux,但工作又绕不开 Excel、Word、Photoshop,这篇文章就是为你写的。

Linux 运行 Windows 应用前,先认清三个坑

很多 Linux 用户想跑 Windows 软件时,会先撞上几堵墙:

  • Wine 玩不转的重型软件:Wine(一种在 Linux 上模拟 Windows 运行环境的工具)能覆盖不少程序,但 Adobe Creative Cloud 这种带激活、带云端组件的套件,配置起来非常折腾;
  • 装个虚拟机,然后天天开"窗口套窗口":直接开个 VirtualBox,你会看到一整个 Windows 桌面嵌在 Linux 窗口里,切换、拖文件都很别扭;
  • 只想要那一个应用:你不想每回都用完整远程桌面,只想在应用菜单里点一下"Word"就出现 Word。

WinApps 针对的正是第三种需求:它不给你一个 Windows 桌面,而是把 Windows 里的单个应用变成 Linux 应用菜单里的一个入口。

WinApps 原理:一个虚拟机 + 一条投屏通道

整个机制拆开来只有四步:

  1. 在 Docker、Podman 或 libvirt(虚拟机管理工具)里跑一台 Windows 虚拟机,底层都走 KVM 硬件虚拟化,性能接近原生;
  2. WinApps 扫描这台 Windows,读取里面装过哪些应用;
  3. 为你勾选的应用在 Linux 上生成快捷方式,放进应用菜单;
  4. 你点快捷方式时,后台通过 FreeRDP 建立连接,只把那个应用的窗口渲染出来——和你旁边的 Firefox、终端并排摆放,看不出差别。

除了"能跑",还有几个真正提升日常体验的细节:

  • Linux 的/home目录会挂载到 Windows 里,路径是\\tsclient\home,两边文件直接互取;
  • Nautilus 文件管理器集成:右键任意文件,可以选择用对应的 Windows 程序打开,按文件扩展名自动匹配;
  • ms-word://这类 Office 链接在主机上点开时,会自动落到 Windows 子系统里的桌面版程序处理;
  • 可选的 WinApps-Launcher 任务栏小部件,能一键启动/暂停/重启那台 Windows 虚拟机。

我想要的软件,它跑不跑得动

直接说结论:理论上所有 Windows 应用都能跑,唯一明确的例外是带内核级反作弊的游戏组件(比如 Riot Vanguard)。

区别在于"体验完整度"。社区验证过的应用(见仓库 apps/ 目录)自带高分辨率图标和预设的 MIME 关联,装完后右键菜单、图标显示都齐全。没被社区验证过的应用也能通过扫描注册表发现,或者用手动模式直接指定 exe 路径运行,只是图标会直接从 exe 里提取,没那么精致。

按人群来看比较常见的需求:

  • 办公党:Word / Excel / PowerPoint / Outlook / OneNote / Access / Publisher,覆盖 2016、2019 到 Microsoft 365(o365)各版本,还有 Visio、Project、Power BI;
  • 设计与剪辑:Photoshop(CS6 / CC / 2022 / 2024)、Illustrator、InDesign、After Effects、Premiere Pro、Lightroom、Audition、Acrobat Pro、Creative Cloud 主控台,以及 Affinity 全家桶、Fusion 360;
  • 开发运维:Visual Studio 2022(社区/专业/企业版)、SQL Server Management Studio、PowerShell、命令提示符、LINQpad。

你缺的不在清单里?可以照着 apps/ 里任意一个应用的配置复制一份,改个名字、换个图标就能纳入安装向导,测试没问题后欢迎提给社区。

WinApps 安装第一步:把 Windows 虚拟机立起来

装 WinApps 之前,先得有一台装好的 Windows 虚拟机。好消息是官方把最费事的部分自动化了。

Docker / Podman:最省心的路径

这是官方推荐方式,一条命令就能开始装 Windows,前提是你的 CPU 支持硬件虚拟化(KVM)。

  1. 安装 Docker Engine;
  2. 编辑仓库自带的 虚拟机模板,至少改两处:Windows 的用户名/密码(USERNAME/PASSWORD),以及资源规格(默认 4G 内存 / 4 核 / 64G 磁盘,按需调RAM_SIZECPU_CORESDISK_SIZE);
  3. 启动安装:
docker compose --file ./compose.yaml up
  1. 浏览器打开http://127.0.0.1:8006,通过网页 VNC 完成 Windows 的开机设置。

装好后,开关机都只需一行命令,比如docker compose --file ~/.config/winapps/compose.yaml start,详见 Docker 虚拟机指南。Podman 用户流程一致,把命令换成podman-compose即可。

两个必须知道的前提:

  • 需要 Windows 10/11,且是Pro、Enterprise 或 Server 版本——家庭版(Home)不提供 RDP 服务端,走不通;
  • 虚拟机本身免费,但你需要自备合法的 Windows 授权。

libvirt:自由度更高的玩法

想要 GPU 直通、自定义网卡这类精细控制,就上 libvirt + virt-manager。代价是手动步骤明显变多:建虚拟机、配 CPU/内存、挂 ISO、装 VirtIO 驱动、装 RDP 依赖,每一步 libvirt 安装指南 里都有截图对照,跟着走即可。下面这张就是指南里分配 CPU 的界面:

如果家里现成有一台能开 RDP 的 Windows 服务器,也不用新装虚拟机——按 libvirt 文档的"最终配置步骤" 把服务配好,在配置里填上它的 IP 就能直接复用。

WinApps 安装第二、三、四步:依赖、配置、跑起来

虚拟机点亮后,剩下的安装其实就三个动作。

安装依赖

以 Debian/Ubuntu 和 Fedora 为例(其余发行版命令见 README):

# Debian / Ubuntu sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd # Fedora / RHEL sudo dnf install -y curl dialog freerdp git iproute libnotify nmap-ncat

关键点只有一个:FreeRDP 必须是 3 版及以上。Debian 12 需要启用 backports 源才有freerdp3-x11

写一个 5 行的配置文件

~/.config/winapps/winapps.conf里只需填好这几项:

RDP_USER="你的Windows用户名" RDP_PASS="你的Windows密码" RDP_IP="127.0.0.1" WAFLAVOR="docker" # 或 podman / libvirt RDP_SCALE="100" # 4K 屏可试 140 / 180

注意这个文件里存着密码,建好后把权限收紧:chmod 600 ~/.config/winapps/winapps.conf。另外RDP_USER/RDP_PASS必须是完整的 Windows 账户和密码,PIN 码登录那套对 RDP 无效。所有可配置项(含AUTOPAUSE自动暂停、超时时间等)README 里都有完整注释,值得翻一遍。

先裸测一次 RDP,再跑安装器

装 WinApps 前花十秒验证一下链路是通的:

xfreerdp3 /u:"你的Windows用户名" /p:"你的Windows密码" /v:127.0.0.1 /cert:tofu

弹出窗口里看到 Windows 桌面,说明网络、凭据、证书三样都没问题,断开即可。

保持 Windows 开机,然后运行安装器:

bash <(curl https://raw.githubusercontent.com/winapps-org/winapps/main/setup.sh)

安装向导会列出它扫描到的应用,勾选你想要的(也可以--setupAllOfficiallySupportedApps一次选齐),之后这些应用就常驻你的 Linux 应用菜单了。

WinApps 装好之后,每天怎么用

装完那一刻起,用法就和普通 Linux 程序没有区别:

  • 应用菜单里点 Word,几秒后 Word 窗口出现,标题栏、最小化、多屏拖动都正常;
  • 在 Nautilus 里右键一个.docx,菜单里直接有"用 Word 打开";
  • 在 Windows 应用里打开\\tsclient\home,读写的其实是你 Linux 家目录里的文件;
  • 之后在 Windows 里新装了软件?跑一次winapps-setup --user --add-apps重新检测即可;
  • 清单里没有的软件,可以走手动模式:winapps manual "C:\路径\程序.exe"(PATH 里的程序直接写名字就行)。

推荐再加装 WinApps-Launcher 小部件:系统托盘里有一个菜单,列出全部已装 Windows 应用,还能直接开关/暂停/重启后台的 Windows 虚拟机,不用记任何命令。

进阶玩法与常见卡点

跑顺之后,这几个开关值得一试(都改winapps.confRDP_FLAGS或对应配置项):

  • 多显示器RDP_FLAGS里加/multimon。个别 FreeRDP 版本会黑屏,遇到就回退;
  • 中文等非英语输入:加/kbd:unicode,输入以 Unicode 序列发送,中英文切换更顺滑;
  • 闲置自动暂停AUTOPAUSE="on",空闲超过AUTOPAUSE_TIME(默认 300 秒,最小 20 秒)就自动暂停虚拟机,省电省内存,下次启动自动唤醒;
  • 排障日志DEBUG="true"时,每次启动都会在~/.local/share/winapps/winapps.log留下记录,出问题先看这里;
  • Nix 用户:不用跑安装脚本,nix profile install github:winapps-org/winapps#winapps直接装,详见 README 的 Nix 章节。

最常见的卡点是 RDP 连接突然失败,提示"证书不匹配 / REMOTE HOST IDENTIFICATION HAS CHANGED"。九成情况是旧的 TLS 证书缓存过期了:删掉~/.config/freerdp/server/下对应<IP>_3389.pem那个文件,重新连接时会自动生成新证书。

第二类是性能不够快。先确认 BIOS 里开了硬件虚拟化(VT-x / AMD-V)、/dev/kvm可用;走 libvirt 路线的话,务必装上 VirtIO 驱动,指南中专门有一步从光驱运行virtio-win-guest-tools.exe

下一步

到这里,从一台干净的 Ubuntu/Fedora 到菜单里点出 Word,完整链路就打通了。想继续深入,按这个顺序看比较省力:

  • README.md:完整的配置项注释和 Nix 安装方式;
  • docs/docker.md / docs/libvirt.md:两种虚拟机路线的详细步骤;
  • apps/:每个受支持应用的图标与 MIME 配置,照着加新应用最快;
  • .github/CONTRIBUTING.md:想给社区添砖加瓦(新应用、修 bug)前必读的协作约定。

装一次,用很久。Linux 桌面上多出的那个 Word 图标,就是你以后和"Linux 没有这个软件"告别的开始。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 10:42:04

单片机毕设项目:基于 STM32 或 51 单片机的按键阈值设置超声波测距仪设计 基于 STM32 或 51 单片机的环境温度补偿距离检测系统设计(022907)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/9/11 10:39:01

遥感国土分类语义分割实战:PSPNet与DeepLabV3+全流程解析

简介&#xff1a;面向计算机相关专业正在完成课程设计或期末大作业的学生&#xff0c;项目完整实现了基于图像分割对卫星遥感图像进行国土分类的方案&#xff0c;涵盖数据加载与预处理、PSPNet、DeepLabV3及DeepLabV3等主流分割模型&#xff0c;并附有两份训练日志与26组Poster…

作者头像 李华
网站建设 2026/9/11 10:37:10

高通车载平台EDL刷机与QCN恢复实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 10:37:00

大疆无人机视频流传输与MQTT协议适配技术解析

1. 大疆无人机视频流传输技术背景 大疆行业级无人机&#xff08;如M300 RTK、Mavic 3 Enterprise等&#xff09;采用的视频流传输系统&#xff0c;本质上是一个经过深度优化的实时多媒体传输管道。其核心由三个技术层构成&#xff1a;物理层的OcuSync/O3图传系统负责无线信道管…

作者头像 李华
网站建设 2026/9/11 10:34:41

Maestro 移动 UI 自动化测试入门指南:从 YAML 流程到 AI 断言

Maestro 移动 UI 自动化测试入门指南&#xff1a;从 YAML 流程到 AI 断言 【免费下载链接】Maestro Painless E2E Automation for Mobile and Web 项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro Maestro 是一个开源的移动与 Web 端 UI 自动化测试框架。你用…

作者头像 李华