美文网首页工具癖
Ubuntu下完美解决网易云音乐无法启动的问题

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

作者: 地空神一 | 来源:发表于2019-01-09 20:54 被阅读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
    
    
    • 通过搜索,网上主流有三种方案:

      • 通过root权限启动网易云音乐
      • 通过点击关机-取消关机启动网易云音乐
      • 通过启动单独的一个sandbox启动网易云音乐
    • 测试以上三种方式的可用性

      • 通过root权限启动网易云音乐
        经过测试,除了不能驻留任务栏外,可以正常启动网易云音乐。但是作为一个音乐播放软件,启动需要root权限,还是让人有点不舒服。

      • 通过点击关机-取消关机启动网易云音乐
        经过测试,这种方式基本也可以启动网易云音乐(有一定几率启动不了,看人品),但为了启动一个音乐软件,经常性的做关机-关机取消这样的操作,我相信没有几个人能受得了。

      • 通过启动单独的一个sandbox启动网易云音乐
        经过测试,这种方式并不能很好的启动网易云音乐(当然听说有人可以,或许我人品一般吧!),所以直接放弃。

    发现问题

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

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

    • 我们先来看看SEESION_MANAGER的状态
    poo@ubuntu:~$ env |grep SEESION_MANAGER  # 结果不为空
    poo@ubuntu:~$ sudo env |grep SEESION_MANAGER  # 结果为空
    # 这个说明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大神的回答

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ttxgrqtx.html