微信

来自 Arch Linux 中文维基

微信(WeChat)是腾讯公司于 2011 年 1 月 21 日推出的一个为智能终端提供即时通讯服务的免费应用程序,官方适配的系统有 iOS、 Android 、Windows、MacOS 和 Linux。

目前微信官方适配了部分 Linux 发行版(见下),如有兴趣可测试补充其他发行版上的兼容情况。

除安装原生版本外,本文还将介绍如何通过其他方法安装微信,以满足不同的需求。

微信 Linux 原生版重构[编辑 | 编辑源代码]

提示:✅这是当前比较好的解决方案

目前已知的兼容情况:

Linux发行版 可运行 稳定性 额外配置 可通过包管理安装
Arch Linux 稳定 视情况而定 是(AUR)
Debian 稳定 视情况而定
Ubuntu 稳定 视情况而定

·2024年3月,微信 Linux 原生版重构,可以安装 wechat-uos-qtAUR 体验。

wechat-uos-qtAUR 默认启用沙盒. 设置环境变量 trashAppUnsafe=1 来永久禁用沙盒, 或右击任务栏图标并选择临时禁用沙盒. (警告! 禁用沙盒将允许微信读取 / 修改所有数据)

文件共享与数据目录[编辑 | 编辑源代码]

默认情况下, 微信的家目录 (~/.local/share/WeChat_Data) 与真实家目录 (~) 不同. 如需共享文件, 可以右击任务栏图标, 选择 打开数据目录 后将文件放置于此.

从微信打开文件[编辑 | 编辑源代码]

从微信打开文件需要 XDG Desktop Portal 正常工作, 否则默认文件管理器检测可能会出错.

打开浏览器[编辑 | 编辑源代码]

Firefox[编辑 | 编辑源代码]

请在沙盒外部运行 Firefox, 然后从微信打开链接.

虚拟机[编辑 | 编辑源代码]

可以在 VMwareVirtualBox 等虚拟机里安装 Windows 系统来使用微信。

Wine[编辑 | 编辑源代码]

注意: 目前 Wine-based 微信小程序功能全部不可用,大于一定尺寸的图片无法发送。详情请参阅 这里.

安装[编辑 | 编辑源代码]

兼容层 Wine 可用于在 Linux 中运行微信。

此外,deepin-wine-wechatAUR(无补丁)也提供了它,这是一个为 Arch 配置的 Wine 容器。版本为最新官方版本。

使用 archlinuxcn 仓库的 wine-for-wechat[编辑 | 编辑源代码]

如果微信在使用过程中在其他窗口之上有窗口阴影,可以尝试使用 archlinuxcn 仓库中的 wine-for-wechat。 此版本的 Wine 使用 这个补丁 修复微信窗口阴影。

另外,建议安装 wine-wechat-setupCNRepo 包来安装,运行和配置微信(微信的 Windows 安装包需要自行下载)。

deepin-wine 微信[编辑 | 编辑源代码]

可以安装 com.qq.weixin.deepinAUR软件包,这是 Deepin 官方配置的 Wine 化应用,但版本较旧 (3.2.1)。该版本的小程序功能不可用。

若需要更新的版本可选择安装 com.qq.weixin.sparkAURdeepin-wine-wechatAUR。基本保持与官方 Windows 版本更新同步,且可以使用小程序。

Deepin-wine 还提供了其他的相关软件包,比如企业微信 com.qq.weixin.work.deepinAUR

在容器中运行[编辑 | 编辑源代码]

docker-wechat 在一个 Docker 容器中运行 Wine wechat。

配置[编辑 | 编辑源代码]

高分辨率屏幕[编辑 | 编辑源代码]

如果屏幕 DPI 比较高,界面和字体会比较小。需要通过如下方式配置 wine 的屏幕分辨率 DPI:

  1. 打开对应的 winecfg, 下面的是 deepin-wine-wechatAUR 的示例,请按实际情况修改 WINEPREFIXdeepin-wine6-stable:
    $ WINEPREFIX=~/.deepinwine/Deepin-WeChat/ deepin-wine6-stable winecfg
  2. 点击显示,调整 屏幕分辨率 为合适的数值。
  3. 微信中,启用 `` 适配系统缩放比例 `` 选项(设置-->通用设置-->适配系统缩放比例)

统信 UOS 魔改版[编辑 | 编辑源代码]

安装 wechat-uosAUR 软件包即可。

注意: 原统信 UOS 软件包会验证运行环境是否是统信 UOS 专业版,在非 UOS 专业版的环境下会工作异常。 本解决方案通过使用 bubblewrap 替换 os-releaselsb-release,在没有修改其分发的二进制文件的前提下,实现模拟 UOS 专业版运行环境,使其能正常运行。