# 安装网易云音乐

# 特别说明

根据网上的教程安装出现了一些问题:

我感觉这两个的区别就是

  • 第一个:使用系统内置的 /lib/x86_64-linux-gnu/ 的库文件,但是由于系统更新有几个库文件缺失,所以会导致能进但是某些功能受限导致卡死

  • 第二个:教程上感觉是补全缺失的动态库文件,然后让软件直接使用自己的库文件,但是会导致进入不了界面,不知道

最后综合了两个教程的方法,最后能正常进入,且运行中没有再发生卡死的情况,根据结果来看,我认为把缺失的动态库添加到软件自带的库中,在启动脚本中再增添系统内置库的路径,这样就能同时有两个库的资源,并且只修改了软件的库文件,就算出现问题也最多软件不能用,不会危害到系统,比较安全

如果以后再发生运行中卡死的情况,可以试试完全执行第二个教程,该文章中在最后把运行 libs 库文件没懂是什么操作,可能是赋予运行权限然后运行?

 

# 下载安装

网易云音乐官网在其他操作系统里选择 Linux,选择 ubuntu18.04 版本到下载目录安装

sudo dpkg -i netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb

 

# 修改启动脚本

cd /opt/netease/netease-cloud-music
sudo vim ./netease-cloud-music.bash

修改内容如下,主要是添加 cd /lib/x86_64-linux-gnu/

#!/bin/sh
HERE="$(dirname "$(readlink -f "${0}")")"
export LD_LIBRARY_PATH="${HERE}"/libs:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH="${HERE}"/plugins
export QT_QPA_PLATFORM_PLUGIN_PATH="${HERE}"/plugins/platforms
cd /lib/x86_64-linux-gnu/
exec "${HERE}"/netease-cloud-music $@

 

# 重新安装 canberra-gtk-module 模块

这里学会使用 locate 命令,可以定位模块对应的文件位置

重新安装模块

sudo apt install libcanberra-gtk-module

 

# 添加动态库文件

Ubuntu 22.04 由于更换 / 升级了一些动态库,系统动态库 x86_64-linux-gnu 内 libgio-2.0.so.0、libpangocairo-1.0.so.0 引用库缺少了函数支持, 导致程序无法运行,又因前两个动态库的更换导致依赖动态库 libselinux.so.1 缺少。故只能使用安装目录库并补齐以上三个动态库,且 Ubuntu22.04 的库无法使用,只能使用 21.10 以下的系统库文件

一定要将文件添加到网易云内置的库,不要放到系统库中以免造成系统崩溃!!!

cp libgio-2.0.so.0 libpangocairo-1.0.so.0.4800.10 libselinux.so.1 /opt/netease/netease-cloud-music/libs

 

# 重新启动

重新启动就没有问题了

 

# 问题记录

建议有疑问的软件可以通过命令行启动,如果有问题的话会在终端输出报错信息,这样就可以通过报错信息寻找解决办法了

  • 启动无反应

    报错信息如下

    /opt/netease/netease-cloud-music/netease-cloud-music: symbol lookup error: /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0: undefined symbol: pango_font_get_hb_font

    解决办法:参考安装过程中的修改启动脚本(建议备份习惯)

  • 报错 Failed to load module "canberra-gtk-module"

    解决办法:重新安装 libcanberra-gtk-module 模块

  • 卡死

    添加动态库到网易云软件的库中 /opt/netease/netease-cloud-music/libs

    一定要是网易云内置的库,不要放到系统库中以免造成系统崩溃!!!

  • 网络

 

# 参考资料

  1. Ubuntu22.04 安装网易云音乐实操笔记_LeiBris 的博客 - CSDN 博客_ubuntu 音乐

  2. 解决 Failed to load module canberra-gtk-module 错误_footrip 的博客 - CSDN 博客_libcanberra-gtk-module

  3. Ubuntu 下网易云音乐出现 “加载失败,网络错误,可以在设置中发送反馈” 问题及解决_AndrewGSD 的博客 - CSDN 博客

  4. Ubuntu 22.4 网易云音乐启动失败处理方法 - 爱代码爱编程

  5. Ubuntu16.04 下的网易云出现网络异常、无法播放,界面无响应问题的统一解决

 


 

# 安装 locate 命令

# 安装配置

# 安装 locate
sudo apt install mlocate
# 需要更新索引库
sudo updatedb

# 几个查找命令对比

  • which :在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

  • whereiswhereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数 - b)、man 说明文件(参数 - m)和源代码文件(参数 - s)。如果省略参数,则返回所有信息

  • locate :配合数据库查看文件位置

  • find :实际搜寻硬盘查询文件名称

当用 locate 无法查找到需要的文件时,可以使用 find ,但是 find 是在硬盘上遍历查找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用 whereislocate ,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。。

 

# 参考资料

Ubuntu 中 locate 命令缺失解决方法_Dory_Youth 的博客 - CSDN 博客_ubuntu locate

linux 下 which、whereis、locate、find 命令的区别

which、whereis、locate、find 命令用法_肥萝卜使大力的博客 - CSDN 博客