忽然心血来潮,给旧笔记本装了Debian12,安装日常软件的时候发现QQ安装上之后运行后会闪退。
主包的运行环境为Debian12.7+GNOME Flashback桌面环境。
经过测试并非桌面环境依赖问题,除debian12/11系统以外,部分旧版的ubuntu和一部分其他基于debian的发行版也有该问题,一时间有点摸不清头脑。
主包平时日用系统为Ubuntu24.04,QQ安装完开箱即用,并没有这个情况。脱离Ubuntu舒适圈之后属实稍微有点不习惯。
遂去查了资料,了解到是因为QQ自带的libvips-cpp.so.42这个运行库过旧,而Debian12不能兼容,以至于QQ打开后进行初始化时闪退。
说了这么多,下面则带来详细的解决方法,刚接触Debian的纯小白也能看懂(
第一步,去Debian官网下载libvips42运行库的完整包。
网址:https://packages.debian.org/bookworm/amd64/libvips42/download
选择亚洲cn或hk服务器点击进行下载

这里是x86架构的下载地址,如电脑是arm或其他架构,则返回网页中的上一级
/ 软件包 / bookworm (stable) / libs / libvips42 下载其他架构对应包。
ps:查看电脑cpu架构方法:打开终端,输入lscpu命令后回车,即可查看处理器信息,在反馈信息中Architecture一栏,则为cpu架构。

下载完成后会得到命名为 libvips42_8.14.1-3+deb12u1_amd64.deb 的deb包文件。
注意:不要使用dpkg-i或者软件包管理器去安装,对QQ客户端不会有作用
第二步:删除原有依赖环境
打开终端,输入sudo su命令后回车,输入已设定的root密码后回车获取root操作权限。
输入命令:cd /opt/QQ/resources/app/sharp-lib 后回车打开该路径。
ps:也可以打开路径后执行命令获取root权限。
输入命令:rm libvips-cpp.so.42 后回车,即可删除旧的运行库。

关闭终端。
第三步:右键下载好的deb包,使用文件压缩器或归档管理器进行解压,得到与包名一样的文件夹。打开文件夹,会有control.tar.xz和data.tar.xz。

将两个压缩文件再次解压,得到对应文件夹。
此时在该路径下打开data/usr/lib/x86_64-linux-gnu后,会发现这里就有我们需要的运行环境libvips-cpp.so.42啦。

第四步:使用终端打开该路径。
主包使用的窗口管理器环境为X11环境,可以在路径旁边点三点更多按钮,然后选择在终端打开。
针对部分窗口管理器没有从终端打开的选项,可以复制该路径(不同窗口管理器操作方法略有不同),随后用终端cd命令打开该路径。
以我上图路径为例,操作方法则为:打开终端后,输入命令:
cd /home/misaka/下载/libvips42_8.14.1-3+deb12u1_amd64/data/usr/lib/x86_64-linux-gnu
输入后点击回车,即可在终端进入该路径。
第五步:获取root操作权限。
输入命令:su root,终端会提示输入root密码,输入密码后回车,即可获取root操作权限。
第六步:使用cp命令将新运行库复制进QQ运行库依赖文件夹。
执行命令:cp libvips-cpp.so.42 /opt/QQ/resources/app/sharp-lib 后回车,如果没有报错,那么证明你成功了

关闭终端,就可以享用刚安装好的QQ啦。