【折腾记录】Ubuntu24.04LTS下安装Windows版微信

news/2024/9/20 14:55:40/文章来源:https://www.cnblogs.com/rech/p/18336448

最近装了Win11和Ubuntu双系统,为了能更方便地和朋友交流,遂决定在Ubuntu下安装微信。

首先要去网上找教程,经过一番搜索,正当我在wine和deepin-wine之间犹豫不定之时,忽然发现了GitHub上的这个仓库zq1997/deepin-wine

据其README描述:

deepin-wine环境与应用在Debian/Ubuntu上的移植仓库
使用deepin官方原版软件包
安装QQ/微信只需要两条命令

居然还有这么方便的事情?那必须得是选择这种方式啊!

殊不知,README中还藏着一段文字,被我所忽视,而它将为后文的一切埋下深深的伏笔……

Linux不是Windows,Wine也不是Windows,不要期待100%丝滑享受。

依赖问题

在依据其README完成setup之后,使用apt安装微信,出现类似下面的依赖问题:

(因为当时自己这边的信息找不到了,所以用了GitHub上别人的)

正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
libsane : 依赖: libsane-common (= 1.0.27.2-3.2+deepin) 但是 1.2.1-7build4 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

因为有很多已安装的包依赖于1.2.1版本的libsane-common,所以只能尝试提高deepin版微信依赖的libsane-common的版本。

因此需要修改deb包中的依赖信息并重新打包。

但是由于不是很懂Ubuntu的包管理机制,只好在这个仓库的issues里搜索sane关键词,最终找到了这篇博文——解决向日葵软件在Ubuntu 20.04依赖libwebkitgtk-3.0-0等问题

通过aptitude可以发现,是com.qq.weixin.deepin包依赖的deepin-wine8-stable包依赖了libsane,所以需要修改deepin-wine8-stable包的deb。

先下载对应的deb文件,

apt download deepin-wine8-stable

然后参照这篇博文去修改即可。

由于我才疏学浅,不知道怎么指定版本为>=1.2.1(试过了修改版本号但是有问题,睡了一觉忘记问题是啥了),为了快速解决问题,用了个简单粗暴的方法——直接去掉libsane这个依赖项。

安装上述博文中的方法修改,然后重新打包,再使用

apt install ./xxx.deb

安装即可(install后面要写一个路径,否则apt会认为是包名从而到仓库中去找)

接着再使用

sudo apt-get install com.qq.weixin.deepin

来安装微信就没有问题了,安装好之后可能需要注销再重新登陆(或者重启)才能看到微信的图标。

高兴得太早

正当高兴之时,打开微信,发现居然提示解压错误了。

不过好在,在GitHub Issues里找到了适配的解决方案:微信解压失败,files.7z的md5值不正确 #378

image

按照上图方法修改后,终于可以打开微信了……

后记

探究解压失败的原因

在run_v4.sh中找到相关代码,发现其逻辑是这样的:

如果7z解压文件后返回的状态码不是0,则认为是解压失败。

