【Ubuntu】双系统安装记录(六):安装网易云音乐、安装locate命令
# 安装网易云音乐
# 特别说明
根据网上的教程安装出现了一些问题:
-
参考 Ubuntu22.04 安装网易云音乐实操笔记_LeiBris 的博客 - CSDN 博客_ubuntu 音乐的步骤能进入用户界面,但是会报错
-
参考解决 Failed to load module canberra-gtk-module 错误_footrip 的博客 - CSDN 博客_libcanberra-gtk-module 中的解决办法,进入不了界面,但是如果只是把动态库文件放到了网易云库文件夹下,其他步骤按照上一个参考中做就没有问题
我感觉这两个的区别就是
-
第一个:使用系统内置的
/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
一定要是网易云内置的库,不要放到系统库中以免造成系统崩溃!!!
-
网络
# 参考资料
-
解决 Failed to load module canberra-gtk-module 错误_footrip 的博客 - CSDN 博客_libcanberra-gtk-module
-
Ubuntu 下网易云音乐出现 “加载失败,网络错误,可以在设置中发送反馈” 问题及解决_AndrewGSD 的博客 - CSDN 博客
# 安装 locate 命令
# 安装配置
# 安装 locate | |
sudo apt install mlocate | |
# 需要更新索引库 | |
sudo updatedb |
# 几个查找命令对比
-
which
:在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。 -
whereis
:whereis
命令只能用于程序名的搜索,而且只搜索二进制文件(参数 - b)、man 说明文件(参数 - m)和源代码文件(参数 - s)。如果省略参数,则返回所有信息 -
locate
:配合数据库查看文件位置 -
find
:实际搜寻硬盘查询文件名称
当用 locate
无法查找到需要的文件时,可以使用 find
,但是 find
是在硬盘上遍历查找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用 whereis
和 locate
,可以在使用 locate
之前,先使用 updatedb
命令,手动更新数据库。。
# 参考资料
Ubuntu 中 locate 命令缺失解决方法_Dory_Youth 的博客 - CSDN 博客_ubuntu locate