4GB 内存旧机器跑 Office 和 Adobe:WinApps 在 Linux 部署 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
WinApps 让你在 Linux(Ubuntu、Fedora 等)桌面上直接运行 Windows 应用——微软 Office、Adobe 全家桶以独立窗口出现,像原生软件一样管理。如果你手里有一台内存 4GB、硬盘 60GB 的旧机器,这条路完全走得通。
先看效果:最终长什么样
部署完成后:
- 应用菜单里出现 Word、Excel、Photoshop 等 Windows 应用,图标清晰、带文件关联——Nautilus 文件管理器里右键 .docx 就能直接用 Word 打开;
- 每个应用以独立窗口运行,和 Firefox、终端混排在同一桌面;
- Linux 的
/home目录在 Windows 内通过\\tsclient\home访问,改文件不用来回拷贝; - 浏览器里点 Office 链接(如 ms-word://)会自动唤起对应的 Windows 桌面版。
原理一句话:Docker 或 libvirt 里跑一台 Windows 虚拟机(KVM 加速),WinApps 扫描其中已装应用,用 FreeRDP(开源的 RDP 客户端)把窗口"抽"到你的 Linux 桌面。
30 秒自检:这台机器能不能跑
动手前先过一遍这张表,全部打钩再往下:
| 检查项 | 怎么查 | 底线 |
|---|---|---|
| KVM 硬件虚拟化(CPU 级虚拟化支持,KVM 借此把虚拟机跑得接近原生) | 执行grep -E 'vmx\|svm' /proc/cpuinfo | 有输出 |
| 内存 | 系统设置或free -h | ≥4GB,8GB 更从容 |
| 空闲磁盘 | df -h | ≥60GB(系统镜像 40GB 打底,应用另算) |
| 内核 iptables 模块(文件夹共享的前提) | lsmod \| grep ip_tables和lsmod \| grep iptable_nat | 都有输出;没有就写入/etc/modules-load.d/iptables.conf后重启 |
| 网络 | 目测 | 首次安装要稳定外网(拉取 Windows 镜像和组件) |
| 发行版 | 当前系统 | Linux 桌面(GNOME / KDE / XFCE),内核 5.4+ 更好 |
FreeRDP 版本 3 或更高,装依赖时一并解决(见下节)。
选一条路径:三种后端,怎么选
🐳 Docker(或 Podman)路线——默认推荐旧设备、求省事,选它。Windows 安装全程自动:改一下资源参数,浏览器里点完安装向导就完事。Podman 用户注意两点:rootless 模式下把用户加进kvm组、运行时换成 crun;配置里WAFLAVOR要改成"podman"。
🔧 libvirt 路线——追求精细控制想自定义 CPU 模型、内存分配细节,选它。代价是手动配置明显变多,适合熟悉虚拟机的人。虚拟机内存、核心数写在 XML 里(例如 4GiB 内存、2 个静态 vCPU),详细步骤见 docs/libvirt.md。
你已经有现成 Windows 服务器?用manual后端直接指向局域网里的 RDP 服务器即可,但需要手动配置好静态 IP,收尾步骤参考 docs/libvirt.md 的最终配置章节。
从零跑通:Docker 路径完整流程
步骤 1 · 安装依赖
执行:
sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd验证:xfreerdp3 --version输出版本号。Debian 12(bookworm)要先启用 backports 源才有freerdp3-x11。Fedora 执行sudo dnf install -y curl dialog freerdp git iproute libnotify nmap-ncat,包名略有差异。
步骤 2 · 拉起 Windows 虚拟机
克隆仓库并启动容器(仓库自带 compose.yaml 模板,已配好 KVM 设备、端口映射和共享目录):
git clone https://gitcode.com/GitHub_Trending/wina/winapps winapps cd winapps docker compose --file ./compose.yaml up资源参数不用贴大段配置:在compose.yaml里改RAM_SIZE(默认 4G)、CPU_CORES(默认 4,旧机器改成 2)、DISK_SIZE(默认 64G),顺手把USERNAME、PASSWORD改成你要的账号密码,之后要原样填进配置文件。
验证:浏览器打开http://127.0.0.1:8006,通过 VNC 网页完成 Windows 安装。装完先别关,后面步骤需要它开机。
步骤 3 · 验证 RDP 连接
执行(账号、IP、端口与上面保持一致):
xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:127.0.0.1:3389 /cert:tofu验证:看到完整 Windows 桌面即成功,Ctrl+Alt+Del 退出。若报 CERTIFICATE NAME MISMATCH,删除~/.config/freerdp/server/下对应<IP>_<端口>.pem旧证书后重连。
步骤 4 · 写配置文件
创建~/.config/winapps/winapps.conf,只需填几项:RDP_USER和RDP_PASS(必须是完整 Windows 账户和密码,PIN 不行)、WAFLAVOR="docker"、RDP_IP="127.0.0.1"、RDP_PORT="3389";高分屏再设RDP_SCALE(100 / 140 / 180)。写完立即收紧权限,里面存着密码:
chown $(whoami):$(whoami) ~/.config/winapps/winapps.conf chmod 600 ~/.config/winapps/winapps.conf步骤 5 · 🚀 运行安装程序
Windows 保持开机状态,执行安装脚本:
bash <(curl https://raw.githubusercontent.com/winapps-org/winapps/main/setup.sh)验证:向导里勾选想要的应用(社区验证过的应用自带高分辨率图标和 MIME 类型),完成后打开应用菜单,点一下 Word,它应该以独立窗口出现在你的桌面上。
日后在 Windows 里新装了应用,重新跑一次winapps-setup --user --add-apps即可增量检测;不想走向导时,winapps manual 程序路径可以直接启动任意可执行文件。
提速清单:四个高收益动作
- 虚拟磁盘放 SSD——Windows 启动和应用打开速度明显提升,这是投入产出比最高的一项;
- 开自动暂停——配置里
AUTOPAUSE="on",闲置时间(秒,最小 20)给 300,闲置 5 分钟虚拟机自动暂停,内存 4GB 的机器受益最直接; - 按需收敛 VM 资源——日常只开 Office 的话,
RAM_SIZE=4G、CPU_CORES=2足够;跑 Photoshop 这类重型应用再临时加核; - 4K 屏调缩放——
RDP_SCALE设 140 或 180,窗口比例和系统一致,不用手动放大。
卡住时自查:按症状排查
RDP 连不上 / WinApps 直接报错按顺序来:①docker compose --file ~/.config/winapps/compose.yaml ps确认容器在运行;② 清掉~/.config/freerdp/server/里对应的旧证书重连;③ 确认 3389 端口状态;④ 核对WAFLAVOR与实际后端一致。
应用点了没反应① 看~/.local/share/winapps/winapps.log(开DEBUG=true时每次启动都会写);② 确认虚拟机开机——它关机了应用自然起不来;③ 确认账号是完整账户而非 PIN。
Linux 文件在 Windows 里看不到①lsmod \| grep ip_tables、lsmod \| grep iptable_nat,缺模块就加载后重启;② 确认REMOVABLE_MEDIA路径与你的挂载点一致(默认/run/media);③ 重启容器。
整体卡顿① 关闲置的 Windows 应用,别同时开一堆;② 宿主机内存吃紧就把 VM 内存降下来;③ 给RDP_FLAGS加/network:lan试试,个别环境反而异常,异常就回退。
收尾
一台 4GB 内存的旧机器加 SSD,走 Docker 路径再配上自动暂停,Office 和 Adobe 就能稳稳住进 Linux 桌面。想深入调参,读 docs/docker.md 和 docs/libvirt.md。
【免费下载链接】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),仅供参考