百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

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

liuian 2025-01-04 21:26 52 浏览

之前一直用在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下面顺畅运行微信。

相关推荐

itunes备份c盘满了怎么办(itunes备份c盘满了怎么删除还没备份完)

转移itunes资料库先在D盘或者E盘建一个新文件夹,例如:itunes备份打开itunes,在左上角有个设置菜单按钮,点击,下拉菜单里选择“偏好设置”在偏好设置---高级---把“保持iTunes...

电脑硬盘长什么样子(电脑硬盘是什么形状)

硬盘是一种重要的数据存储设备,有机械硬盘、固态硬盘、服务器硬盘、外置硬盘等多种类型。根据用户需求和应用场景,可以选择不同类型的硬盘,以满足各种需求。同时,用户还应考虑硬盘的容量、性能、价格等因素,以便...

win7激活后蓝屏进不了系统(win7用了激活工具重启蓝屏)

win7开机蓝屏是由于系统的主引导记录出错导致的,可以通过重建计算机主引导记录的方式解决:1、将pe启动盘插在电脑上,然后开机进入pe系统,选择第一项回车进入:2、进入到pe桌面之后,双击桌面上的分区...

win10系统的控制面板在哪里打开
win10系统的控制面板在哪里打开

开始菜单:在任务栏的左下角,点击Windows徽标(或按键盘上的Windows键),然后在弹出的开始菜单中,找到“控制面板”并点击。搜索功能:在任务栏最右侧的搜索框中,输入“控制面板”或“ControlPanel”,然后在出现的搜索结果...

2026-01-06 07:55 liuian

c盘清理软件专注优化大师(c盘清理大师是啥)

班级优化大师在清除记录方面非常简单。只需要在主界面底部找到“清除记录”按钮,点击即可清除所有的记录。同时,也可以在设置界面中选择“清除所有记录”选项,来清除所有的数据。此外,班级优化大师还支持定期自动...

台式电脑怎样安装摄像头(台式电脑怎么安装摄像头视频教程)

购买一个USB接口的摄像头,先把驱动光盘放入光驱,运行安装程序,安装好后,插入USB摄像头,电脑会自动识别并安装驱动,等一会儿就安装好了。打开摄像头程序看看是否有影像,也可以打开QQ对摄像头进行配置。...

下载最新版本app(fission下载最新版本)

 1.请检查iPhone有足够的储存空间;  2.重启iPhone后再次尝试下载;  3.检测当前网络状态是否正常,或尝试连接其它Wi-Fi网络。如长时间仍然无法正常下载,可尝试还原iP...

笔记本声卡(笔记本声卡多少钱)
  • 笔记本声卡(笔记本声卡多少钱)
  • 笔记本声卡(笔记本声卡多少钱)
  • 笔记本声卡(笔记本声卡多少钱)
  • 笔记本声卡(笔记本声卡多少钱)
xp电脑模拟器(windows xp,模拟器)

XP电脑可以玩GBA模拟器。在XP电脑上,可以使用VisualBoyAdvance这款GBA模拟器。根据公开资料,VisualBoyAdvance可以在Windows、MacOS等操作系统上运行,并支...

u盘怎么装系统xp(u盘怎么装xp系统步骤)

1、制作U盘启动盘,装系统前需要将U盘制作成启动盘,这个比较简单,网上有U盘启动盘制作工具。2、下载XP系统到U盘,需要将XP系统下载到自己的U盘,方便安装。3、首先将U盘插入电脑,然后再开机。4、开...

dos游戏(dos游戏小鸟跳格子)

DOS游戏是用DOS下的开发工具开发的,例如TurboC等等,执行文件是Exe格式,另外还有许多数据文件,例如图像和声音等,有的是通用格式,有的是自定义格式。因为多数的DOS游戏是无法在XP系统下运...

win7优化网络设置(w7系统怎么样设置优化)
  • win7优化网络设置(w7系统怎么样设置优化)
  • win7优化网络设置(w7系统怎么样设置优化)
  • win7优化网络设置(w7系统怎么样设置优化)
  • win7优化网络设置(w7系统怎么样设置优化)
安卓手机杀毒软件哪个好(安卓手机 杀毒软件)

安卓手机可以杀毒。大多数安卓手机都自带杀毒软件或者安全中心,可以检测和清除病毒。另外,也可以下载第三方杀毒软件,如腾讯手机管家、360安全卫士等,这些软件都具有强大的病毒查杀功能,可以深度清理手机中的...

windows7怎么截图快捷键(windows7截图快捷键修改)

1、使用“PrintScreen”快捷键:按“Alt+PrintScreen”可以将光标所在窗口的截图复制到剪贴板上;2、使用“SnippingTool”:Windows7提供了一款名为“S...

联想售后支持(联想售后支持加装内存条吗)

保修期状态:保内维修:保修期内(中国大陆正规渠道购买的产品在保修期内因为产品质量问题导致的故障,且无人为损坏)。保外维修:保修期外(产品已过保修期)。非损维修:人为损坏(人为不当使用或未按说明书要求使...