工具癖

Ubuntu下完美解决网易云音乐无法启动的问题

2019-01-09  本文已影响17人  地空神一
网易云音乐

问题探索

自从网易云音乐诞生以来,不管是Windows,安卓,还是IOS,都在用他来听歌。最近安装了Ubuntu,发现网易云音乐专门开发了Ubuntu版本,于是立刻下载安装(网易云音乐官方下载地址),安装后发现网易云音乐无法启动,通过查询发现后台已有网易云音乐的进程。

poo@ubuntu:~$ ps -ef|grep netease-cloud-music
poo      11827  1946  2 14:21 tty2     00:00:00 netease-cloud-music
poo      11832 11827  0 14:21 tty2     00:00:00 /usr/bin/netease-cloud-music --type=zygote --no-sandbox --lang=en-US --log-file=/home/poo/.cache/netease-cloud-music/Cef/console.log --log-severity=error
poo      11872 11832  0 14:21 tty2     00:00:00 /usr/bin/netease-cloud-music --type=zygote --no-sandbox --lang=en-US --log-file=/home/poo/.cache/netease-cloud-music/Cef/console.log --log-severity=error
poo      11879 10566  0 14:21 pts/0    00:00:00 grep --color=auto netease-cloud-music

发现问题

昨天在逛知乎的时候,不小心看到知乎fancyz大神的一篇关于网易云音乐在Ubuntu下无法启动的问题的解答,才真正找到无法启动网易云音乐的原因所在。

回答中提到,网易云音乐无法启动实际上问题与环境变量SESSION_MANAGER有关。

poo@ubuntu:~$ env |grep SEESION_MANAGER  # 结果不为空
poo@ubuntu:~$ sudo env |grep SEESION_MANAGER  # 结果为空
# 这个说明SEESION_MANAGER为空时网易云音乐可以启动
poo@ubuntu:~$ env |grep SEESION_MANAGER  # 结果为空
# 这个说明SEESION_MANAGER为空时网易云音乐可以启动

所以从上面的结果可以看出,以上两种方法也是变相的清空SESSION_MANAGER

解决方案

poo@ubuntu:~$ unset SESSION_MANAGER && netease-cloud-music
# 启动正常
# 通过以下命令查找网易云音乐的启动文件
poo@ubuntu:~$ dpkg -L netease-cloud-music|grep desktop 
/usr/share/applications/netease-cloud-music.desktop
# 打开netease-cloud-music.desktop
poo@ubuntu:~$ sudo gedit /usr/share/applications/netease-cloud-music.desktop
# 修改执行命令那一行为:Exec=Exec=sh -c "unset SESSION_MANAGER && netease-cloud-music %U",然后保存。
# "sh -c" 命令,它可以让 bash 将一个字串作为完整的命令来执行

注意事项

如果之前曾经通过root权限启动过网易云音乐,请先执行以下命令,主要为了修正某些文件归属由当前用户变成root的情况。

cd /home/poo/.config/netease-cloud-music/*
sudo chown -R poo:poo *
cd /home/poo/.cache/netease-cloud-music/*
sudo chown -R poo:poo *
# 注意:poo是当前用户名

如果通过命令测试的时候,出现Gtk-Message: 19:53:08.713: Failed to load module "canberra-gtk-module"的错误,请执行sudo apt install libcanberra-gtk-module

poo@ubuntu:~/.config/netease-cloud-music$ unset SESSION_MANAGER && netease-cloud-music
Gtk-Message: 19:53:08.713: Failed to load module "canberra-gtk-module"
poo@ubuntu:~/.config/netease-cloud-music$ sudo apt install libcanberra-gtk-module
# 不过感觉安装不安装这个,没感觉有啥影响。

参考内容

部分内容参考知乎fancyz大神的回答

上一篇 下一篇

猜你喜欢

热点阅读