
让Office和Photoshop像原生应用一样跑在Linux上WinApps完整实战指南【免费下载链接】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想在 Ubuntu、Fedora 的 GNOME / KDE / XFCE 桌面上像打开本地软件一样直接打开 Word、Excel 或 PhotoshopWinApps 就是干这件事的它在后台用 Docker、Podman 或 libvirt 拉起一台 Windows 虚拟机再通过 FreeRDP 把每个 Windows 应用以独立窗口的形式渲染到 Linux 桌面同时把 Linux 的家目录挂载进 Windows。下面按先搞懂原理 → 自检环境 → 选路线建虚拟机 → 一条命令装好 → 日常使用 → 调优排错的顺序带你完整跑通一遍。先搞清楚WinApps凭什么让Windows应用变本地一句话原理虚拟机里装好 WindowsWinApps 只负责把里面你想用的那几个.exe用 FreeRDP 单独抽出来当窗口显示而不是给你整个远程桌面。它的工作分四步在Docker/Podman/libvirt虚拟机里运行 Windows底层都走KVM性能接近原生主动查询 Windows 里已安装的应用社区验证过的应用 注册表里登记的其他.exe在宿主机上为这些应用创建.desktop快捷方式让它们出现在你的应用菜单里用 FreeRDP 把指定应用无缝渲染进 Linux 桌面。附带几个很实用的集成Linux 的/home目录在 Windows 内可通过\\tsclient\home访问双向读写在 Nautilus 文件管理器里右键文件就能按扩展名选择用哪个 Windows 应用打开ms-word://这类 Office 链接也会自动在 Windows 子系统里打开。说明WinApps 支持所有Windows 应用唯一例外是内核级反作弊如 Riot Vanguard 这类。官方支持 Windows 10 / 11更早版本不保证。动手前自检硬件与软件两项都过关才省事结论先行只要 KVM 可用、内存/磁盘够给虚拟机基本就能跑。先花两分钟确认下面几点能避开后面八成报错。硬件CPU 需开启硬件虚拟化Intel VT-x / AMD-V建议宿主机 16GB 内存能给 Windows 虚拟机分 4GB磁盘预留 60GB 以上compose 默认给虚拟机 64G。KVM 检查终端执行lsmod | grep kvm有输出即模块已加载同时确认存在/dev/kvm。容器方案额外要求文件夹共享依赖iptables内核模块执行lsmod | grep ip_tables和lsmod | grep iptable_nat有空就按 docs/docker.md 的提示加载后重启。桌面环境KDE Plasma、GNOME、XFCE 均可。依赖WinApps 需要FreeRDP 3 及以上。Debian/Ubuntu 一条命令sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsdFedora/RHEL 用sudo dnf install -y curl dialog freerdp git iproute libnotify nmap-ncat。Debian 12 需先启用backports源才能装到freerdp3-x11。建虚拟机三条路线怎么选新手直接走容器结论先行新手强烈建议 Docker / Podman 路线——它自动装好 Windows、自动配 RDP几乎零手工libvirt 路线留给要精细控制如 GPU 直通的高级用户。先克隆仓库后续所有文件都在这个目录里git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winapps容器路线改两个参数就能拉起 Win11仓库自带 compose.yaml在services.windows.environment里按需调整默认值已经能用VERSION: 11 # Windows 版本win11 / win10 RAM_SIZE: 4G # 给虚拟机的内存建议至少 4G CPU_CORES: 4 # 给虚拟机的核数建议至少 2 DISK_SIZE: 64G # 系统盘大小启动安装Docker 用户docker compose --file ./compose.yaml upPodman 用户把docker compose换成podman-compose。容器会同时映射两个端口到本机8006 是 VNC Web 界面3389 是 RDP。打开浏览器访问http://127.0.0.1:8006在网页里完成 Windows 安装即可。⚠️ 两点提醒Windows 必须选专业版 / 企业版 / 服务器版家庭版不支持 RDP 应用安装时记得记下用户名和密码后面 WinApps 配置要用。改compose.yaml后需要删除重建容器数据在命名卷里不受影响详见 docs/docker.md。libvirt路线多手工但换来自定义能力需要手动创建虚拟机换来 GPU 直通、细粒度调参等能力。核心步骤完整 XML 见 docs/libvirt.md安装virt-manager把当前用户加入kvm、libvirt组并重启在 shell 配置里写入export LIBVIRT_DEFAULT_URIqemu:///system。下载 Windows 10/11 ISO 和VirtIO 驱动 ISO性能关键在 virt-manager 里新建虚拟机。把虚拟机命名为RDPWindows或在配置文件里改VM_NAME推荐 2 核 / 4096MB启用内存气球后可用满 4096MB。按向导走完 Windows 安装与驱动加载一条命令装好WinApps写配置、测连接、跑安装器结论先行整个安装只卡在三个点——配置文件、RDP 连通、安装器向导按顺序走通就不会卡。建配置文件~/.config/winapps/winapps.conf最小可用内容RDP_USERMyWindowsUser # Windows 登录用户名 RDP_PASSMyWindowsPassword # Windows 登录密码 RDP_IP127.0.0.1 # 容器方案默认本机 WAFLAVORdocker # docker / podman / libvirt RDP_SCALE100 # 缩放宽容值 100 / 140 / 180写完收紧权限chmod 600 ~/.config/winapps/winapps.conf。注意RDP_USER/RDP_PASS必须是完整账户密码PIN 码无效。先测 RDP 连通Windows 保持开机xfreerdp3 /u:MyWindowsUser /p:MyWindowsPassword /v:127.0.0.1:3389 /cert:tofu能看到 Windows 桌面即成功如果提示证书不匹配删掉~/.config/freerdp/server/里对应的127.0.0.1_3389.pem旧证书再重连。运行安装器等价于winapps-setup在仓库目录下执行bash setup.sh跟随向导勾选应用即可。它会扫描 Windows、创建桌面快捷方式和文件关联日常使用文件右键即开新装应用要重扫结论先行装好后 Windows 应用就进了你的应用菜单日常操作和 Linux 本地软件没有区别。启动应用KDE 在应用启动器里找 Windows Applications 分类GNOME 在活动概览直接搜名字XFCE 在系统菜单下。每个应用都是独立窗口可以和 Linux 窗口自由混排。文件集成在 Nautilus 里对文件右键打开方式即可选 Windows 应用Linux 家目录自动挂到 Windows 的\\tsclient\homeWindows 里直接拖文件即可。手动跑任意程序没进菜单的 exe 也能直接拉起例如winapps manual C:\my\directory\app.exe在 Windows PATH 内的可直接写程序名。装了新应用要重扫在 Windows 里装完新软件后执行winapps-setup --user --add-apps重走一遍向导把它加进菜单虚拟机没开时会提示你先开机。可选托盘启动器WinApps Launcher 是一个系统托盘小工具能在一个菜单里启动/暂停/重启/休眠 Windows、列出所有已装应用。进阶调优内存气球、缩放与多显示器结论先行卡顿优先加内存显示不对优先调缩放多屏/输入法/音频走RDP_FLAGS。以下是最常被用到的几项都在winapps.conf里改。内存气球libvirt给虚拟机启用 VirtIO 内存气球后内存按需占用空闲时把内存让回宿主机上限仍是你设的最大值CPU 直通主机配置libvirt在虚拟机 CPU 选项里勾选Copy host CPU configuration性能最好、兼容性也最稳缩放高分屏/UHD把RDP_SCALE设为140或180填了不支持的值会自动取最接近的合法档位。多显示器在RDP_FLAGS追加/multimon个别 FreeRDP 版本可能黑屏出现就回退。音频/麦克风需要走 PulseAudio 时可写RDP_FLAGS/cert:tofu /sound:sys:pulse /microphone:sys:pulse home-drive。非英文输入法追加/kbd:unicode让输入以 Unicode 序列发送切换语言更顺滑。自动暂停省资源把AUTOPAUSEon并设AUTOPAUSE_TIME秒最小 20长时间不操作自动暂停 Windows。窗口错位个别系统最大化窗口对不齐可把HIDEF设为off试试。调试日志DEBUGtrue时每次启动会写日志到~/.local/share/winapps/winapps.log。常见问题速查应用启动慢 / 卡顿给虚拟机加内存至少 4GB尽量用 SSD确认虚拟机已开机再启动应用。分辨率 / 显示比例不对调RDP_SCALE100 / 140 / 180必要时配合缩放设置。音频没声音检查RDP_FLAGS里是否正确带上/sound需要则/sound:sys:pulse。RDP 连不上 / 证书报错确认RDP_IP、端口与compose.yaml映射一致删旧证书~/.config/freerdp/server/127.0.0.1_3389.pem重连。文件关联丢了重跑winapps-setup --user --add-apps重新生成关联。libvirt 找不到虚拟机确认LIBVIRT_DEFAULT_URIqemu:///system已生效且当前用户在kvm/libvirt组里。支持范围所有 Windows 应用都能跑但内核级反作弊如 Riot Vanguard不在支持范围。准备好上手了吗从git clone到bash setup.sh走通你的 Linux 桌面就已经能原生打开 Office 和 Adobe 全家桶了。完整的应用清单见 apps/容器与 libvirt 的详细步骤分别参考 docs/docker.md 和 docs/libvirt.md。跑通之后如果觉得顺手别忘了给项目点个 Star 支持一下社区 【免费下载链接】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),仅供参考