WinApps 旧电脑部署指南:4GB 内存的 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
手里有台 8 年前的旧笔记本,4GB 内存,就想装个 Office 写写文档、偶尔开 Photoshop,但系统又只剩 Linux?WinApps 就是干这个的:让 Linux 桌面直接跑 Windows 应用,图标和 Linux 原生应用并排躺着。下面这套流程按 4GB 内存的低配标准设计,照着做就行。
它到底能干嘛,以及不能干嘛
说白了,WinApps 用 Docker 或 Podman 在 KVM 里开一台 Windows 虚拟机,再用 FreeRDP 把 Windows 应用的窗口渲染到你的 Linux 桌面上。效果是每个 Windows 应用都有独立图标和任务栏入口,文件直接在\\tsclient\home共享,体验跟原生应用差不多。
✅ 支持什么:
- Office 全家桶(Word / Excel / Outlook / OneNote / Visio)
- Adobe Creative Cloud 全系列(Photoshop / Illustrator / Lightroom)
- Visual Studio、Fusion 360,以及任何 Windows
.exe程序
❌ 不能干嘛:
- 内核级反作弊游戏(如 Riot Vanguard)
- Windows 10 之前的系统
部署前 30 秒自检
硬件和软件的前置条件合在一张清单里,逐项打勾:
| 检查项 | 最低配置 |
|---|---|
| CPU 虚拟化(Intel VT-x / AMD-V) | 双核 + KVM,BIOS 里已开启 |
| 内存 | 4GB(8GB 更从容) |
| 存储空间 | 64GB 系统盘 + 20GB 应用 |
| 内核版本 | 5.4 以上 |
| iptables 内核模块 | ip_tables和iptable_nat已加载(文件夹共享依赖它) |
| FreeRDP | 3.x 版本 |
一条命令快速确认虚拟化与内核:
# 有输出且内核版本 ≥5.4 才算合格 grep -oE 'vmx|svm' /proc/cpuinfo | sort -u; uname -riptables 模块没加载的话:
# 写入开机自动加载,然后重启 echo -e "ip_tables\niptable_nat" | sudo tee /etc/modules-load.d/iptables.conf选对后路:Docker/Podman 还是 libvirt?
- 如果你是第一次用虚拟化、只想装个 Office → 选 Docker/Podman
- 如果你想自己挑 ISO、手动调网卡和 KVM 参数 → 选 libvirt
| 差异点 | Docker/Podman | libvirt |
|---|---|---|
| 配置复杂度 | 改compose.yaml一个文件 | 手动配 XML,文档有十几张截图 |
| 资源下限 | 4GB 内存 / 2 核 / 64GB 磁盘 | 8GB 内存 / 4 核 / 80GB 磁盘 |
| 适用人群 | 旧电脑、低配 Linux | 有虚拟化经验、要深度定制 |
✅ 旧电脑基本都走左边。libvirt 路线的细节看 docs/libvirt.md。
跟着做:从克隆仓库到桌面出现图标
第 1 步:装依赖(约 2 分钟)
这些包提供 RDP 客户端、安装向导的交互界面和端口探测工具。按你的发行版挑一条:
# Debian / Ubuntu sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd # Fedora / RHEL sudo dnf install -y curl dialog freerdp git iproute libnotify nmap-ncat # Arch sudo pacman -Syu --needed -y curl dialog freerdp git iproute2 libnotify openbsd-netcatDebian 12 的话,先启用 backports 仓库才能装到freerdp3-x11。
第 2 步:克隆仓库,改三个数字(约 5 分钟)
# 拉取 WinApps 源码 git clone https://gitcode.com/GitHub_Trending/wina/winapps cd winapps打开compose.yaml,只动这几行(低配建议值):
RAM_SIZE: "4G" # 低配建议值:4G CPU_CORES: "2" # 低配建议值:2 核 DISK_SIZE: "64G" # 低配建议值:64G VERSION: "11" # 内存吃紧可试 "tiny11" USERNAME: "MyWindowsUser" PASSWORD: "MyWindowsPassword"后两项是 Windows 登录账号,记得和你实际记的密码对上。
第 3 步:起虚拟机,网页里装 Windows(首次 10~30 分钟)
# 启动容器,首次会自动开始 Windows 安装 docker compose --file ./compose.yaml up浏览器打开http://127.0.0.1:8006,VNC 界面里点完 Windows 安装向导。这步最磨人,喝杯水的功夫。以后每天开机只需要:
# 开机后一键点亮虚拟机 docker compose --file ./compose.yaml start第 4 步:写 WinApps 配置文件(约 3 分钟)
# 建配置目录 mkdir -p ~/.config/winapps新建~/.config/winapps/winapps.conf,低配场景只写这几个字段:
RDP_USER="MyWindowsUser" # 与 compose.yaml 一致 RDP_PASS="MyWindowsPassword" # 与 compose.yaml 一致 WAFLAVOR="docker" # 后端 AUTOPAUSE="on" # 闲置自动暂停,省内存 AUTOPAUSE_TIME="300" # 5 分钟无操作即暂停# 密码明文存放,权限必须收紧 chmod 600 ~/.config/winapps/winapps.conf第 5 步:跑安装向导,桌面见(约 5 分钟)
# 仓库里就有安装脚本,本地跑 bash ./setup.sh向导里勾选 Word、Excel,装完 Linux 应用菜单里就会出现它们的图标,点开即用。FreeRDP 连 Windows 的手动测试命令备用:
# 验证 FreeRDP 能否连上 Windows xfreerdp3 /u:"MyWindowsUser" /p:"MyWindowsPassword" /v:127.0.0.1:3389 /cert:tofu旧电脑提速 4 招
- 内存:现象是浏览器一开就交换、整机发闷 → 确认
AUTOPAUSE="on",让 Windows 闲置 5 分钟自动暂停 → 不干活时虚拟机几乎不吃内存。 - CPU:现象是启动应用要等 10 秒以上 →
compose.yaml里CPU_CORES降回 2,把余量留给 Linux 桌面 → 打开速度回到 5 秒内(改动需重建容器才生效,数据不受影响)。 - 存储:现象是虚拟机所在分区常年 95% 以上、读写发慌 → 把 Docker 数据目录挪到 SSD,或删掉 Windows 里不用的应用 → 开机和加载速度明显提升。
- 网络:现象是 FreeRDP 窗口掉帧、鼠标跟手差 →
winapps.conf的RDP_FLAGS追加/network:lan→ 画面更顺滑;这台机器有问题就换/nsc试试。
翻车了?对照这张表排查
| 症状 | 第一反应 | 验证命令 |
|---|---|---|
| 整机卡顿 | 虚拟机内存/核数超发,或 AUTOPAUSE 没开 | htop看 swap 占用;free -h |
| 应用点不开 | FreeRDP 连不上 Windows,或容器没启动 | 跑一次xfreerdp3 /u:... /v:127.0.0.1:3389 /cert:tofu;查~/.local/share/winapps/winapps.log |
\\tsclient\home访问不了 | iptables 内核模块没加载 | lsmod \| grep ip_tables,空就回到自检一节补模块并重启 |
下一步
更细的容器参数在 docs/docker.md,libvirt 完整流程在 docs/libvirt.md,全部支持的应用清单在 README.md。装完想再加应用?Windows 里装好后跑winapps-setup --user --add-apps重新扫描即可。
【免费下载链接】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),仅供参考