1. 程式人生 > >archlinux下網易雲音樂netease-cloud-music部分問題

archlinux下網易雲音樂netease-cloud-music部分問題

個人為網易雲音樂重度使用者,從ubuntu到arch後,感覺netease-cloud-music在ubuntu中支援更好,畢竟linux下的netease-cloud-music是由網易雲音樂和深度deepin聯合開發的,ubuntu有官方的deb包,arch的aur中的netease-cloud-music是基於此deb進行打包的,在體驗上沒有差別,在arch中用起來感覺也還不錯,在此記錄下使用過程中遇到的問題以及解決方式,本文會不定時更新
1. 啟動報錯,客戶端無法開啟
這個問題具體報錯記不清了,問題為點選無法開啟,命令列執行報錯,後來在AUR上看到,在命令列上使用 –no-sandbox 關閉沙箱執行,則可正常使用
2. 這個問題有點坑,在用了一段時間後,發現網易雲音樂再次無法開啟,報錯如下:

[0921/220732:ERROR:browser_main_loop.cc(203)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.

後來驗證這個Log並不是引起客戶端無法啟動的原因,找了蠻久原因,期間曾嘗試使用wine,web版本等,但確實還是用起來不習慣,最後使用ps -ef | grep netease 發現系統啟動了好幾個相關程序(linux沒有執行緒,都是用程序模仿的),如下:

  ~ sudo ps -ef | grep netease
[sudo] zhoudazhuang 的密碼:
zhoudaz+ 11960 11896  0 21:37 pts/0    00:00:00 /bin/sh /usr/bin/netease-cloud-music --no-sandbox
zhoudaz+ 11961 11960  3 21:37 pts/0    00:01:16 /usr/lib/netease-cloud-music/netease-cloud-music --no-sandbox
zhoudaz+ 11965 11961  0 21:37 pts/0    00:00:00 /usr/lib/netease-cloud
-music/netease-cloud-music --type=zygote --no-sandbox --lang=en-US --log-file=/home/zhoudazhuang/.cache/netease-cloud-music/Cef/console.log --log-severity=disable zhoudaz+ 11991 11965 1 21:37 pts/0 00:00:23 /usr/lib/netease-cloud-music/netease-cloud-music --type=zygote --no-sandbox --lang=en-US --log-file=/home/zhoudazhuang/.cache/netease-cloud-music/Cef/console.log --log-severity=disable zhoudaz+ 13325 13293 0 22:12 pts/7 00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn netease

然後嘗試殺死kill -9 [pid] ,再用netease-cloud-music –no-sandbox啟動,則可以正常使用了(依然存在ERROR:browser_main_loop,可忽略)。

此問題原因:因為個人桌面環境為xfce,在ubuntu下關機習慣直接使用shutdown now直接關閉系統(未關閉開啟的程式,比如網易雲音樂客戶端),然後系統在下一次啟動的使用會自動幫你啟動部分程式(比如網易雲音樂客戶端,chrome不會),而系統幫你啟動的時候使用的是netease-cloud-music命令(沒有–no-sandbox關閉沙箱環境),導致程序已啟動(無法使用),所以後來如何啟動都無法再次打開了,並且也沒有額外報錯資訊。

驗證如下,直接關機然後開機,檢視相關程序是否已啟動:

sudo ps -ef | grep netease

結果:

➜  ~ sudo ps -ef | grep netease
[sudo] zhoudazhuang 的密碼:
zhoudaz+  1133  1076  1 22:19 tty2     00:00:00 /usr/lib/netease-cloud-music/netease-cloud-music -session 267fbbadc-1458-4223-8e6a-3a9d82521207_1506003342_809192
zhoudaz+  1307  1133  0 22:19 tty2     00:00:00 /usr/lib/netease-cloud-music/chrome-sandbox /usr/lib/netease-cloud-music/netease-cloud-music --type=zygote --lang=en-US --log-file=/home/zhoudazhuang/.cache/netease-cloud-music/Cef/console.log --log-severity=disable
zhoudaz+  1312  1307  0 22:19 tty2     00:00:00 /usr/lib/netease-cloud-music/netease-cloud-music --type=zygote --lang=en-US --log-file=/home/zhoudazhuang/.cache/netease-cloud-music/Cef/console.log --log-severity=disable
zhoudaz+  1341  1312  0 22:19 tty2     00:00:00 /usr/lib/netease-cloud-music/netease-cloud-music --type=zygote --lang=en-US --log-file=/home/zhoudazhuang/.cache/netease-cloud-music/Cef/console.log --log-severity=disable
zhoudaz+  1521  1171  0 22:19 pts/0    00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn netease

確實是由此原因引起的。
用kill殺掉相關程序後重新執行,問題解決。