Fedora 31 下如何安装及卸载“网易云音乐” Linux 客户端

“网易云音乐”很早之前就发布了 Linux 版的客户端。但不幸的是,截至目前也只支持 Ubuntu 18.04 和 基于 Ubuntu 的 Deepin 系统,因为官方只提供了 deb 安装包,没有 rpm 包。但理论上其它 Linux 发行版也可以运行,因此我进行了尝试,并成功运行。

如何安装?

方法如下:

1. 下载 deb 包。https://music.163.com/#/download. 我下载的是 Ubuntu 18.04 64 位的版本。

2. 复制主程序:解压缩 deb 包,得到 control 和 data 目录,data 下有 opt 和 usr 目录。在 data 目录打开终端,将其中的 opt 目录中的 netease (这是程序运行的核心) 复制到文件系统根目录下的 /opt 中:

sudo cp -r ./opt/netease /opt/

3. 复制桌面环境集成相关文件:将 data 下的 usr 中的 share (存放的是启动图标和 .desktop 启动项,没有它程序也能运行,但在应用程序菜单中显示该应用程序启动图标)复制到 /usr/ 中,并在 /usr/bin 中创建指向网易云音乐可运行程序的软链接:

sudo cp -r ./usr/share /usr/
sudo ln -s /opt/netease/opt/netease/netease-cloud-music.bash /usr/bin/netease-cloud-music

然后更新系统图标缓存:

sudo update-desktop-database
sudo gtk-update-icon-cache

此时可以启动了,但是会发现崩溃无法运行,命令行下启动时会提示找不到 libnsl 库。这是因为,官方的 deb 包中二进制是针对 ubuntu 18.04 构建的,其中的 glibc 版本是 2.27,而 Fedora 31 中 glibc 版本是2.30,libnsl 从 2.28 开始已经不是 glibc 的组成部分被安装,因此需要手动安装:

sudo dnf install libnsl

此时可以正常启动网易云音乐了,一切运行正常,但是当您想要花钱开通会员VIP时,点击“会员中心”却没有反应。命令行提示:

XPCOMGlueLoad error for file /usr/lib64/firefox/libxul.so:
 /opt/netease/netease-cloud-music/libs/libnss3.so: version NSS_3.45' not found (required by /usr/lib64/firefox/libxul.so) 

检查发现,/opt/netease/netease-cloud-music/libs/ 中有网易云音乐自己的 libnss3.so,而 Fedora 31 中也有 libnss3.so,很显然,网易云音乐自己的 libnss3.so 版本过低无法在 Fedora 31 中运行。解决办法是移除 /opt/netease/netease-cloud-music/libs 中的版本。为了安全,我直接给它改名:

sudo mv /opt/netease/netease-cloud-music/libs/libnss3.so /opt/netease/netease-cloud-music/libs/libnss3.so.old

然后再打开“会员中心”,发现又提示:

XPCOMGlueLoad error for file /usr/lib64/firefox/libxul.so:
/opt/netease/netease-cloud-music/libs/libnssutil3.so: version `NSSUTIL_3.38' not found (required by /lib64/libssl3.so)
Couldn't load XPCOM.

同样的道理,解决办法是:

sudo mv /opt/netease/netease-cloud-music/libs/libnssutil3.so /opt/netease/netease-cloud-music/libs/libnssutil3.so.old

搞定,成功扫码支付并成为了会员。

网易云音乐官方(和 deepin 团队)如果想要发布 rpm 包,可参考我以上的过程进行调整。p.s.: 不知道我写这篇文章给它推荐,能不能就此给我个终身荣誉VIP会员?哈哈,算了吧,我只是为了分享经验而已。

如何卸载?

从以上的整个安装过程可以看出,安装涉及的文件和目录很有限,因此卸载过程如下:

sudo rm -rf /opt/netease
sudo rm /usr/bin/netease-cloud-music
sudo rm /usr/share/applications/netease-cloud-music.desktop
sudo rm -r /usr/share/doc/netease-cloud-music
sudo rm usr/share/icons/hicolor/scalable/apps/netease-cloud-music.svg

作为依赖安装的 libnsl 可以不卸载,没准别的地方还用得到,如果确实想卸载请自便。

另外,该软件在运行时会生成如下临时目录,根据需要自行删除即可:

~/音乐/CloudMusic # 下载的音乐默认保存在这里
~/.cache/netease-cloud-music # 缓存
~/.config/netease-cloud-music # 用户配置文件

也许有人会问,不是可以在浏览器里直接播放吗,为什么还要这么麻烦装个客户端?答:我装客户端,一是为了下载歌曲(网页上无法下载),二是为了确保听已经听过的歌曲时直接使用本地缓存的(SSD硬盘就得呵护着用)。


Posted

in

by

Tags:

评论 Comments

One response to “Fedora 31 下如何安装及卸载“网易云音乐” Linux 客户端”

  1. Junglenoo

    ACTom 有一篇较早的文章,是有关网易云音乐deb包转换为rpm包的,见:https://actom.me/blog/deb%e5%8c%85%e8%bd%acrpm%e5%8c%85.html

Leave a Reply

Your email address will not be published. Required fields are marked *