装 deepin-wine

deepin-wine-ubuntu 项目已经把 deepin 的 wine + 微信 / QQ 移植到 Ubuntu,最便捷:

git clone https://github.com/wszqkzqk/deepin-wine-ubuntu.git
cd deepin-wine-ubuntu

# 安装最新版 wine
sudo ./install.sh

# 装微信 / QQ / TIM 任选
wget https://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.wechat/deepin.com.wechat_2.1.4deepin0_i386.deb
sudo dpkg -i deepin.com.wechat_*.deb
sudo apt -f install   # 补齐依赖

启动微信:

deepin-wine WeChat
装完大概率会看到方块乱码或输入框空白。这是因为 deepin-wine 自带的 Windows 字体不能正常显示中文,按下面步骤修复。

微信乱码:替换字体 + 改注册表

根因:wine 容器里的默认字体不是中文字体。微软雅黑(msyh.ttc)是最稳的替代品——Windows 系统自带、没有版权问题。

步骤 1:把字体放进 wine 容器

从任意 Windows 系统(或正规下载渠道)拿到 msyh.ttc:

cp msyh.ttc ~/.deepinwine/Deepin-WeChat/drive_c/windows/Fonts/

步骤 2:修改系统注册表

gedit ~/.deepinwine/Deepin-WeChat/system.reg

找到下面两行(或类似键),值改为 msyh:

"MS Shell Dlg"="msyh"
"MS Shell Dlg 2"="msyh"

步骤 3:建立字体回退链

新建 msyh_config.reg:

REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"="msyh.ttc"
"Microsoft Sans Serif"="msyh.ttc"
"MS Sans Serif"="msyh.ttc"
"Tahoma"="msyh.ttc"
"Tahoma Bold"="msyhbd.ttc"
"msyh"="msyh.ttc"
"Arial"="msyh.ttc"
"Arial Black"="msyh.ttc"

导入注册表:

WINEPREFIX=~/.deepinwine/Deepin-WeChat deepin-wine regedit msyh_config.reg

步骤 4:重启

reboot

重启后再次启动微信,方块乱码应变成正常中文。

输入框空白

字体乱码修好之后,常见一个新问题:聊天输入框里输入的文字"看不见"——字符存在但渲染是透明或同色。

修复方式:调整 wine 颜色配置,或者改用更现代的 deepin-wine 版本。简单粗暴的做法:

  1. 升级到最新版的 deepin-wine-ubuntu(GitHub Releases);
  2. 如果还不行,把微信的 wine 容器整个删掉重装:
rm -rf ~/.deepinwine/Deepin-WeChat
sudo dpkg -i deepin.com.wechat_*.deb
deepin-wine WeChat
微信的聊天记录其实在 ~/.deepinwine/Deepin-WeChat/drive_c/users/<你>/Application Data/ 下,备份后再删。

QQ 字体方案

QQ 比微信对字体更敏感(标题栏、副标题栏用了不同字体)。最稳的方案是装上系统的中文字体,让 wine 自动回退:

sudo apt install fonts-wqy-microhei fonts-wqy-zenhei

装完后 wine 会自动用文泉驿字体作为中文回退——乱码基本消失。QQ 的字体方案相对简单,不必替换 msyh。

要跟 Windows 一致,再走一遍微信的注册表步骤,路径替换为 ~/.deepinwine/Deepin-QQ/。

改用 WineHQ

如果 deepin-wine 始终有兼容问题(特别是新版微信),可以考虑换上游 WineHQ 的 stable:

sudo dpkg --add-architecture i386
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources

sudo apt update
sudo apt install --install-recommends winehq-stable

WineHQ 在版本稳定性上比 deepin-wine 强,但容器配置(WINEPREFIX)需要自己从头搭。

使用准则

  1. 装完微信先看一遍主界面:方块乱码必须先修,否则历史消息加载越多越乱。
  2. 改注册表前备份 ~/.deepinwine/Deepin-WeChat/system.reg,改坏了好恢复。
  3. QQ 优先装文泉驿字体,方案简单;微信才需要替换 msyh。
  4. 新版微信有问题时,第一时间升级 deepin-wine-ubuntu 而不是去改 wine 配置。
参考资料