在 Linux 上像原生一样跑 Windows 应用:WinApps 5 分钟上手
【免费下载链接】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 桌面发了十秒呆——GIMP 打不开它,双系统切换又太麻烦。WinApps 把 Photoshop、Microsoft Office 这类 Windows 软件直接装进你的 Linux 应用菜单,双击即以独立窗口启动,无需装虚拟机客户端,文件管理器里也能直接用它打开文件。本文带你从零走到第一次成功启动,适配 Ubuntu/Fedora 桌面的日常用户。
凭什么选 WinApps
- 原生窗口体验:每个 Windows 应用都是 Linux 桌面上一个独立窗口,不是"远程桌面套远程桌面"。
- 文件管理器集成:Nautilus 里右键"打开方式",直接选 Excel、Photoshop 打开文件。
- 没有应用白名单:Windows 里装了就能跑,
winapps manual一条命令拉起任意 .exe。 - 自带虚拟机方案:Docker 路线一键自动装好 Windows,libvirt 可接你现有的虚拟机。
最短路径:5 分钟跑起 WinApps
下面走 Docker 路线(Podman 命令等价替换即可);libvirt 方式见 docs/libvirt.md。
- 拉取仓库,装依赖(Fedora 把 apt 换成 dnf)
git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winapps sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd- 先改 compose.yaml 里的
USERNAME/PASSWORD为你想要的 Windows 账号,再启动容器
docker compose up浏览器打开 http://127.0.0.1:8006,通过 VNC 完成 Windows 安装。必须选专业版/企业版,家庭版不支持 RDP。
- 写配置文件
~/.config/winapps/winapps.conf,至少包含这 4 行(全量选项见 README.md)
RDP_USER="MyWindowsUser" RDP_PASS="MyWindowsPassword" RDP_IP="127.0.0.1" WAFLAVOR="docker"然后执行chmod 600 ~/.config/winapps/winapps.conf锁住权限。
- Windows 保持开机状态,运行安装器
bash setup.sh成功锚点:终端向导提示安装完成,且你在应用菜单里能搜到"Excel",说明 WinApps 跑通了。
按场景来
让 Office 直接打开桌面上的 xlsx
- Linux 主目录默认挂载进 Windows 的
\\tsclient\home,无需任何额外操作 - 桌面 xlsx 右键 →"打开方式" → Microsoft Excel
- 在 Excel 里编辑保存,Linux 侧文件立即更新
效果:两个系统文件双向读写,省去手动拷贝。浏览器里的ms-word://等 Office 链接也会被 WinApps 接管,见 apps/ms-office-protocol-handler.desktop。
把 Photoshop 拖进 GNOME / KDE 启动器
- 首次向导已把 Photoshop 等社区测试应用写进启动器,GNOME 活动概览直接搜索启动
- 在 Windows 里新装了软件后,重扫一遍
winapps-setup --user --add-apps- 向导里勾选新应用,确认
效果:新应用几十秒后出现在启动器里,带图标和文件关联。
任意 .exe 一条命令拉起
向导之外的程序(PATH 里的程序可直接写文件名):
winapps manual "C:\Program Files\MyApp\app.exe" winapps manual notepad.exe效果:应用窗口在 Linux 桌面弹出,体验与本地程序无异。
进阶调优
多显示器与高分辨率
何时需要动这里:双屏用户想让 Windows 应用跨屏,或 4K 屏幕上文字偏小。编辑~/.config/winapps/winapps.conf:
RDP_SCALE="140" RDP_FLAGS="/cert:tofu /sound /microphone +home-drive /multimon"若/multimon出现黑屏,删掉该标志回退即可。
闲置时自动挂起虚拟机
何时需要动这里:内存有限、不是整天泡在 Windows 应用里。
AUTOPAUSE="on" AUTOPAUSE_TIME="300"效果:闲置 5 分钟自动挂起释放内存,下次启动秒级恢复,不用重新等系统开机。
自定义应用入口
何时需要动这里:某个应用天天用,想要专属图标和右键文件关联。
- 复制 apps/ 下任一目录(如
apps/excel/)并改名 - 编辑其中的
info文件
NAME="MyApp" WIN_EXECUTABLE="C:\Program Files\MyApp\app.exe" MIME_TYPES="application/x-myapp;"- 换成自己的 SVG 图标,再跑
winapps-setup --user --add-apps
卡住了
- 启动报证书警告 / 连不上→ 残留旧 RDP 证书 →
rm ~/.config/freerdp/server/127.0.0.1_3389.pem后重试 - 应用启动超时→ Windows 虚拟机没开 →
docker compose --file ~/.config/winapps/compose.yaml start - 菜单里找不到新装的 Windows 应用→ 忘了重扫 →
winapps-setup --user --add-apps - 声音 / 麦克风没反应→ 缺参数 →
RDP_FLAGS里补上/sound /microphone
再不行就看日志~/.local/share/winapps/winapps.log,winapps-setup --help可列出全部开关。
下次 .psd 落到桌面时,右键 → Photoshop 就够了,那十秒发呆可以省下来。想继续深挖,docs/ 里有 Docker 与 libvirt 两条完整路线;想要系统托盘里随时启停虚拟机的挂件,可以参考 packages/winapps-launcher/ 的打包。
【免费下载链接】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),仅供参考