
在 Linux 上直接打开 Photoshop 和 OfficeWinApps 虚拟机到一键启动完整指南【免费下载链接】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/winappsWinApps 是一个开源工具它把运行在虚拟机里的 Windows 应用包成 Linux 应用菜单里的原生快捷方式。你在 Ubuntu 或 Fedora 上点一下菜单里的 Photoshop它就通过 RDP 远程桌面直接渲染到桌面上文件和你的 Linux 主目录互通。适合设计师、办公人员和偶尔需要 Windows 专属软件的开发者——不需要双系统也不需要一台 Windows 主机。一、先看效果Windows 应用长在你的应用菜单里WinApps 的工作流程分四步先用 Docker、Podman 或 libvirt 跑起一台 Windows 虚拟机再向 Windows 查询已安装的应用然后在 Linux 里为选中的应用生成 .desktop 快捷方式最后用 FreeRDP 把应用窗口抽出来显示在你的桌面会话中。这意味着你拿到的不是一个远程桌面窗口而是一个个独立的应用图标Photoshop 有 Photoshop 自己的图标Word 有 Word 的图标右键文件时 Nautilus 还能按文件类型把任务交给对应的 Windows 应用。仓库里预置了一批社区验证过的应用定义在apps/目录下每个应用一个文件夹含图标和启动信息主要包括Adobe 系列PhotoshopCS6/CC/2022 等、Illustrator、InDesign、Lightroom、After Effects、Audition、Acrobat Pro、Creative CloudMicrosoft OfficeWord、Excel、PowerPoint、Outlook、OneNote、Access、Publisher、Visio、Project开发与设计工具Visual Studio社区/专业/企业版、Fusion 360、Affinity 系列、PowerShell、命令提示符除预置清单外Windows 注册表里的其他.exe也能被扫描到只是没有高清图标和 MIME 类型映射。二、安装前准备一张表核对你的环境项目要求操作系统Debian/Ubuntu、Fedora/RHEL、Arch、openSUSE、Gentoo 等桌面环境 GNOME/KDE/XFCE 均可CPU支持硬件虚拟化Intel VT-x 或 AMD-V所有后端都基于 KVM内存建议 8GB 以上给 Windows 虚拟机至少 4GBlibvirt 方案推荐 2 核 4096MB磁盘预留 20GB 以上Windows 版本Windows 10/11 的专业版、企业版或 Server 版。家庭版不支持 RDP 应用这是硬性限制FreeRDP3.x 或更高版本命令行工具名可能是xfreerdp或xfreerdp3如果发行版源里没有新版 FreeRDP可以自行编译或从第三方包管理器获取Flatpak 版也能用但需要额外放开home-drive的文件系统权限一般不推荐。三、如何搭建 Windows 虚拟机三种后端怎么选三种后端都基于 KVM性能差异很小区别在于自动化程度后端特点适合谁Docker / Podman用 compose.yaml 一条命令自动装好 Windows几乎不用手动配置大多数人优先选这个libvirtQEMU KVM全部手动配置但可以自定义 GPU 直通、CPU 绑核等进阶用户manual直接指向一台现成的 Windows RDP 服务器已有 Windows 服务器Docker / Podman 路线仓库自带 compose.yaml 模板改一下RAM_SIZE、CPU_CORES和 Windows 版本执行docker compose --file ./compose.yaml up后在浏览器打开http://127.0.0.1:8006通过 VNC 完成 Windows 安装。完整步骤见 docs/docker.md。libvirt 路线在 virt-manager 里新建虚拟机时虚拟机名称必须叫RDPWindows除非你在配置文件里改了VM_NAME磁盘和网卡选 virtio安装时手动加载 VirtIO 驱动 ISO装完后运行virtio-win-guest-tools.exe装好 QEMU Guest Agent再执行仓库oem/目录下的install.bat和RDPApps.reg开启 RDP 应用支持。过程较长但文档很细见 docs/libvirt.md。如果你走的是 manual 后端同样要完成 libvirt 文档里最终配置步骤的那部分装 Guest Agent、应用 RDPApps.reg。四、一键安装脚本的用法配置文件与 setup.sh虚拟机装好并保持开机状态后在 Linux 上做三件事。1. 建配置文件。新建~/.config/winapps/winapps.conf完整模板见 README.md。只需要动这几个字段其余保持默认即可字段填什么RDP_USER/RDP_PASSWindows 的完整账户名和密码PIN 不行必须是可 RDP 登录的账号RDP_IPDocker/Podman 填127.0.0.1libvirt 留空即可自动探测RDP_PORT默认3389改了映射端口就同步改这里WAFLAVOR后端类型docker、podman、libvirt或manualRDP_SCALE高分屏可设140或180只支持 100/140/180 三档因为文件里存着密码建好后把权限收紧到仅本人可读chmod 600。2. 装依赖。各发行版都是同一批包curl、dialog、git、iproute2、libnotify、netcat加上 FreeRDP 3Debian/Ubuntu 包名freerdp3-x11Debian 12 需开启 backports 源才装得到。libvirt 后端另需virt-manager和 iproute2并且把你的用户加入kvm和libvirt组后重启。3. 克隆仓库并运行安装脚本。先克隆代码再进入目录执行安装脚本git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winapps ./setup.sh脚本会逐项自检依赖、配置、虚拟机状态、RDP 连通性然后弹出交互向导列出扫描到的应用让你勾选。装完后winapps-setup --help可以看到全部参数。五、安装完成后怎么验证是否成功别急着点图标按这个顺序快速验证验证 RDP 通路在终端手动跑一次 FreeRDP 连接例如xfreerdp /u:你的用户名 /p:你的密码 /v:127.0.0.1:3389 /cert:tofu。能看到 Windows 桌面、并永久接受证书说明网络与证书都没问题。Podman 无根容器需要套一层podman unshare --rootless-netns。检查应用菜单打开应用列表确认 Photoshop、Word 等图标已出现。打开一个真实应用点一次 Photoshop首次启动会等 Windows 自举最长约 120 秒。验证文件互通在应用里通过\\tsclient\home访问你的 Linux 主目录能读到家目录里的文件就通了。看日志开启DEBUG后每次启动都会写~/.local/share/winapps/winapps.log排错第一站就是这里。六、按角色配置设计师、办公与开发者各要调什么设计师4K 屏把RDP_SCALE调到 140 或 180界面不会糊素材文件直接放 Linux 主目录通过\\tsclient\home传给 Photoshop/Illustrator 打开不用来回拷贝。长闲不用时把AUTOPAUSE设为onWindows 闲置 300 秒默认自动挂起省电。办公人员浏览器里打开的 Microsoft Office 在线链接如ms-word://会自动转给 Windows 子系统打开Nautilus 里右键 docx/xlsx 也能直接派给 Word/Excel。注意部分网页端对 Linux 客户端隐藏用桌面应用打开入口可配合 User-Agent 切换扩展解决。开发者Visual Studio、命令提示符、PowerShell 都在预置清单里。清单里没有的软件可以用手动模式直接跑winapps manual C:\路径\程序.exePATH 里的程序写程序名即可。通用调优多显示器可在RDP_FLAGS里加/multimon若出现黑屏就去掉想加速内网传输可试/network:lan个别机器不兼容再退回默认参数。七、日常维护加新应用、更新与卸载Windows 里装了新软件重新跑winapps-setup --user --add-apps系统级安装用--system向导会重新扫描并把新应用加进菜单。前提是虚拟机处于开机状态否则脚本会直接退出提示你先启动虚拟机。更新 WinApps先卸载旧安装再git pull拉最新代码最后重跑安装脚本。完全卸载winapps-setup --user --uninstall或--system。可选的桌面组件WinApps Launcher 是一个任务栏小组件可以一键启动应用、打开完整 RDP 会话以及开机/暂停/重启/休眠那台 Windows 虚拟机对不想记命令的用户很省事。八、常见问题排查现象原因处理脚本提示虚拟机未运行libvirt 虚拟机关机或暂停virsh start RDPWindows/virsh resume RDPWindows提示容器未运行Docker/Podman 容器停了按 docs/docker.md 的 start 命令拉起容器CERTIFICATE NAME MISMATCH旧的 RDP TLS 证书残留删除~/.config/freerdp/server/下对应IP_3389.pem后重连应用扫描超时网络或 Guest Agent 异常确认WAFLAVOR与后端一致、虚拟机可达再按需调大APP_SCAN_TIMEOUT打开应用黑屏/multimon的已知问题从RDP_FLAGS移除该参数RDP 根本无法建连Windows 是家庭版 / 账号用了 PIN换专业版以上系统改用可 RDP 登录的完整账户九、延伸阅读docs/docker.mdDocker/Podman 自动安装 Windows 虚拟机的完整流程docs/libvirt.mdlibvirt 手动配置指南含 GPU 直通、CPU 绑核等进阶项apps/社区验证应用清单每个应用的图标与启动定义都在这里packages/winapps/default.nix 与 flake.nixNix / NixOS 用户的安装方式oem/RDP 应用支持所需的注册表与初始化脚本RDPApps.reg、install.bat 等下一步建议先用 Docker 后端搭一台 4GB 内存的 Windows 虚拟机装好一个 Photoshop 跑通菜单 → 启动 → 打开\\tsclient\home里的图片这条链路验证没问题后再按需把 Office 或 Visual Studio 加进菜单最后装上 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),仅供参考