ExtractApp()
{$SHELL_DIR/deepin-wine-banner unpack &mkdir -p "$1"7z x "$APPDIR/$APPTAR" -o"$1"if [ $? != 0 ];then$SHELL_DIR/deepin-wine-banner info "解压失败"rm -rf "$1"exit 1fimv "$1/drive_c/users/@current_user@" "$1/drive_c/users/$USER"sed -i "s#@current_user@#$USER#" $1/*.regFixLink$SHELL_DIR/deepin-wine-banner unpacked
}

而在7z命令后面加上 || true之后,这条命令的返回值就一定是0了,也就是忽略7z解压错误,继续执行后面的代码。

可是为什么明明解压发生错误了,还能正常启动呢?

我尝试自己执行了run脚本中的解压命令,发现里面是有一些危险的链接被忽略了,从而导致了ERROR。

例如:

ERROR: Dangerous link path was ignored : drive_c/windows/winhlp32.exe : /opt/deepin-wine8-stable/lib/wine/i386-windows/winhlp32.exe

除了这些链接以外的文件似乎都被正确地解压出来了,但是我不太理解为什么没有这些链接,应用也能正常运行,也许是实际运行时没有用到,或者deepin-wine(或wine)对此有fallback机制?

待解决的托盘问题

deepin-tool中修改托盘的脚本在Ubuntu中无法生效,从而导致微信窗口关闭之后无法再打开。重新点击微信图标则会造成前一个窗口的crash,然后又得重新登陆。

后面有空看看能不能修改一下托盘相关脚本,让它能够正常运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/776124.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cors-filter过滤器解决跨域问题

https://www.cnblogs.com/fanshuyao/cors-filter为第三方组件。 一、官网地址 http://software.dzhuvinov.com/cors-filter.html二、Springboot使用cors-filter 1、引入依赖<dependency><groupId>com.thetransactioncompany</groupId><artifactId>cors…

ThinkPHP6之Excel解析

PhpSpreadsheet解析Excel文件 安装 PhpSpreadsheet 通过 Composer 安装了 PhpSpreadsheet: composer require phpoffice/phpspreadsheet控制器 ExcelController <?phpnamespace app\controller;use think\facade\Db; use think\facade\Request; use think\facade\View; us…

腾讯云数据库认证官方的考试费是多少钱?

腾讯云的认证项目很多,包括云计算、大数据、人工智能等多个技术领域方向的认证路径,每个方向包括工程师(Associate)、高级工程师(Professional)、专家(Expert)三个不同的等级。 对于数据库方面,腾讯云的这三个级别的考试费用分别是: TCCA工程师:1200元 TCCP高级工程师:18…

P3043 [USACO12JAN] Bovine Alliance G 题解

P3043 [USACO12JAN] Bovine Alliance G 题目传送门 思路 首先分情况讨论每种联通块的可能,有三种不同的情况会对答案 \(ans\) 产生不同的贡献。 联通块有环如图,因为每条边都有要有归属,所以环上的边只能全都顺时针或逆时针属于某个点,且不在环上的点仅有一种可能。 因此该…

组合数学学习笔记(持续完善中)

基础知识 一、加法原理 完成某个工作有 \(n\) 类办法,第 \(i\) 类办法有 \(a_i\) 种,则完成此工作的方案数有 \(\sum\limits _{i=1}^n a_i\) 种。 二、乘法原理 完成某个工作有 \(n\) 个步骤,第 \(i\) 个步骤有 \(b_i\) 种,则完成此工作的方案数有 \(\prod\limits _{i=1}^n…

Apple Safari 17.6 - macOS 专属浏览器 (独立安装包下载)

Apple Safari 17.6 - macOS 专属浏览器 (独立安装包下载)Apple Safari 17.6 - macOS 专属浏览器 (独立安装包下载) 适用于 macOS Ventura 和 macOS Monterey 的 Safari 浏览器 17 请访问原文链接:https://sysin.org/blog/apple-safari-17/,查看最新版。原创作品,转载请保留出…

Gartner 魔力象限:安全信息和事件管理 (SIEM) 2024

Gartner Magic Quadrant for Security Information and Event Management 2024Gartner Magic Quadrant for Security Information and Event Management 2024 Gartner 魔力象限:安全信息和事件管理 2024 请访问原文链接:https://sysin.org/blog/gartner-magic-quadrant-siem-…

Metasploit Pro 4.22.2-2024072501 (Linux, Windows) - 专业渗透测试框架

Metasploit Pro 4.22.2-2024072501 (Linux, Windows) - 专业渗透测试框架Metasploit Pro 4.22.2-2024072501 (Linux, Windows) - 专业渗透测试框架 Rapid7 Penetration testing, release Jul 25, 2024 请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。…

C#中常用集合类型

原文:C#中常用集合类型 - Y00 - 博客园 (cnblogs.com)在C#中,集合是用于存储和操作一组数据项的数据结构。这些集合通常位于 System.Collections 和 System.Collections.Generic 命名空间中。下面我将概述C#中几种常用的集合类型及其特点: 1. System.Collections 命名空间中…

[实践]wireguard安装和配置

wireguard安装和配置,实现异地组网目录Server Install & ConfigUbuntu 20.0.4 install wireguard生成私钥&公钥开启内核IP转发配置文件启动&停止wg-quicksystemctlClient Install & Config下载ConfigmacOS Server Install & Config Ubuntu 20.0.4 install…

费曼积分法——以一个简单的例子讲解

今天又又又刷到一个视频,很想睡觉(昨晚熬了个大夜),但是又临近午饭不能睡,只能水篇随笔来打发时间了。 什么是费曼积分法? 先看看官方解释: 费曼积分法(Feynman integral)是一种求解复变函数定积分的计算方法,由理查德费曼(Richard P. Feynman)提出。这种方法特别适…

wireguard安装和使用

wireguard安装和使用目录Server Install & ConfigUbuntu 20.0.4 install wireguard生成私钥&公钥开启内核IP转发配置文件启动&停止wg-quicksystemctlClient Install & Config下载ConfigmacOS Server Install & Config Ubuntu 20.0.4 install wireguard sud…