0%

Ubuntu WeChat 安装

一、前言

微信官方对 linux 系统一直都没有很好的支持,虽然可以用 wine 来兼容 windows 微信,但安装和适配都较为复杂。2022 年 1 月,麒麟软件与腾讯公司联手推动了基于 Linux 平台的原生微信适配工作。优麒麟的原生微信也同样支持 Ubuntu 系统,因此是一个较好的选择。

二、安装与配置

1. 安装

阅读完本文所有内容再考虑进行安装。

软件的安装参考如下链接:

2024如何在Ubuntu上安装原生微信wechat weixin - 知乎

2. 有关 lsb

安装教程中的核心部分为:

1
2
3
4
5
sudo apt update
sudo cp /etc/lsb-release /etc/lsb-release.Ubuntu
sudo apt -y install com.tencent.wechat
sudo apt -y install electronic-wechat-icons-atzlinux
sudo cp /etc/lsb-release /etc/lsb-release.wechat

注意到除了安装的命令之外,还出现了比较特别的两行:

1
2
sudo cp /etc/lsb-release /etc/lsb-release.Ubuntu
sudo cp /etc/lsb-release /etc/lsb-release.wechat

其中涉及三个文件:lsb-releaselsb-release.Ubuntulsb-release.wechat,下面为了方便简称为 lsb

  • lsb 记录了系统的 Linux 发行版信息,包括发行版的标识、版本号和一些其他信息。强烈不建议更改。

  • lsb.Ubuntu 是对系统原 lsb 文件的备份。

  • lsb.wechat 是适配微信的优麒麟系统发行版信息。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
lg@ubuntu:/etc$ cat lsb-release.Ubuntu 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"

lg@ubuntu:/etc$ cat lsb-release.wechat
DISTRIB_ID=Kylin
DISTRIB_RELEASE=V10
DISTRIB_CODENAME=kylin
DISTRIB_DESCRIPTION="Kylin V10 SP1"
DISTRIB_KYLIN_RELEASE=V10
DISTRIB_VERSION_TYPE=enterprise
DISTRIB_VERSION_MODE=normal

这两条 cp 指令会将系统元 lsb 备份到 lsb.Ubuntu,然后用优麒麟系统的 lsb 文件替代。这么做的是因为微信的登陆接口会读取系统的发行版信息,若非优麒麟则无法登陆。操作比较恶心,属于是反向适配了。

3. 解决办法

目前我的解决办法是采用脚本启动,启动前用优麒麟的 lsb 替换系统 lsh,然后开始计时,十五秒后替换回来,这意味着在启动微信后十五秒内必须完成登陆,且十五秒内不可强制断电关机。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# /opt/WeChat/files/wechat.sh
# 当前的 /etc/lsb-release 文件路径
CURRENT_LSB_RELEASE="/etc/lsb-release"
# 原始文件
UBUNTU_LSB_RELEASE="/etc/lsb-release.Ubuntu"

# 使用 /etc/lsb-release.wechat 文件替换当前的 /etc/lsb-release
sudo cp /etc/lsb-release.wechat $CURRENT_LSB_RELEASE

# 启动 WeChat 应用程序
/opt/WeChat/files/wechat &

# 等待15秒后恢复lsb
echo "Wait for reset."
sleep 15
sudo cp $UBUNTU_LSB_RELEASE $CURRENT_LSB_RELEASE
echo "Reset successfully!"

脚本里的两条 sudo 需要在系统配置中添加免密设置。

打开终端,并使用以下命令编辑 /etc/sudoers 文件:

1
sudo visudo

在打开的文件中,添加如下规则(假设你的用户名为 lg):

1
2
lg ALL=(root) NOPASSWD: /bin/cp /etc/lsb-release.wechat /etc/lsb-release
lg ALL=(root) NOPASSWD: /bin/cp /etc/lsb-release.Ubuntu /etc/lsb-release

注意:编辑 /etc/sudoers 文件时要格外小心,确保不要修改错误并保存。建议使用 visudo 命令编辑,因为它会在保存前检查语法错误。

因为启动方式发生变化,我们需要修改桌面图标,换为脚本启动。

(由于我的图标是自己创建的,因此文件名可能有所不同,需要注意。)

打开图标配置:

1
sudo vim /usr/share/applications/wechat.desktop

Exec 条目更换为执行脚本。

1
Exec=bash /opt/WeChat/files/wechat.sh

然后重启即可运用配置。

三、卸载铜豌豆源

1
2
sudo apt purge atzlinux-v12-archive-keyring
sudo apt autoremove

四、后记

关于微信原生这个问题我也是今天搜索的时候偶然发现,不知道其中是否存在更多的漏洞/问题,这种安装方式还是有待斟酌的。