WinApps 4步跑通教程:在 Linux 桌面上像原生应用一样打开 Office 和 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
WinApps 是一个开源工具:它让 Microsoft Office、Adobe Photoshop 这类 Windows 软件直接跑在你的 Linux 桌面(Ubuntu、Fedora,KDE/GNOME/XFCE 均可)上,点开图标就像本地应用一样启动,不用双系统,也不用重装系统。想搞「Linux 上怎么运行 Office」的朋友,看这篇就够了。
先想清楚:它到底帮你解决什么
装好之后,你能做的这些事:
- 在应用菜单里直接点 Word、Excel、Photoshop 的图标启动它们,窗口是独立的,能拖动、能最小化,和其他 Linux 应用混排在任务栏里。
- 在文件管理器里右键一个
.docx文件,选「用 Microsoft Word 打开」。Linux 的文件不用复制粘贴,Windows 程序直接就能读写。 - 浏览器里点
ms-word://这类 Office 链接,会自动唤起 Windows 版的 Office。 - 理论上它支持所有Windows 应用——不只是 Office 和 Adobe,任何装进虚拟机里的
.exe都能被扫出来做成快捷方式(个别游戏的内核级反作弊除外)。
原理一句话:WinApps 用 Docker 在后台跑一个 Windows 虚拟机,再用 FreeRDP(一种远程桌面协议)把里面的单个应用「抽」出来渲染到你眼前。你不用管这些细节,下面直接上手。
开工前 30 秒自检:我的电脑能不能装
动手前花 30 秒对照一下,全勾了再往下看:
- 处理器支持硬件虚拟化(Intel VT-x 或 AMD-V),并且 Linux 已加载 KVM 模块——终端里跑
lsmod | grep kvm,有输出就通过了。 - 内存 8GB 起步(建议 16GB,虚拟机要分 4GB 以上给它)。
- 至少 60GB 空闲磁盘空间(装 Windows 本体加软件)。
- 桌面环境是 KDE Plasma、GNOME 或 XFCE 之一。
- 系统时间、网络正常,能持续联网下载安装文件。
有一条不满足,先解决那条,省得后面返工。
最快上手路径:6 个小步骤跑通(Docker 路线)
下面这条 Docker 路线是官方最推荐的,自动化程度最高。如果你更想用 libvirt 手动造虚拟机(硬件可控性更强),仓库里有一份完整图文文档:docs/libvirt.md,这里不再展开。
步骤 1:装好 Docker 并让用户有权限
# Ubuntu/Debian:安装 Docker 本体和 compose 插件 sudo apt install -y docker.io docker-compose sudo systemctl enable --now docker # 把当前用户加入 docker 组,以后不用每次都敲 sudo sudo usermod -aG docker $USER✅完成信号:执行完最后一条后,你需要注销再重新登录一次,组变更才生效。登录后终端跑docker compose version,能打印版本号就算成功。Fedora 用户也可以选 Podman,用法大同小异,见 docs/docker.md。
步骤 2:把项目拿到本地
# 克隆 WinApps 项目 git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winapps✅完成信号:ls能看到compose.yaml、setup.sh、apps目录,说明项目完整落盘。
步骤 3:告诉虚拟机「Windows 账号叫什么、分多少资源」
打开compose.yaml,只改三处:
# VERSION 选 Windows 版本,"11" 或 "10" - RAM_SIZE=4G # 给虚拟机的内存,别低于 4G - CPU_CORES=4 # 给虚拟机的核心数 - USERNAME=你的Windows用户名 # 稍后要输到配置文件里,先记牢 - PASSWORD=你的Windows密码⚠️ 注意:Windows 必须是专业版或企业版,家庭版不支持 RDP(远程桌面协议,WinApps 靠它把应用画面传出来)。用 Docker 路线的话,系统装好后会自动帮你开好这项。
✅完成信号:文件保存后,grep USERNAME compose.yaml能打印出你刚改的值。
步骤 4:一条命令装 Windows
# 启动容器并自动完成 Windows 安装 docker compose up安装过程全自动,但初始化设置需要你在浏览器里点几下:打开http://127.0.0.1:8006,这是虚拟机的网页版远程画面,按向导创建账户、走完全屏欢迎流程即可。
✅完成信号:浏览器里能看到 Windows 桌面正常进入、并且docker compose ps显示容器在运行。
步骤 5:装 Linux 侧依赖,写一份小配置
# Debian/Ubuntu:装 WinApps 需要的组件,核心是 freerdp3-x11(远程桌面客户端) sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsdDebian 12 上如果找不到freerdp3-x11,需要先开启 backports 软件源再装。
然后建一个配置文件,只填四个值:
# 创建配置目录 mkdir -p ~/.config/winapps在~/.config/winapps/winapps.conf里写入:
# Windows 登录用的用户名和密码(就是步骤 3 里设的那对) RDP_USER="你的Windows用户名" RDP_PASS="你的Windows密码" # Docker 路线固定是 127.0.0.1,因为虚拟机就在本机 RDP_IP="127.0.0.1" # 后端类型:docker / podman / libvirt,按你实际用的填 WAFLAVOR="docker"再锁一下权限,防止别的账户偷看密码:
# 只允许本人读写这个文件 chmod 600 ~/.config/winapps/winapps.conf✅完成信号:cat ~/.config/winapps/winapps.conf能完整打印出四行配置。
步骤 6:手动测一次连接,然后运行安装器
先别急着跑安装器,手动敲一次远程连接命令,把「连不连得上」这件事单独验证掉:
# 用 FreeRDP 客户端连本机 3389 端口(/cert:tofu 表示首次连接直接信任证书) xfreerdp3 /u:"你的Windows用户名" /p:"你的Windows密码" /v:127.0.0.1:3389 /cert:tofu✅完成信号:弹出一个窗口,里面是完整的 Windows 桌面——恭喜,链路全通了。Ctrl+C退出它。
最后回到项目目录跑安装器:
# 运行安装器:扫描 Windows 里已装的应用,逐个生成 Linux 桌面快捷方式 bash setup.sh跟着终端里的选项一路选(装到当前用户、手动挑应用还是全都要),选完后它会为每个应用生成图标、图标和文件关联。
✅完成信号:安装流程走完,回到 Linux 桌面,应用菜单里多了 Word、Excel 这些条目。
跑起来之后:按场景说说怎么用
办公场景
直接点应用菜单里的 Word 图标。打开你的 Linux 主目录下的文档有两个办法:在文件管理器里右键文件 →「打开方式」→ 选 Word;或者在 Windows 版的资源管理器里访问\\tsclient\home——这是把你的 Linux 家目录「递」进 Windows 的共享路径,两边看到的是同一份文件。
设计场景
Photoshop 这类 Adobe 软件和 Office 用法一致,区别只在于它吃内存大。虚拟机内存给足,启动速度会好很多。工程文件(.psd)放 Linux 磁盘上直接用 Windows 版的 Photoshop 打开,存完回来 Linux 侧直接就是新文件,不用来回导。
开发场景
PowerShell、Visual Studio、SSMS 都被社区验证过,可以直接扫出来用。想跑一个没被扫到的小工具时,有个万能后门:
# manual 模式:直接指定 exe 路径,跑任意 Windows 程序 winapps manual "C:\Program Files\某软件\某工具.exe"日常开关机
虚拟机不是常驻的,日常用这两条命令管理:
# 开机 / 关机(compose 文件安装后保存在 ~/.config/winapps/ 下) docker compose --file ~/.config/winapps/compose.yaml start docker compose --file ~/.config/winapps/compose.yaml stop以后在 Windows 里新装了软件想让它也出现在 Linux 菜单里,重扫一次即可:
# 重新扫描 Windows,把新装的应用加进桌面(虚拟机需处于开机状态) winapps-setup --user --add-apps出问题了?症状 → 解法速查表
| 症状 | 可能的原因 | 怎么办 |
|---|---|---|
| 手动测 RDP 时提示 CERTIFICATE NAME MISMATCH(证书名不匹配) | 虚拟机重装过,旧证书还留在本机 | 删掉~/.config/freerdp/server/下对应的127.0.0.1_3389.pem旧证书文件,重新连接即可 |
| 安装器报 MISSING DEPENDENCIES(缺依赖) | FreeRDP 版本低于 3 | 装freerdp3-x11(Ubuntu)或freerdp(Fedora),装完重试 |
| 安装器提示容器/虚拟机没在运行 | Windows 虚拟机处于关机或暂停状态 | 先用docker compose ... start把虚拟机拉起来,再重跑安装器 |
| 菜单里看不到新装的 Windows 应用 | 应用列表是装 WinApps 那一刻扫描的快照 | 虚拟机开机状态下跑winapps-setup --user --add-apps重扫 |
| 应用窗口里字太小或太大 | 远程桌面缩放比例不匹配你的屏幕 | 配置文件里把RDP_SCALE改成 140 或 180(只支持 100/140/180 三档) |
| 启动慢、操作发卡 | 分给虚拟机的资源不够 | compose.yaml里调大RAM_SIZE和CPU_CORES,重建容器生效 |
| 应用里没声音 | FreeRDP 参数里没开音频转发 | 确认RDP_FLAGS里带/sound,默认值已包含,别把它删了 |
| Linux 文件在 Windows 里看不到 | iptables 内核模块没加载,共享路径失效 | 跑lsmod | grep ip_tables,为空则按 docs/docker.md 里说的加载模块并重启 |
更细的排错思路可以翻项目自带的 docs/ 目录,官方文档都在里面。
进阶玩法(可选,不着急可以跳过)
- 多显示器:在配置文件的
RDP_FLAGS里追加/multimon。注意 FreeRDP 有个已知毛病,偶尔会黑屏,遇到就删掉这个参数退回来。 - 性能再榨一点:
RDP_FLAGS里试/network:lan(按局域网带宽协商画质,少数人会遇到兼容问题,不行就换/nsc和/gfx);再配合AUTOPAUSE="on"让 Windows 闲置 5 分钟后自动挂起,省内存。 - 自定义应用:照抄 apps/ 里任意一个应用的目录结构(一个
info文件加一个icon.svg),改成你自己的应用名和 exe 路径,重扫一遍就进了菜单。想让它带高分辨率图标和文件类型关联,就老老实实按模板填。 - 任务栏小工具:项目还有个可选的桌面托盘组件 WinApps-Launcher,能在系统托盘里直接开关虚拟机、列出一键启动所有 Windows 应用,源码在 packages/winapps-launcher/。
- Nix 用户:
flake.nix是现成的,nix profile install两条命令的事,详见 README.md 里的 Nix 章节。 - libvirt 手动派:想自己控制虚拟机每一块硬件的话,docs/libvirt.md 配了全套截图教程,从建机到装驱动一步步都有。
写在最后
WinApps 做的事情说白了就一句:让你不用离开 Linux,就能用上完整的 Windows 软件生态——Office 办公、Adobe 设计、Visual Studio 开发,全都能塞进你现有的桌面工作流。整个流程走下来,最难的也就第 4 步在浏览器里点点 Windows 初始化,剩下都是敲命令。
跑通之后如果觉得顺手,欢迎去项目仓库点个 Star 支持一下作者,也欢迎把你验证过的 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),仅供参考