当前位置:首页 > 文章中心 > 正文内容

Ubuntu 24.04下安装Wine运行微信最新版本3.9.9完美版

dgx6664个月前 (03-14)文章中心19

之前一直用在Ubuntu下用微信,基本上功能可用,但是存在几个问题:

  1. 切换到其他应用窗口后,微信窗口边框留有残影。
  2. 手残升级微信到3.9.9之后,经常出现崩溃退出微信。
  3. 有时候输入框光标消失,发送表情问题提示不能发送空信息。
  4. 小程序和链接打开后崩溃。
  5. 有时候缺少字体导致显示不正常。

刚好五一假期有点空闲就整治一下笔记本电脑,顺便把微信的这些小问题一并解决了。

以前解决这些问题都是各种网站上搜索,这次既然要整治就从根本上定位问题根源并给出完美解决方案。所谓从根本上定位就是要找到代码级问题且逻辑自洽。首先第一步就是要能够从源码编译,方便后期修改代码后查看效果。

Wine的文档质量还是非常不错的,非常详细和准确。按照文档说明一步一步操作就能够编译成功。关键点是参考:

  1. 编译说明文档:Building Wine - WineHQ Wiki
  2. 我个人是把64位和32位都做了编译,也就是WoW64模式。
  3. 特别注意看编译文档中的依赖满足部分,仔细点添加开发依赖就行。

考虑到经常要编译,为了偷懒不用每次都安装包就打包成为一个docker并且把依赖环境这些都准备好放在github(大家觉得有空也欢迎大家加星):

GitHub - cetsupport/wine-wechat-builder: The docker builder for compile wine WoW64 mode, especially support run wechat over wine.

具体编译脚本build.sh没有放到docker里面,该脚本主要就是编译64位wine,安装/替换32位开发环境(由于部分环境跟64位开发环境冲突),编译32位环境三部分。大家根据自己需要操作。

接下来就是每个问题予以解决:

  1. 转移窗口焦点后有边框残影。

这个问题早有其他人给出了解决方案,具体参考patch文件:

repo/archlinuxcn/wine-for-wechat/wine-wechat.patch at master · archlinuxcn/repo · GitHub

由于版本不同,这个patch的位置可能会有不对。自行参考后正确修改dlls/user32/win.c文件。9.7版本的是在470行左右CreateWindowExW函数体内添加。

  1. 新版本微信崩溃问题

这个问题我在升级到新版本3.9.9后发现,之前的版本应该是比较老了(3.8?不确定),由于一直好用也没有怎么动。结果手残升级后发现运行一段时间就崩溃,每次也不确定运行多久就崩溃。

那没有办法,逢山开路遇水搭桥。最直接方式就是抓backtrace。

这里必须赞一下wine的文档,非常详细都不用花费脑细胞到处查找,winedbg的例子就是如何在crash时候断点。具体参考:Winedbg - WineHQ Wiki

然后放着等断点触发后查看,主要是微信3.9.9版本后调用FindFirstFileNameW函数,但是这个函数在wine里面暂时没有实现。

问题找到了就好办,没有实现咱们就给他“实现”呗,反正wine就是一个模拟器,微信我也是主要用基本功能。

下面就是具体的修改方法:

  • 主要涉及两个dll:kernel32.dll和kernalbase.dll。
  • 首先要打开接口,核心实现是在kernalbase,但是在kernal32里面也需要有这个接口定义。原因是kernel32主要负责面向应用层接口。具体我就不详细写了,大家对照着截图中的文件行数自己根据实际情况修改。
  • 至此修改完成,重新编译后安装就可以正常运行了。

此外,还遇到微信小程序和链接无法正常打开。最后参考网上答案予以解决:

步骤一、在微信主界面搜索框内输入:

:showcmdwnd

后回车,会弹出一个命令行窗口,然后在窗口中输入以下命令强制更新插件:

/plugin set_grayvalue=203&set_config_url=https://dldir1.qq.com/weixin/Windows/XPlugin/updateConfigWin.xml&check_update_force

具体应该使用哪一个grayvalue请大家查找具体文档。

其他的问题都比较常见了,大家自行网上寻找答案就是。

等后面有空再把这些patch文件整合到脚本中。希望这篇文章能够帮到大家在Linux下面顺畅运行微信。

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/269.html

分享给朋友:

“Ubuntu 24.04下安装Wine运行微信最新版本3.9.9完美版” 的相关文章

CAD运行需要什么样的电脑配置

最近发现很多小伙伴都在问一个问题,学习CAD 需要什么样的电脑配置,游戏本是不是能满足CAD的绘图需求?预算3000-4000元能不能买到能画CAD的笔记本?今天小编跟大家简单探讨一下这个问题,因为小编并不是计算机专业的,所以你对本文章有不同看法,请尽情留言,一同探讨。基本上只要提到学习CAD,用C...

《魔兽争霸官方对战平台》高清RPG限时畅玩火热进行中

8月26日起,只要你安装了《魔兽争霸III:重制版》客户端,即可在魔兽争霸官方对战平台限时免费畅玩高清RPG地图。传世战歌、黑暗之门、水之td等的一大波高清地图等你来玩,在享受高清画质带来的极致游戏体验同时,还有丰富的平台活动可参与,获得丰厚的虚拟道具奖励。官方对战平台下载地址:http://dz....

为什么用CAD软件绘图,鼠标会一直抖动?你关掉这两个设置就好了

CAD软件应该是绘制平面图类软件的霸主了,可是大部分人使用的时候不注意一些细节,导致绘图的时候遇到许多问题,没有及时处理,大大影响绘图效率。例如在绘图时,鼠标总是出现抖动状态,很多小伙伴都对此视而不见,以为是软件自身问题或显卡的问题,其实并不是。我们一起来看看是什么问题吧~一、鼠标为什么会抖动看下你...

摩尔线程内测版驱动发布,解锁DirectX 12能力

10 月 15 日晚,摩尔线程公布了旗下显卡产品全新驱动的内测消息,表示即将为 MTT S80 和 MTT S70 更新新的内测版驱动,提供 DirectX 12 的支持。本次开启的内测是面向全部用户的,只需要在摩尔线程官方提供的链接之中进行下载,就可以安装对应版本的内测驱动。作为参考,Direct...

一分钟教会你在iPhone桌面添加备忘录小组件

iPhone手机在不少年轻人的心目当中,都是选择新手机时的首选。之所以有这样傲人的成绩,跟iPhone手机的各种设计是分不开的。在iPhone手机的iOS系统上,可以使用小组件功能,这个设计有很多软件都支持,包括备忘录。一分钟教会你在iPhone桌面添加备忘录小组件。在iPhone手机的桌面上添加备...

桌面便签怎么设置提醒,哪个备忘录便签好?

  2024年终于开工了,第一天上班比较迷茫,不知道做什么比较好,这个时候如果有一款简单好用且可提醒的桌面便签软件该多好。那么,桌面便签怎么设置提醒,哪个备忘录便签好?  桌面便签怎么设置提醒,哪个备忘录便签好?功夫不负有心人,找了好多个终于找到了一款叫好用便签的电脑桌面便签软件,不仅设计简单,而且...