众所周知,网易云音乐和深度 Linux 合作推出了 Linux 版的网易云音乐,可惜
为了能在任意 Linux 桌面下运行,以及避免闭源软件对系统造成影响,我尝试把它打成了 Docker image (基于 Ubuntu 16.04 )。 其实本来想打一个 flatpak 包,但是失败了(补了一堆依赖,不知道还有没有遗漏的,最后还报 udev 错误--!)。
其实思路很简单,把二进制软件包及没有列出的依赖装进 image 后,主要解决以下问题(docker-compose.yaml 和 Dockerfile见https://github.com/vfreex/docker-netease-cloud-music):
/tmp/.X11-unix 到 container 里的同一路径DISPLAY 从 host 传到 container$XDG_RUNTIME_DIR/pulse/native 到 containerPULSE_SERVER为上一条中 container 里面挂载的路径/dev/shm 到 container 里的同一路径我们希望 container 中运行程序的 user 和 host 的 uid 相同,以便访问用户 home 目录下的音乐库。
默认情况下,只挂载了 $HOME/.config/netease-cloud-music、$HOME/Music/CloudMusic 和$HOME/Music(只读),其它路径对 container 不可见(docker-compose.yaml)。
确保你已安装并配置好了docker和docker-compose,下载
https://raw.githubusercontent.com/vfreex/docker-netease-cloud-music/master/docker-compose.yaml, 进入下载到的目录,运行xhost +local && docker-compose up -d。
补充:
xhost +local: && docker-compose up -d,漏了一个冒号。sudo chown "$USERNAME":0 "$HOME/.config/netease-cloud-music/" "$HOME/Music/CloudMusic/"
sudo chmod g=rwX "$HOME/.config/netease-cloud-music/" "$HOME/Music/CloudMusic/"
|  |      1majinjing3      2017-07-24 16:53:49 +08:00 via Android 我这玩过,用 docker 启动谷歌浏览器,洋葱浏览器 | 
|  |      2sunjourney      2017-07-24 18:03:38 +08:00 厉害了厉害了,docker 跑 GUI 都有方案了 | 
|      3Betacoefficient      2017-07-24 18:09:22 +08:00  1 你们这些人是要彻底把 docker 弄成虚拟机啊。 | 
|  |      4Wichna      2017-07-24 19:09:52 +08:00 已 star | 
|      5bsidb      2017-07-24 20:49:42 +08:00 厉害啦! 那以后这样就不用怕有些 GUI 程序是发行版限定的了~ 而且也不用给各个 GUI 程序搞乱七八糟的依赖了。 期待楼主 Flatpak 能成功! | 
|  |      6ech0x      2017-07-24 20:52:56 +08:00 via iPhone 这个好,可惜配置还是有些复杂,不过比起自己折腾 wine 好多了 | 
|  |      7raysonx OP @ech0x 毕竟 Docker 在设计上不是用来跑图形程序的。如果搞出一个 flatpak 版本就方便了,目前已经有进展了,等搞定之后再来更新。 | 
|  |      8wm5d8b      2017-07-25 09:03:13 +08:00 网易云音乐只支持 deepin 15、Ubuntu 16.04 和 Ubuntu 14.04 ? 我在 Arch Linux 系的系统上用完全没问题。。 | 
|  |      9chenai      2017-07-25 11:44:44 +08:00 via Android 厉害了,少年 | 
|  |      10zhangneww      2017-07-26 16:27:50 +08:00 Arch 没问题+1 | 
|  |      11ppwangs      2017-07-27 15:36:57 +08:00 arch 大法好 | 
|  |      12Jimrussell      2017-07-27 21:52:04 +08:00 via Android 哈哈学习一下,我自己一般用 vagrant 来处理类似的场景。 | 
|  |      15param      2017-09-17 03:46:36 +08:00 qt 更新了,deepin 不跟进。先是网易云音乐在新 qt 下无法正常显示歌词,现在的情况直接不能用。不过。。用 docker 实在有点大材小用,不怎么优雅。 |