问题描述
我正在尝试使用Plex Media Server将带有Ubuntu 12.04的旧PC变成家庭媒体服务器。我有一个更新的WD 2 TB外部USB HD,上面装有所有媒体。
我一辈子都无法弄清楚为什么Plex无法识别此硬盘驱动器上的文件。它在那里显示外部文件,Ubuntu显示文件并允许我播放它们,查看它们,等等。Plex显示名称”External”。
但是当我单击它时,它是100%空的,什么也没添加。我可以在Windows计算机上通过文件共享很好地访问外部文件,但是希望能够使用Plex与Roku进行流传输。
我对Ubuntu相当陌生,我在Windows上使用了具有相同HD的Plex,并且效果很好。我已经阅读了多篇文章,似乎并没有解决这个问题。
我该如何解决?
最佳方案
您必须确保用户plex
不仅可以访问该驱动器,而且还可以访问该驱动器所在的文件夹。经过大量修补后,我结束了以下操作:
编辑安装选项(磁盘-> “More Actions”(位于”Volumes”图下的两个齿轮)->编辑安装选项),以便:
nosuid,nodev,nofail
在/etc /fstab文件(“符号图标名称”下的文本框)中用于存储选项的区域中
并将“安装点”设置为:
/media/<user>/<HDD Name>
然后重新安装您的HDD,使其出现在指定位置。
接下来,通过进入终端将您自己添加到plex
用户组,然后输入:
sudo adduser "$USER" plex
现在,您可以修改相关文件和目录的所有权,以便它们由${USER}:plex
拥有。您可以通过在终端上输入plex read-access到驱动器,然后输入:
sudo chgrp plex "/media/${USER}/"
sudo chmod g+rX "/media/${USER}/"
sudo chgrp plex "/media/${USER}"/<HDD Name>/
sudo chmod g+rX "/media/${USER}"/<HDD Name>/
可能还需要确保正确配置了ACL权限,因此也可能需要执行以下操作:
sudo setfacl -m g:plex:rx /media/<user>/
FYI: If a file/directory displays a
+
symbol as part of its permissions (e.g.drwxr-xr-x+
) that means that ACL controls are active for that file/directory.
现在,Plex可以访问该驱动器,您需要确保它可以访问相关目录中的所有文件。可以通过对所有媒体库文件夹重复以下步骤来完成此操作:
chmod -R g+rX /media/<user>/<HDD Name>/<Library Folder>
这解决了我添加到HTPC中的两个额外驱动器的问题。希望能帮助到你。
PS:正如@douggro所提到的,Plex在该主题上有一篇不错的文章,但是他们改变了网站的结构,因此我花了一些时间从他的链接中找到它,因此,这是指向该页面的最新链接:Plex Linux Permissions Guide
次佳方案
正如几个人提到的,该问题很可能是由于plex
用户没有正确的权限。我遇到了类似的问题,并且可以通过几个简单的步骤解决它。
打开此配置文件:
sudo nano /etc/default/plexmediaserver
找到这一行:
PLEX_MEDIA_SERVER_USER = plex
将plex
替换为您的用户名,然后保存文件。重新启动计算机后,Plex便能够访问外部驱动器上的文件夹。
您可能可以运行sudo mount -a
和/或sudo service plexmediaserver restart
,而无需重新启动。
第三种方案
我不知道发生了什么,但是唯一帮助我使用ext4驱动器的是在”Disks”应用程序“自动安装选项”中设置-“OFF”并设置”Mount Point” “/mnt/foobar”而不是”/media/username/foobar”。
第四种方案
尝试将Plex添加到plugdev组。
打开终端(按Control
Alt
T
)并输入
sudo gpasswd -a plex plugdev
通过输入以下命令验证是否已将plex添加到plugdev组:
groups plex
应该显示plex属于哪些组。接下来,重新启动计算机并启动plex以验证此问题是否已解决。
第五种方案
您需要配置fstab来设置适当的权限。
在Plex网站上有一整页关于如何执行此操作的页面,请参阅:https://support.plex.tv/hc/en-us/articles/200288606-Mounting-NTFS-Drives-on-Linux
简而言之:
-
查找驱动器的UUID:sudo blkid | grep ntfs
-
创建要安装驱动器的目录:sudo mkdir /media /ext_NTFS_USB_Drive
-
使用以下命令编辑文件/etc /fstab:gksu gedit /etc /fstab
-
在此文件中添加一行并保存。 UUID = 485CBF485CBF3014 /media /ext_NTFS_USB_Drive ntfs-3g权限,自动0 0其中UUID是您的驱动器,安装点是您创建的文件夹。
-
现在安装驱动器:sudo mount /media /ext_NTFS_USB_Drive(例如,您可能会收到错误消息,说明已安装驱动器,例如在Nautilus中。只需将其卸载-安全删除驱动器,或单击Nautilus中的弹出图标)
现在在Plex中,您需要更改要添加到其中的媒体文件夹的位置:/media /ext_NTFS_USB_Drive
第六种方案
麻烦的是外部硬盘的文件夹安装点。
它没有正确的权限,最简单的方法是无需终端命令即可更改此权限,但以root身份打开nautilus的过程如下:
用sudo打开nautilus:
sudo nautilus(或用root打开的任何其他系统浏览器)
将鼠标悬停在外部hd上,以查看hd的完整路径,或单击它,然后按Ctrl + l以在地址栏中查看完整路径。
例如:/media /nick /extern_hdd1
extern_hdd1已安装到文件夹nick上,请转到媒体以更改文件夹nick的权限,然后按ctrl + 1并在地址栏中粘贴/media /或手动浏览到媒体。
右键单击该文件夹的昵称,然后转到属性并更改以下内容:
所有者:nick(在您自己的情况下,您自己的用户名)文件夹访问:创建和删除文件文件访问:-
组:plugdev文件夹访问:访问文件文件访问:-
其他文件夹访问:访问文件文件访问:-
而已!