
1. 项目概述与核心需求解析在桌面操作系统领域Ubuntu 以其稳定、开源和强大的社区支持成为了许多开发者和技术爱好者的首选。然而对于从 Windows 或 macOS 迁移过来的用户一个长期存在的痛点就是如何在 Ubuntu 上顺畅地使用国内主流的即时通讯软件——微信和 QQ。这不仅仅是安装一个软件那么简单它背后涉及到 Linux 生态与 Windows 生态的兼容性问题、软件厂商的跨平台支持策略以及普通用户对日常办公、社交无缝衔接的刚性需求。Ubuntu 22.04 LTSJammy Jellyfish作为一个长期支持版本提供了坚实的系统基础。但官方软件仓库中并没有微信和 QQ 的官方原生 Linux 版本。因此“在 Ubuntu 22.04 上安装微信和 QQ”这个需求本质上是一场围绕“兼容层”的技术实践。我们需要借助一些中间技术在 Linux 系统上创建一个能够运行 Windows 应用程序的环境并在这个环境中完成目标软件的部署、配置和优化。这个过程适合所有需要在 Ubuntu 环境下保持与国内社交、工作圈联系的各类用户无论是程序员、学生、科研人员还是仅仅喜欢 Ubuntu 但又离不开微信和 QQ 的普通用户。接下来我将从一个实践者的角度详细拆解几种主流方案的原理、步骤、避坑要点并分享我长期使用下来最稳定可靠的配置心得。2. 方案选型Wine、Deepin-Wine 与容器化方案对比在 Linux 上运行 Windows 程序主要有三大类技术路线Wine、基于 Wine 的深度定制版本如 Deepin-Wine以及新兴的容器化/沙盒方案。选择哪种方案直接决定了后续安装的复杂度和使用体验的稳定性。2.1 Wine兼容层的基石Wine 不是一个模拟器而是一个兼容层Wine Is Not an Emulator。它的工作原理是将 Windows API 调用实时翻译或映射成 POSIX 系统调用让 Windows 程序误以为自己在 Windows 环境下运行。它的优势是开源、灵活社区庞大对许多老软件和开源游戏支持很好。但劣势也很明显对于微信、QQ 这类闭源且频繁更新、依赖复杂私有库的大型商业软件需要非常精细的配置和调校才能稳定运行对新手极不友好。直接使用原生 Wine 安装微信往往需要自己解决一大堆依赖库如 riched20, msxml3, gdiplus和字体配置问题失败率高。2.2 Deepin-Wine为国产软件优化的利器Deepin-Wine 是深度社区Deepin在 Wine 基础上进行深度定制和打包的一套环境。它针对 QQ、微信、腾讯会议、钉钉等国内常用软件做了大量预配置和优化预先打包好了所需的运行库和字体。用户通常无需关心复杂的 Wine 配置通过一个安装脚本或打包好的 DEB 包就能一键安装。这是目前对于普通用户而言在 Ubuntu 上运行微信和 QQ最推荐、最省心的方案。其本质是将一个配置好的 Wine 容器称为Bottle或Prefix与软件本体一起打包开箱即用。2.3 容器化/沙盒方案未来的方向这类方案以 Flatpak 应用格式下的com.qq.weixin等包为代表。它们通常也是基于 Wine 或 Deepin-Wine但利用了 Flatpak 的沙盒技术将软件及其所有依赖包括 Wine 环境完全打包在一个独立的、与主机系统隔离的环境中。这样做的好处是高度隔离不会污染主机系统环境安装卸载干净。但可能带来轻微的磁盘空间开销和性能损耗且对于需要深度集成如文件管理器右键菜单的场景支持可能不如传统方案。方案选择结论对于追求稳定、简便的 Ubuntu 22.04 桌面用户首选基于 Deepin-Wine 的打包方案。下文将以此为核心展开详细安装教程。同时我也会介绍一种备选的、更“原生”体验的 Wine 配置方案供喜欢折腾的用户参考。3. 核心安装流程基于 Deepin-Wine 的一键部署这里我们采用一个在 GitHub 上维护得非常活跃的项目zq1997/deepin-wine及其相关的deepin-wine-ubuntu安装脚本。这个方案成熟度高社区反馈好。3.1 系统准备与依赖安装在开始之前请确保你的 Ubuntu 22.04 系统已更新并安装一些基础工具。打开终端CtrlAltT依次执行以下命令# 1. 更新软件包列表和已安装的包 sudo apt update sudo apt upgrade -y # 2. 安装必要的工具如 wget 用于下载git 用于克隆仓库可选 sudo apt install -y wget git # 3. 安装 Deepin-Wine 环境所需的依赖库 # 这些库包括 Wine 运行的基础、32位库支持因为很多Windows软件是32位的以及一些字体 sudo apt install -y libjpeg62:i386 libpng16-16:i386 libtiff5:i386 sudo apt install -y libglib2.0-0:i386 libgdk-pixbuf2.0-0:i386 sudo apt install -y libpango-1.0-0:i386 libpangocairo-1.0-0:i386 sudo apt install -y libcairo2:i386 libfreetype6:i386 sudo apt install -y fonts-wqy-microhei fonts-wqy-zenhei注意i386架构的库是运行 32 位 Windows 程序的关键。Ubuntu 22.04 是 64 位系统默认不启用多架构支持但上述命令中的:i386会自动启用它。如果遇到架构错误可以手动启用sudo dpkg --add-architecture i386 sudo apt update。3.2 安装 Deepin-Wine 运行环境接下来我们安装 Deepin-Wine 环境本身。这里采用从深度官方仓库提取并适配 Ubuntu 的版本。# 1. 下载并安装 Deepin-Wine 的官方仓库钥匙环Keyring wget -O- https://deepin-wine.i-m.dev/setup.sh | sh # 2. 更新软件源此时应该能看到新增的 deepin-wine 源 sudo apt update # 3. 安装 deepin-wine 环境 # deepin-wine6-stable 是一个相对较新且稳定的版本兼容性好 sudo apt install -y deepin-wine6-stable执行完上述命令后Deepin-Wine 的基础环境就安装好了。你可以通过命令wine --version来验证如果显示的是wine-6.0或类似带有 deepin 标识说明安装成功。3.3 安装微信WeChat有了 Deepin-Wine 环境安装微信就变得非常简单。我们可以直接使用深度社区打包好的 DEB 安装包。# 1. 下载微信的 Deepin 版本安装包 # 注意版本号可能会更新如果链接失效可以去 deepin-wine-i-m.dev 等社区仓库查找最新版 wget https://deepin-wine.i-m.dev/deepin.com.wechat_2.6.8.65deepin0_i386.deb # 2. 安装下载的 DEB 包 sudo apt install -y ./deepin.com.wechat_2.6.8.65deepin0_i386.deb安装过程中系统会自动处理依赖关系。安装完成后你可以在应用程序菜单中找到“微信”图标。首次运行可能会稍慢因为需要初始化 Wine 容器Prefix和配置环境。3.4 安装 QQQQ 的安装过程与微信类似。目前比较稳定的是基于 NT 架构的新版 QQ但 Deepin-Wine 对它的兼容性还在完善。这里我们安装一个较稳定且功能完整的旧版 QQ。# 1. 下载 QQ 的 Deepin 版本安装包 wget https://deepin-wine.i-m.dev/deepin.com.qq.im_9.3.8deepin0_i386.deb # 2. 安装 QQ sudo apt install -y ./deepin.com.qq.im_9.3.8deepin0_i386.deb同样安装后可以在应用程序菜单中找到“QQ”图标。实操心得直接从特定 URL 下载 DEB 包存在链接失效的风险。一个更稳健的做法是添加包含这些软件的第三方 PPA个人软件包存档仓库。例如wszqkzqk/deepin-wine-ubuntu这个仓库在 GitHub 上很受欢迎。你可以搜索相关教程添加该仓库然后直接使用sudo apt install deepin.com.wechat这样的命令安装这样就能通过系统更新机制自动升级软件。4. 安装后配置与优化安装成功只是第一步要让微信和 QQ 在 Ubuntu 上用得顺手还需要进行一些关键的配置优化。4.1 解决中文显示与输入法问题字体问题即使安装了中文字体软件内仍可能显示方块或乱码。这是因为 Wine 容器没有正确配置中文字体。我们需要将系统的中文字体链接到容器的字体目录。首先找到微信或 QQ 的 Wine 容器路径。Deepin-Wine 的容器通常位于~/.deepinwine/目录下以软件名命名如~/.deepinwine/Deepin-WeChat/或~/.deepinwine/Deepin-QQ/。# 1. 进入微信容器的 drive_c 目录模拟 Windows 的 C 盘 cd ~/.deepinwine/Deepin-WeChat/drive_c # 2. 创建字体目录如果不存在 mkdir -p windows/Fonts # 3. 将系统中文字体链接或复制到容器字体目录 # 这里以文泉驿微米黑为例你也可以链接其他字体如 Noto Sans CJK ln -s /usr/share/fonts/wqy-microhei/wqy-microhei.ttc windows/Fonts/wqy-microhei.ttc # 或者复制 # cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc windows/Fonts/ # 4. 同样为 QQ 容器进行配置如果路径不同 cd ~/.deepinwine/Deepin-QQ/drive_c mkdir -p windows/Fonts ln -s /usr/share/fonts/wqy-microhei/wqy-microhei.ttc windows/Fonts/wqy-microhei.ttc输入法问题在 Wine 程序中无法使用 Fcitx5 或 IBus 输入中文是常见问题。解决方案是安装fcitx-frontend-qt5和fcitx-frontend-gtk3等前端并确保在启动 Wine 程序前正确设置环境变量。一个一劳永逸的方法是在软件的启动脚本中注入环境变量。以微信为例找到其启动器文件通常在/usr/share/applications/deepin.com.wechat.desktop但更稳妥的方法是创建一个自定义启动脚本。# 在用户主目录下创建一个启动脚本比如 start_wechat.sh cat ~/start_wechat.sh EOF #!/bin/bash export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx # 下面这行很重要指定输入法模块路径 export LD_PRELOAD/usr/lib/x86_64-linux-gnu/fcitx/fcitx-gclient.so /opt/deepinwine/apps/Deepin-WeChat/run.sh EOF # 赋予执行权限 chmod x ~/start_wechat.sh然后你可以修改桌面快捷方式使其指向这个脚本或者直接通过终端运行这个脚本来启动微信。4.2 文件传输与路径关联优化默认情况下微信和 QQ 的文件下载路径位于 Wine 容器的虚拟 C 盘中如~/.deepinwine/Deepin-WeChat/drive_c/users/[用户名]/Documents/WeChat Files/访问不便。优化方法在容器内创建一个指向主机真实目录的软链接符号链接或者直接修改软件的保存路径设置如果软件支持。创建软链接假设你想把微信文件存到主目录的WeChatFiles文件夹。# 在主目录创建目标文件夹 mkdir -p ~/WeChatFiles # 进入微信容器的默认文档目录 cd ~/.deepinwine/Deepin-WeChat/drive_c/users/Public/Documents # 备份原文件夹可选 mv \WeChat Files\ \WeChat Files.bak\ # 创建指向主目录的软链接 ln -s ~/WeChatFiles \WeChat Files\这样微信存取的文件实际上都在~/WeChatFiles里方便管理。使用winecfg映射驱动器运行winecfg命令可以打开 Wine 配置管理器。在Drives选项卡中你可以添加一个驱动器字母如 Z:并将其指向你的主目录如/home/你的用户名。这样在微信的文件选择对话框中就可以直接访问 Z: 盘对应你的主目录。4.3 音频与视频通话支持音频视频通话功能依赖于 Wine 对 Windows 音频和视频 API 的转译。Deepin-Wine 一般已做好基础配置。如果遇到麦克风无法使用或没有声音检查 PulseAudioUbuntu 22.04 默认使用 PipeWire 或 PulseAudio 作为音频服务器。确保其正常运行systemctl --user status pulseaudio或pactl info。配置 Wine 音频运行winecfg在Audio选项卡中尝试选择不同的驱动如pulsealsa并测试。权限问题确保当前用户在audio和video用户组中sudo usermod -aG audio,video $USER然后注销重新登录生效。5. 备选方案使用 Bottles 管理 Wine 环境对于喜欢更图形化、更现代化管理方式的用户或者需要安装多个不同配置的 Windows 软件时Bottles是一个极佳的选择。它是一个 Flatpak 应用提供了创建和管理独立 Wine 容器的图形界面。5.1 安装 Bottles由于 Bottles 推荐以 Flatpak 形式安装确保系统已启用 Flatpak 支持# 安装 Flatpak如果未安装 sudo apt install flatpak -y # 添加 Flathub 仓库主要的 Flatpak 应用源 flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # 安装 Bottles flatpak install flathub com.usebottles.bottles -y5.2 使用 Bottles 安装微信启动 Bottles从应用程序菜单启动 Bottles。创建新容器Bottle点击“Create a new bottle”为其命名如WeChat环境选择Gaming它预置了较多的运行库适合复杂软件架构选择Windows 10或Windows 7对旧版软件兼容性更好。安装依赖进入新建的 Bottle 详情页切换到“Dependencies”选项卡。搜索并安装微信可能需要的运行库例如dotnet48或dotnet472.NET Framework新版微信可能需要vcrun2019或vcrun2015Visual C 运行库corefonts微软核心字体chinfonts中文字体包Bottles 社区提供安装微信切换到“Programs”选项卡点击“Run Executable”。从你的电脑中选择从微信官网下载的 Windows 版微信安装程序.exe文件。然后按照 Windows 安装向导完成安装。创建快捷方式安装完成后在“Programs”列表中找到微信点击右侧菜单选择“Add Shortcuts”即可将其添加到系统应用菜单。注意事项Bottles 方案给了你最大的控制权你可以为每个软件创建完全独立的 Wine 环境避免冲突。但相应的配置步骤更繁琐且需要你对 Windows 软件的依赖有一定了解。首次安装运行时库和软件可能耗时较长。6. 常见问题排查与解决方案实录在实际使用中你可能会遇到以下问题。这里记录了我踩过的坑和解决方案。6.1 软件无法启动或启动后闪退问题原因最常见的原因是 Wine 容器损坏、依赖库缺失或冲突、或者软件本身与当前 Wine 版本不兼容。排查步骤查看日志尝试从终端启动软件查看错误输出。例如deepin-wine6-stable ~/.deepinwine/Deepin-WeChat/drive_c/Program\ Files/Tencent/WeChat/WeChat.exe。终端输出的错误信息是关键的排查线索。检查依赖确保已安装所有必要的i386库和deepin-wine6-stable。重置容器如果怀疑容器损坏可以尝试备份~/.deepinwine/Deepin-WeChat后将其删除然后重新安装微信。软件会生成一个新的干净容器。尝试不同版本Deepin 打包的微信/QQ 版本可能不适配你的系统。可以尝试寻找其他版本如更旧或更新的 DEB 包或者在 Bottles 中尝试安装官方 Windows 版。6.2 无法输入中文问题原因环境变量未正确设置或输入法前端未安装。解决方案确认系统输入法框架Fcitx5 或 IBus已安装并正常运行。安装对应的 Qt 和 GTK 输入法前端sudo apt install fcitx-frontend-qt5 fcitx-frontend-gtk3 fcitx-frontend-gtk2。使用前文提到的自定义启动脚本确保启动时加载了正确的环境变量GTK_IM_MODULE,QT_IM_MODULE,XMODIFIERS以及LD_PRELOAD。在 Bottles 中可以在 Bottle 的“Settings” - “Environment Variables”里添加这些变量。6.3 消息通知不显示或没有声音问题原因Wine 对 Windows 通知中心和系统托盘图标的支持不完善音频驱动配置问题。解决方案通知可以尝试安装winetricks然后为容器安装native,builtin模式的ole32和oleaut32库但这有一定风险。更简单的方法是接受这个限制或定期主动查看软件窗口。声音运行winecfg确保音频驱动设置为pulse推荐或alsa。同时检查系统音量控制确保 Wine 程序的输出通道未被静音。6.4 高分辨率屏幕显示模糊问题原因Wine 程序未适配 HiDPI 缩放。解决方案在启动命令前添加WINEDPI96环境变量来强制使用 96 DPI适合 100% 缩放。例如WINEDPI96 deepin-wine6-stable ...。或者使用winecfg在“Graphics”选项卡中手动设置屏幕分辨率DPI。将 DPI 值调整到与你的系统缩放比例匹配例如200%缩放可尝试 192 DPI。对于 Bottles可以在 Bottle 的“Settings” - “Parameters”中设置DPI值。6.5 文件选择对话框无法访问某些目录问题原因Wine 容器内的文件系统视图与主机不完全一致。解决方案使用winecfg的“Drives”选项卡将常用的主机目录如/home/你的用户名/mnt映射为 Windows 驱动器盘符如 Z: Y:。这样在软件内就能通过盘符访问这些目录。7. 长期使用维护与升级建议安装配置只是开始长期稳定使用需要注意维护。系统升级在进行 Ubuntu 系统大版本升级如从 22.04 到 24.04前强烈建议备份整个~/.deepinwine目录。升级后Deepin-Wine 环境可能需要重新安装或调整届时可以尝试恢复备份的容器有时能省去重新配置的麻烦。软件更新Deepin 打包的微信/QQ 版本更新通常滞后于官方 Windows 版。不建议盲目追求最新版应以稳定为首要目标。如果通过第三方 PPA 安装可以使用sudo apt update sudo apt upgrade来更新。如果手动下载 DEB 包需要关注原发布渠道的更新通知。容器清理Wine 容器会随着使用产生缓存和临时文件。可以定期使用winetricks命令的clean功能或者手动清理容器内Temp目录的文件。但注意不要误删用户数据目录。探索原生替代品关注 Linux 生态的发展。虽然官方原生客户端希望渺茫但可以留意一些优秀的第三方开源客户端如基于 Electron 的electronic-wechat已停更但可用或WeChatFerry需要注入等方案它们可能提供不同的体验。对于 QQ官方有正在测试的 Linux 原生版可以保持关注。我个人在 Ubuntu 22.04 上将 Deepin-Wine 方案作为主力通讯工具环境已经超过一年总体稳定可靠。最关键的心得是保持环境简洁不要在一个 Wine 容器里安装过多无关软件遇到问题先看终端日志大部分错误都有迹可循对于非关键功能如小程序、部分视频特效的缺失需要有一定的容忍度。毕竟这已经是在 Linux 桌面环境下获得近乎完整微信、QQ 体验的最优解了。