Skip to Content
文档桌面桌面基础Wine - 运行 Windows 软件

Wine - 运行 Windows 软件

从 Windows 切换到 Ubuntu 后,你可能会发现某些常用的 Windows 软件没有 Linux 版本。Wine 就是为了解决这个问题而诞生的——它可以让你在 Linux 上直接运行 Windows 应用程序,而无需安装虚拟机或双系统。

Wine 是什么

Wine(Wine Is Not an Emulator)不是一个模拟器或虚拟机,而是一个兼容层。它通过重新实现 Windows 的 API(应用程序编程接口),让 Windows 程序”以为”自己在 Windows 上运行,实际上却在 Linux 上原生执行。

这意味着:

  • 不需要 Windows 许可证
  • 性能接近原生(因为不是在虚拟机中运行)
  • 并非所有 Windows 软件都能完美运行(兼容性取决于 Wine 的 API 实现程度)

安装 Wine

安装 stable 版本

Ubuntu 官方仓库提供了 Wine 的稳定版本:

# 启用 32 位架构支持(许多 Windows 程序是 32 位的) sudo dpkg --add-architecture i386 # 更新软件包列表 sudo apt update # 安装 Wine sudo apt install wine64 wine32 # 验证安装 wine --version

安装 staging 版本(推荐)

Wine Staging 包含最新的实验性补丁,通常兼容性更好:

# 启用 32 位架构 sudo dpkg --add-architecture i386 # 下载并添加 WineHQ 仓库密钥 sudo mkdir -pm755 /etc/apt/keyrings sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key # 添加 WineHQ 仓库(Ubuntu 26.04 代号 resolute;用 lsb_release 动态匹配更稳妥) sudo wget -NP /etc/apt/sources.list.d/ "https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources" # 更新并安装 sudo apt update sudo apt install --install-recommends winehq-staging # 验证安装 wine --version

Wine 初始化

首次运行 Wine 时,它会自动创建默认的 Windows 环境:

# 初始化 Wine(会创建 ~/.wine 目录) wineboot # 打开 Wine 配置工具 winecfg

winecfg 允许你设置:

  • Windows 版本(推荐设置为 Windows 10 或 Windows 11)
  • 图形、音频驱动
  • 各应用程序的独立配置

Winetricks 安装和使用

Winetricks 是 Wine 的辅助工具,用于安装 Windows 运行时组件、字体和常用库。许多 Windows 程序需要这些组件才能正常运行。

# 安装 Winetricks sudo apt install winetricks # 打开图形界面 winetricks --gui

常用 Winetricks 组件

# 安装常用字体(解决中文显示问题) winetricks cjkfonts winetricks fakechinese # 安装 Visual C++ 运行库 winetricks vcrun2019 winetricks vcrun2022 # 安装 .NET Framework winetricks dotnet48 # 安装 DirectX winetricks d3dx9 winetricks dxvk # 安装 Windows 核心字体 winetricks corefonts # 安装 Windows 组件 winetricks msxml6 winetricks riched20 # 设置 Windows 版本 winetricks win10
Tip

如果在使用 Wine 运行某个 Windows 程序时遇到中文显示为方块的问题,首先尝试 winetricks cjkfonts。如果仍有问题,可以手动将 Windows 的中文字体(如 simsun.ttc、msyh.ttc)复制到 ~/.wine/drive_c/windows/Fonts/ 目录中。

WINEPREFIX 管理

WINEPREFIX 是 Wine 的一个核心概念。每个 WINEPREFIX 就是一个独立的 Windows 环境(类似独立的 C 盘),包含独立的注册表、程序文件和配置。

为什么要使用独立的 WINEPREFIX

  • 不同程序可能需要不同的 Windows 版本或依赖库
  • 一个程序的配置变更不会影响其他程序
  • 可以轻松删除某个程序而不影响其他程序
  • 方便备份和迁移

创建和使用

# 默认 WINEPREFIX 在 ~/.wine # 为特定程序创建独立的 WINEPREFIX WINEPREFIX=~/wine-apps/wechat wineboot # 在指定 WINEPREFIX 中运行 winecfg WINEPREFIX=~/wine-apps/wechat winecfg # 在指定 WINEPREFIX 中安装 Winetricks 组件 WINEPREFIX=~/wine-apps/wechat winetricks cjkfonts vcrun2019 # 在指定 WINEPREFIX 中运行程序 WINEPREFIX=~/wine-apps/wechat wine /path/to/setup.exe # 创建 32 位 WINEPREFIX(某些旧程序需要) WINEARCH=win32 WINEPREFIX=~/wine-apps/old-app wineboot # 删除某个程序(直接删除 WINEPREFIX 目录) rm -rf ~/wine-apps/wechat

常用 Wine 命令

# 运行 Windows 可执行文件 wine program.exe # 运行 MSI 安装包 wine msiexec /i program.msi # 打开 Wine 的资源管理器 wine explorer # 打开 Wine 的注册表编辑器 wine regedit # 打开 Wine 的记事本 wine notepad # 打开 Wine 的任务管理器 wine taskmgr # 终止所有 Wine 进程 wineserver -k

