Rhythmbox 没有播放来自网络共享的音乐。当您移动搜索栏时,您可以听到半秒钟的声音,但随后就会停止。
从安装的驱动器播放音乐就好了。还使用 Banshee 和 VLC 播放器进行了测试:都可以正常播放文件。
系统:全新安装 12.04
我有同样的问题; 现在已修复。正如 Dries 所说,解决方案是挂载共享...但随后我还必须使用 dconf 编辑器并将 org.gnome.rhythmbox.rhythmdb/locations 设置为挂载目录。简单地使用 Rhythmbox 音乐 -> 导入文件夹菜单项只会导致生成导入错误,无论我是将其定向到共享的 Nautilus“书签”还是手动安装的共享。
首先,安装 samba 和 cifs:
sudo apt-get update
sudo apt-get install samba cifs-utils
Run Code Online (Sandbox Code Playgroud)
然后确定您的服务器的 IP 地址。在本例中,我的称为myserver:
nmblookup myserver
Run Code Online (Sandbox Code Playgroud)
这将输出类似这样的内容:
querying myserver on 192.168.1.255
192.168.1.10 myserver<00>
Run Code Online (Sandbox Code Playgroud)
您正在查看输出的第二行以获取服务器的 IP 地址。然后编辑 fstab 文件,以便在每次计算机启动时自动在该服务器上安装共享。在本例中,我的共享称为databox:
sudo gedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)
并将此行插入到 fstab 文件的底部:
//192.168.1.10/databox /mnt/databox cifs noauto,guest 0 0
Run Code Online (Sandbox Code Playgroud)
现在挂载此会话的共享:
sudo mount /mnt/databox
Run Code Online (Sandbox Code Playgroud)
...并检查是否有错误。当您输入以下内容时,您的份额应该会列出:
df -h
Run Code Online (Sandbox Code Playgroud)
您应该能够导航到共享并查看其内容:
cd /mnt/databox
ls
Run Code Online (Sandbox Code Playgroud)
如果此时出现错误,则需要检查 fstab 文件的内容。
请注意,此方法假设您的服务器没有路由器分配给它的 DHCP IP 地址。在继续之前,您可能需要“修复”路由器配置中的 IP 地址。此外,如果您的网络共享需要用户 ID 和密码,您可能需要将guest选项更改为类似的内容。
除非您希望在每次启动后手动挂载共享sudo mount /mnt/databox,否则您还需要编写一个脚本来自动挂载共享:
cd /etc/NetworkManager/dispatcher.d
sudo gedit mountnfs
Run Code Online (Sandbox Code Playgroud)
...并将以下内容放入您的脚本中:
mount /mnt/databox
Run Code Online (Sandbox Code Playgroud)
保存脚本并退出文本编辑器。最后,使脚本可执行:
sudo chmod 755 mountnfs
Run Code Online (Sandbox Code Playgroud)
重新启动系统,然后检查共享是否已成功安装:
df -h
Run Code Online (Sandbox Code Playgroud)
请注意,网络管理器是 Ubuntu 的默认设置。如果您使用不同的网络工具,您可以尝试将此脚本放入其中/etc/network/if-up.d/。您不能只将 fstab 共享选项设置为auto,因为 Linux 会在设置网络之前尝试挂载驱动器。此阶段的其他潜在方法可能是:
systemctl enable NetworkManager-wait-online.service,这需要systemd,而 systemd与 Ubuntu 并不完全兼容。现在安装并运行 dconf-editor:
sudo apt-get install dconf-tools
sudo dconf-editor
Run Code Online (Sandbox Code Playgroud)
在树中导航到 org.gnome.rhythmbox.rhythmdb 并找到位置设置。然后将此设置更改为:
['file:///mnt/databox/Music']
Run Code Online (Sandbox Code Playgroud)
...检查监视器库复选框...就完成了! (手指交叉)
注意:我在 Ubuntu 12.10 上使用 Rhythmbox 2.97 和 Network Manager 0.9.6.0-0ubuntu7
这已被报告为节奏盒错误 https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/977866
如果将共享挂载到本地文件系统,它就可以正常工作。(确保删除数据库并从新位置重新导入所有歌曲)