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

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

dgx6663个月前 (03-14)文章中心13

之前一直用在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完美版” 的相关文章

AutoCAD 2014 64位简体中文安装版(附AutoCAD2014注册机)

AutoCAD是一款由欧特克公司研发的计算机辅助设计工具,AutoCAD绘图工具可以适用于各个操作系统下完成任务工作。AutoCAD一大特色就是,即使你是没有计算机专业知识的使用者也可以使用AutoCAD进行各种图形绘制及设计。AutoCAD2014怎么调工具栏?  1、首先打开autocad201...

安装CAD时,出现1308错误,怎么解决?看完本文你就知道

CAD出现1308错误怎么办?AutoCAD 一种计算机的辅助设计软件,但是打开CAD软件的时候提示错误1308,源文件未找到,因此无法继续安装AutoCAD软件,那么遇到安装AutoCAD出现1308错误问题时该如何解决呢?往下看!1、桌面空白处点击右键,弹出如下对话框,点击新建选项2、点击新建选...

WIN10系统安装低版本CAD(如2006.2007)时出现错误的解决办法

很多同学在WIN10系统下安装低版本CAD(如2006.2007)时会出现各种问题,比如提示“许可系统出现错误”“没有足够的权限安装本产品”“写入文件时发生错误”等,导入CAD无法正常安装或打开。所以老师结合多年的教学经验整理了非常全面的几种解决办法,希望能帮助各位同学解决困惑(WIN10系统与低版...

CAD安装失败,如何才能删除(卸载)CAD?7步就能完美卸载CAD软件

CAD安装失败,怎么样才能彻底删除CAD各种残留注册表?有时候我们想将CAD重新安装,但却显示CAD已经安装,但又不见CAD软件,然后我们就会发出这样的疑问:CAD无法重新安装是怎么一回事?下面电脑百科林老师就告诉大家CAD安装失败的原因,以及怎么操作才能把CAD完全卸载干净。想CAD重新安装,但却...

CAD打印怎么设置黑白?一文教会你CAD打印黑白图纸

CAD设计过程中,为了区分图纸中各个图形对象使其看起来更加直观,方便二次编辑,通常会用不同颜色来标识不同的内容。但在CAD打印时并不需要将这些颜色全部打印出来,只需要黑白打印即可。那么,你知道CAD打印怎么设置黑白吗?本文小编就以浩辰CAD软件为例来给大家分享一下CAD打印怎么设置黑白吧!CAD打印...

正式支持DirectX 12与OpenGL 4.2,摩尔线程发布驱动程序v280.90

IT之家 11 月 20 日消息,摩尔线程今日发布版本号为 v280.90 的图形显卡驱动程序。官方表示,新版驱动程序可以在 Windows 10 和 Windows 11 操作系统环境下实现对 DirectX 12 和 OpenGL 4.2 的支持:优化了 DirectX 12 模式下运行《黑神话...