常用 Windows 软件兼容性

以下是一些常见 Windows 软件在 Wine 下的运行情况:

软件兼容性说明
微信较好建议使用独立 WINEPREFIX,需安装 cjkfonts
QQ一般新版 QQ 已有 Linux 原生版本,推荐直接使用
企业微信一般基本功能可用,部分功能可能异常
Microsoft Office一般Office 2016 及以下版本兼容性较好,推荐用 LibreOffice 或 WPS 替代
Adobe Photoshop差旧版本可运行,推荐使用 GIMP 或 Krita 替代
Notepad++很好完美运行
7-Zip很好完美运行,但 Linux 有原生替代
WinRAR很好完美运行
各种小工具视情况简单的工具类软件通常兼容性较好

你可以在 Wine AppDB  上查看特定软件的兼容性评级和安装指南。

原生 Linux 替代方案

在尝试用 Wine 运行 Windows 软件之前,建议先看看是否有原生 Linux 版本或优质替代品:

Windows 软件Linux 原生替代
Microsoft OfficeLibreOffice、WPS Office(有 Linux 版)
Adobe PhotoshopGIMP、Krita
Notepad++Kate、Geany、VS Code
QQQQ Linux 版(官方)
微信微信 Linux 版(官方,基于 electron)
迅雷Motrix、aria2

Bottles - 图形界面管理工具

如果你不喜欢在命令行中管理 Wine,Bottles 是一个出色的图形化 Wine 管理工具。它提供了现代化的界面来创建和管理 Wine 环境。

安装 Bottles

# 通过 Flatpak 安装(推荐) flatpak install flathub com.usebottles.bottles # 运行 Bottles flatpak run com.usebottles.bottles

Bottles 的优势

  • 图形化界面:创建、配置和管理 Wine 环境无需命令行
  • 环境模板:预配置的”游戏”、“应用”、“自定义”模板
  • 依赖管理:一键安装 vcrun、dotnet、dxvk 等依赖
  • 版本管理:可以选择不同版本的 Wine 运行器
  • 备份和恢复:方便地备份和恢复 Wine 环境
  • 运行器切换:支持 Wine、Wine-GE、Proton-GE 等多种运行器

使用 Bottles 的基本流程

  1. 打开 Bottles,点击 “创建新 Bottle”
  2. 选择环境类型(应用、游戏或自定义)
  3. 输入名称,选择 Wine 运行器版本
  4. 创建完成后,点击 “运行可执行文件” 安装 Windows 程序
  5. 在 Bottles 中管理已安装的程序

Wine 与 Proton 的区别

Tip

Wine 和 Proton 都可以在 Linux 上运行 Windows 程序,但它们的侧重点不同:

  • Wine 是一个通用的 Windows 兼容层,适合运行各类 Windows 应用程序(办公软件、工具、聊天软件等)
  • Proton 是 Valve 基于 Wine 开发的,专门针对游戏进行了优化。它集成了 DXVK(将 DirectX 转换为 Vulkan)、VKD3D(DirectX 12 支持)等游戏相关组件
  • Proton 通过 Steam 使用,只需在 Steam 设置中启用 “Steam Play”,即可直接运行 Windows 游戏
  • 如果你要运行 Windows 游戏,优先使用 Steam + Proton
  • 如果你要运行 Windows 应用程序,使用 Wine 或 Bottles

更多游戏相关内容,可以参考 ProtonDB  查看游戏兼容性报告。

常见问题排查

中文显示异常

# 安装中文字体 winetricks cjkfonts # 如果仍有问题,手动复制字体 cp /path/to/simsun.ttc ~/.wine/drive_c/windows/Fonts/ cp /path/to/msyh.ttc ~/.wine/drive_c/windows/Fonts/

程序报错或崩溃

# 在终端中运行程序查看错误信息 wine /path/to/program.exe # 启用调试输出 WINEDEBUG=+all wine program.exe 2> debug.log # 尝试不同的 Windows 版本 winecfg # 在 Applications 标签中修改 # 尝试安装缺失的依赖 winetricks vcrun2019 dotnet48

分辨率和 DPI 问题

# 打开 winecfg winecfg # 在 Graphics 标签中调整 DPI 设置 # 或者通过注册表修改 wine reg add "HKCU\Control Panel\Desktop" /v LogPixels /t REG_DWORD /d 144 /f

重置 Wine 环境

如果 Wine 环境出现严重问题,最简单的方法是删除并重建:

# 删除默认 Wine 环境 rm -rf ~/.wine # 重新初始化 wineboot winecfg

Wine 虽然不能保证所有 Windows 软件都能完美运行,但对于很多常见应用来说已经足够好用了。配合 Bottles 等图形化工具,使用体验也在不断改善。如果某个软件实在无法在 Wine 中运行,可以考虑使用虚拟机(如 GNOME Boxes 或 VirtualBox)作为备选方案。

Last updated on