没有想过会在一个手机软件上花这么多心思,好在今天总算安装成功,觉得可以记录下这个过程,方便他人方便自己。
首先介绍下我使用过的其他方法,希望可以节省大家一些时间:
Rambox Pro:因为原理是网页微信套壳,网页微信不能用Rambox 自然也不能用(如果想用的话推荐用Community 版,Snap 版在国内没有代理连设置页面都很难打开……)
Anbox:类似Android 虚拟机,需要对内核进行一些修改,不过效果只能说是差强人意,代理配置也麻烦,故放弃,不过也有人说好用,可以观望一下
Deepin Wine:最多人用,优化应该算最好(?),使用的是移植版微信,步骤颇繁杂,不幸没安装成功,遂放弃,以后可能会尝试
以上就是我试过的方法,以及放弃的原因。接下来是我今次成功安装所使用的一些软件和步骤。首先,我用的是Wine,一开始主要是受这篇文章启发对照着来进行安装,但在掉了不少坑之后发现有一些地方需要改动,有兴趣的话可以对照着来看,而且这篇文章用的是Fedora,换到Ubuntu 20.04上主要有以下步骤(注意,很多地方虽然不说但其实需要重启或者至少Log Out 再Log In才能使设置生效,如果发现设置没有变化,不妨试试Log Out):
1. 安装Wine,官网可以直接下载源文件,也可以根据官网的指引添加apt 库来安装二进制文件,我选择后者,省些麻烦,要指出的是,如果有需要,可以通过 sudo -E的方法将HTTP_PROXY 等环境变量传递进去。这一步包括以下步骤:
1 # 具体内容请查看官方页面
2 sudo dpkg --add-architecture i386
3
4 wget -nc https://dl.winehq.org/wine-builds/winehq.key
5 sudo apt-key add winehq.key
6
7 # 或者sudo -E add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
8 sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
9
10 # 或者sudo -E apt update
11 sudo apt update
12
13 # 或者sudo -E apt install --install-recommends winehq-stable
14 sudo apt install --install-recommends winehq-stable
2. 安装Winetricks,其实Wintricks 只是一个脚本,所以下载(wget 或者curl)下来后还需要赋予运行权限(chmod +x)并放到PATH 文件夹里方便使用。安装Winetricks 主要用来下载字体等插件,官方有指出非常不建议使用Winetricks,但后面会看到很多地方都少不了Winetricks。
cd "${HOME}/Downloads"
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks # 放到/usr/bin/ 方便使用,当然也可以不放,以后将winetricks 替换为 ~/Download/winetricks 也一样
sudo mv winetricks /usr/bin/
3. 下载一些Winetricks 需要的软件。根据步骤2 的官方页面我安装了cabextract,至于其他的软件比如unzip, p7zip, wget (or curl)一般Ubuntu 都已经有,就算没有都可以随时下载,所以就先不管。之前说的那篇博文提到要安装其中Wine Mono,我当时好像看漏了,但其实后面Wine 也会自己弹出来让你安装,所以我在这步只安装cabextract
sudo apt install cabextract
4. 这一部我们要准备安装微信,根据之前说的那篇博文以及Wine 官方页面指出的一些问题,我们需要通过Winetricks 为Wine 安装一些“插件”和字体,主要是 riched20 richtx32 corefonts cjkfonts,主要是修正一些问题并提供中文支持(通过下载思源等字体),因为Wine 本身好像不支持CJK[页面A][页面B],不过这些东西你也可以等到后面发现有问题再按需安装
winetricks riched20 richtx32 corefonts cjkfonts
5. 下载安装微信。微信可以直接从官网下载,如果是Ubuntu 18.04 的话双击exe 文件即可通过Wine 安装。很多人会建议将微信下载到一个/opt/tools/wine 或者/home/you/.wine_tools 之类的文件夹,并设置一个WINPREFIX 环境变量调整微信的安装位置,但根据官网指引似乎并没有这样作的必要,因为Wine 会自己创建一个.wine 文件夹来存放文档,用户只需要双击安装包Wine 会自己处理这些问题并安装软件。需要注意的是,Ubuntu 20.04 和以往不同,双击.exe .deb文件系统并不会直接使用Wine 和dpkg 帮你安装文件,而是会把文件视为压缩包,解决这个问题你需要右击.exe 文件,选择Properties,选择Open With 标签,再选择关联的软件,比如Wine Windows Program Loader。也有些人会特意设置个export WINEARCH=win32 的环境变量,但官方指引也没有提及,可能因为版本问题,特意设置win32 有些地方还会报错,所以我不设置。
6. 安装成功后,可以试下打开微信,此时可能会见到几个问题:
- 如果没有安装之前说的字体文件,现在可能会见到很多白色黑边的方框,字体不能正确显示。要解决这个问题,用Winetricks 安装上述的corefonts cjkfonts 即可;
- 界面超小,看不清字。对于这个问题,我不确定别人的是不是这样,但我这边Wine (在打开wincfg时)会提示 Wine cannot find the ncurses library (libncurses.so.6). ,
就像这样,如果你用的是64位系统我猜肯定也会遇到这种情况,因为Wine 需要的是32位的库,所以用apt 下载32位的
ncurses
库我猜就能解决问题了 sudo apt-get install libncurses5:i386 libncurses6:i386 ,但如果字体还是比较小,也可以试一下修改Wine 的解析度设置(通过Terminal 运行winecfg 来打开设置页面),我这里是调到了192dpi,效果可以看下方贴图。 即使安装了字体打开微信也还是满屏小方框。这可能是因为别的什么系统设置没有设为中文,解决方法有三个,一是将系统改为中文(我没有试过),二是你会发现安装了微信之后桌面上会多一个WeChat.desktop 文件,在默认状态双击应该会打开一个文本编辑器,在Exec=env 后面加上LC_ALL=zh_CN.UTF-8 即可(如下图),三是根据这个帖子你因该也可以在.bashrc/.zshrc/.profile之类的文件的末尾加上这个设置,但我不想影响整个系统,所以就只在desktop 文件上修改。
顺便讲一句,右击.desktop 文件选择Allow Launching 即可作为普通快捷方式使用(并会显示图标),需要修改时可以再设置为Don't Allow Launching,另外,如果你没有另外设置WINEPREFIX 环境变量,你应该会发现desktop 文件里面会显示你的WINEPREFIX 默认是"/home/you/.wine"(如下图),其他文件夹也非常整洁,所以我觉得一开始就没有必要另外设置个WINEPREFIX(但其他人这样设置不排除是有历史原因的影响)。
7. 字体显示正常后,你可能会发现自己打字只能用英文,打中文还是方框,这时我们可以再回到刚刚的desktop 文件,在LC_ALL=zh_CN.UTF-8
后面加一句 GTK_IM_MODILE=ibus QT_IM_MODULE=ibus XMODIFIERS="@im=ibus" 即可(如上图)。注意,这里用ibus 是因为我使用的是系统自带的输入法,使用ibus 输入系统,如果你换其他输入法,应该要换成fcitx 之类的内容,甚至可能要另外下载一些库,详细的可以看文章A,文章B,文章C和Deepin Wine 这个帖子。
到这里,你的微信应该就可以正常使用了,可能我记漏写漏了些许步骤,不过总体而言,Wine 的设置算是简单的,主要是尽可能避免自己不熟悉的操作,比如尽可能不修改shell 的配置文件和注册表,我觉得如果使用了太多你自己都无法理解的设置,最后微信用不成还是小事,搞到系统一团乱还灰心丧气就不值得了。
p.s.
忘了一点,其实还有两个问题没有解决,一个是Unicode 图标的显示,这个我不是很在乎,所以不管,第二个问题是如果你不最小化微信,而是直接用Alt Tab 来切换应用,微信会留下一个边框阴影(如下图),Deepin Wine好像有办法可以解决,但如果用Wine 的话,要弄掉这个边框,你只能重新打开微信并最小化,除此之外我也暂时没有什么解决方法,但我对目前的效果还是满意的,就先这样了,如果你有什么好方法不妨留言告诉我,但如果你想问我其他系统或者Deepin Wine 香不香的话那就还是免了~