首页 > 系统相关 >【折腾记录】Ubuntu24.04LTS下安装Windows版微信

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

时间:2024-08-01 14:17:24浏览次数:18  
标签:LTS 版微信 依赖 Windows 微信 deepin 解压 安装 wine

最近装了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 1
    fi
        mv "$1/drive_c/users/@current_user@" "$1/drive_c/users/$USER"
        sed -i "s#@current_user@#$USER#" $1/*.reg
    FixLink
    $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,然后又得重新登陆。

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

标签:LTS,版微信,依赖,Windows,微信,deepin,解压,安装,wine
From: https://www.cnblogs.com/rech/p/18336448

相关文章

  • Metasploit Pro 4.22.2-2024072501 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.2-2024072501(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releaseJul25,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。原创作品,转载请保留出处。世界上最广泛使用的渗透测试框架知识就是力量,尤其是......
  • 监控Windows API调用
    原文链接:https://www.cnblogs.com/zhaotianff/p/17328559.html很早就知道有ApiMonitor这个软件,可以监控WindowsAPI调用,但当时没有正式的使用场景,所以也没怎么在意。APIMonitor简介APIMonitor可以监视、控制应用程序以及服务进行的WindowsAPI调用。分为32位和64位......
  • Windows系统常用端口详解
    135端口135主要用于Microsoft的远程过程调用(RPC)服务。RPCSS(RemoteProcedureCallSubsystem)服务是COM和DCOM服务器的服务控制管理器。它执行COM和DCOM服务器的对象激活请求、对象导出程序解析和分布式垃圾回收。如果此服务被停用或禁用,则使用COM或DCOM的程序将无......
  • Ubuntu24.04LTS使用pip时显示:error: externally-managed-environment
    Ubuntu24.04LTS中使用apt按照pip,然后pipinstall时显示如下信息:error:externally-managed-environment×Thisenvironmentisexternallymanaged╰─>ToinstallPythonpackagessystem-wide,tryaptinstallpython3-xyz,wherexyzisthepackageyouaretryin......
  • Tenable Nessus 10.8.0 (macOS, Linux, Windows) 发布,新增功能概览
    TenableNessus10.8.0(macOS,Linux,Windows)下载-#1漏洞评估解决方案TenableNessus10.8.0(2024-07-30)发布Nessus试用版自动化安装程序,支持macOSSonoma、RHEL9和Ubuntu24.04请访问原文链接:https://sysin.org/blog/nessus-10/,查看最新版。原创作品,转载请保留......
  • VMware Workstation17 安装 Windows 10 操作系统
    今天给伙伴们分享一下VMwareWorkstation17安装Windows10操作系统,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,......
  • cmd输入python直接弹出windows应用商店
    明明已经安装好了python,并且也确认配置好了python的环境变量,但是在cmd里输入python后,直接弹出windows商店,python获取界面,其实只需要关闭系统里的应用执行别名设置,最近出来的电脑系统里是自带开启了python相关的执行别名。步骤是【设置】-【应用】-【高级应用设计】-【应用执行名称......
  • anki Windows 按下z键,使用有道api发音选中英文文本
     <scripttype="text/javascript"> //播放句子的函数 functionplaySentence(sentence){ //构造有道词典的在线朗读URL varyoudaoUrl="https://dict.youdao.com/dictvoice?audio="+encodeURIComponent(sentence); //创建音频元素并播放 varaudio=newAu......
  • yolov8 训练自定义数据集(windows+CPU)
    本文实现使用yolov8训练自己的火灾数据集。1.数据的获取。本文所使用的火灾数据集是在Roboflow上下载的。Roboflow是一款专为YOLOv8设计的自动化训练数据工具,它为YOLOv8提供了一种更便捷、更快速的方式来准备训练数据。它能够自动从开发者提供的原始图像数据中提取所需的信息,并......
  • scoop个人记录与windows termnial配置指南
    一些权限比较高的,比如虚拟机,docker,右键菜单有的就不推荐使用scoop安装了,会比较麻烦。还有一些大公司的软件,比如各种网盘,也容易scoop下载失败。还有绿色软件)scoop适合下载小工具,管理开发环境等安装scoop#设置PowerShell执行策略Set-ExecutionPolicy-ExecutionPolicyR......