没有想过会在一个手机软件上花这么多心思,好在今天总算安装成功,觉得可以记录下这个过程,方便他人方便自己。

首先介绍下我使用过的其他方法,希望可以节省大家一些时间:

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 香不香的话那就还是免了~

Ubuntu 20.04上通过Wine 安装微信的更多相关文章

  1. Ubuntu 20.04上安装MySQL教程,ubuntu安装mysql

    在Ubuntu 20.04上安装MySQL教程 先决条件 确保您以具有sudo特权的用户身份登录. 在Ubuntu上安装MySQL 在撰写本文时,Ubuntu存储库中可用的MySQL的最新版本是MyS ...

  2. [转] 如何在 Ubuntu 14.04 上通过 apt-get 安装 Apache Tomcat 7

    PS:war 部署路径:/var/lib/tomcat7/webapps http://www.linfuyan.com/how-to-install-apache-tomcat7-on-ubuntu ...

  3. Ubuntu 20.04美化及QQ、微信安装

    1.前言 电脑用了很多年了,安装的windows7,经常出现很卡的情况,于是今天索性重装了系统.既然重装系统,选择什么系统好呢,windows10系统的话,对于我这老旧本来说,可能真的是为难它了.刚好 ...

  4. ubuntu 16.04 上opengl 的安装以及例子程序编译执行

    因为最近在移植 Qt5.7 + opengl , 遇到了难以越过的山峰,没有办法,试着在 ubuntu 16.04上将 opengl 配置以下,记录: 安装相关的库: sudo apt-get ins ...

  5. ubuntu 16.04 上编译和安装C++机器学习工具包mlpack并编写mlpack-config.cmake | tutorial to compile and install mplack on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/1cd6a04d/,欢迎阅读最新内容! tutorial to compile and install mplack on ubun ...

  6. Ubuntu 16.04下使用Wine安装Windows版的微信(不太完美)

    说明: 真的不太完美,别试了:除了需要安装额外的输入法之后,无法上传图片和间接性的BUG出现等等问题. 建议安装网页版的微信:http://www.cnblogs.com/EasonJim/p/711 ...

  7. 在ubuntu 10.04 上QGIS的安装步骤

    进入管理员账户后,打开/etc/apt/sources.list. 添 加 deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubun ...

  8. Ubuntu 18.04 上使用 OpenJDK 安装并运行 Tomcat

    在Linux上安装与卸载JDK和JRE,两种常用方法: 一.通过 apt-get 命令在线进行安装与卸载(会自动配置好环境变量) 二.通过下载并解压 .tar.gz 包进行手动安装与手动卸载(需要手动 ...

  9. Ubuntu 16.04下使用Wine安装Notepad++

    说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.关于没有.wine文件夹的解决方法:在命令行上运行winecfg: 下载: (链接 ...

随机推荐

  1. 轻轻松松学CSS:媒体查询

    轻轻松松学CSS:利用媒体查询创建响应式布局 媒体查询,针对不同的媒体类型定制不同的样式规则.在网站开发中,可以创建响应式布局. 一.初步认识媒体查询在响应式布局中的应用 下面实例在屏幕可视窗口尺寸大 ...

  2. Vue事件绑定原理

    Vue事件绑定原理 Vue中通过v-on或其语法糖@指令来给元素绑定事件并且提供了事件修饰符,基本流程是进行模板编译生成AST,生成render函数后并执行得到VNode,VNode生成真实DOM节点 ...

  3. EasyPoi导出Excel

    这几天一直在忙工作中的事情,在工作中有一个问题,可能是因为刚开始接触这个EasyPoi,对其也没有太多的理解,在项目中就使用了,有一个需求,是要导出项目中所有的表格,今天就对这个需求进行分析和实现吧; ...

  4. 【CF】Sereja and Arcs

    #include <bits/stdc++.h> #define llong long long using namespace std; const int N = 1e5; const ...

  5. Java中的String字符串及其常用方法

    字符串(String) 文章目录 字符串(String) 直接定义字符串 常用方法 字符串长度 toLowerCase() & toUpperCase()方法 trim()方法去除空格 判空 ...

  6. CentOS+Phpstudy安装Sqli-Labs

    CentOS+Phpstudy安装Sqli-Labs 安装环境 CentOS 7.5 vmware fusion phpstudy 安装步骤 1. 下载sqli-labs 2. 将sqli-labs ...

  7. 本地ubuntu 往阿里云ubuntu服务器传文件

    起因 今天在本地ubuntu搭环境,弄好之后需要把本地的文件传到服务器上去... 本想着用xftp直接拖过去,结果连接不上,可能是我太菜了吧,只好百度找方法··· 这里就简单的记录一下吧~ 步骤 sc ...

  8. pytest allure 生成html测试报告

    前提:需要 java 1.8 以上.python3环境 一.下载pytest pip install pytest 二.下载Allure Pytest Adaptor插件 pip install py ...

  9. 通俗理解线性回归(Linear Regression)

    线性回归, 最简单的机器学习算法, 当你看完这篇文章, 你就会发现, 线性回归是多么的简单. 首先, 什么是线性回归. 简单的说, 就是在坐标系中有很多点, 线性回归的目的就是找到一条线使得这些点都在 ...

  10. 微信小程序常用样式

    1.设置全局字体样式app.wxss: text{ font-family:MicroSoft yahei; } 2.设置弹性盒子模型: .container{ /*弹性模型*/ display:fl ...