Fedora 45 上跑 Windows 程序:Wine 11.0 实测装一次要下 592 MiB
Wine 在 Fedora 上能用,但代价要先算清楚。
仓库里的版本
Section titled “仓库里的版本”dnf list --available winewine.x86_64 11.0-3.fc44 fedora注意版本后缀是 fc44,不是 fc45——这个包按 Fedora 44 构建,随 F45 仓库一起发布。功能上没问题,但要知道它不是本版本重新构建的。
dnf info wineVersion : 11.0Release : 3.fc44Summary : A compatibility layer for windows applications默认不安装。 确认一下:
rpm -q winepackage wine is not installed装一次要下多少
Section titled “装一次要下多少”实测安装事务:
sudo dnf install --assumeno wineInstalling: 147 packagesTotal size of inbound packages is 592 MiB. Need to download 592 MiB.147 个包、592 MiB 下载。 这是本文最该先看的一行——Wine 不是「装个小工具试试」的东西。
sudo dnf install winewine --version第一次运行任何 Windows 程序时,Wine 会创建 prefix(一个模拟的 C 盘):
winecfg默认位置:
~/.wine/drive_c/winecfg 打开配置界面,可以设置 Windows 版本、驱动器映射、显示与音频。这个界面需要图形环境,纯命令行服务器上跑不起来。
用独立 prefix 隔离
Section titled “用独立 prefix 隔离”不同程序建议放在不同 prefix,避免互相污染:
WINEPREFIX=~/.wine-app1 wine 程序.exeWINEPREFIX 指到哪,那个程序就在哪个独立环境里跑。
| 命令 | 作用 |
|---|---|
wine 程序.exe | 运行程序 |
winecfg | 配置界面 |
wine uninstaller | 卸载已装程序 |
wineserver -k | 结束所有 Wine 进程 |
WINEPREFIX=... wine ... | 指定独立 prefix |
兼容性怎么判断
Section titled “兼容性怎么判断”Wine 的兼容性是按程序的,不存在「Wine 支持 Windows 程序」这种整体结论。判断顺序:
- 到 Wine 官方 AppDB 查该程序的评级(Garbage / Bronze / Silver / Gold / Platinum)
- 评级 Silver 以下的,基本要额外的 DLL 覆盖或注册表调整
- 需要额外组件时用
winetricks装(字体、运行库、.NET 等)
什么时候不用 Wine
Section titled “什么时候不用 Wine”| 情况 | 更好的选择 |
|---|---|
| 有 Linux 原生版本 | 直接用原生版 |
| 是 Windows 的普通办公软件 | 虚拟机(GNOME Boxes / virt-manager)更稳 |
| 需要精确还原 Windows 行为 | 虚拟机,不要赌 Wine 兼容性 |
| 只想跑单个小工具 | 先查 AppDB 评级,Platinum/Gold 再试 |
Wine 的价值在于「不装 Windows 也能跑」;一旦为了一个程序要反复调 DLL 和注册表,虚拟机的时间成本反而更低。
| 现象 | 原因 |
|---|---|
winecfg 打不开 | 没有图形会话 |
| 程序闪退无输出 | prefix 缺运行库,用 winetricks 补 |
| 中文显示成方块 | prefix 缺中文字体,需装字体或映射系统字体 |
| 装了新版后旧程序坏了 | prefix 被升级污染,用独立 WINEPREFIX |
| 下载量远超预期 | 147 个包、592 MiB 是正常量 |
- Podman 上手 — 容器里跑 Windows 程序的另一条路
- 编辑器 — 桌面工具选型
- 官方:Wine AppDB