Nautilus特殊URI


8

在Ubuntu中定义的Nautilus中使用的这些特殊URI在哪里?

recent:///
trash:///
x-nautilus-desktop:///
computer:///
burn:///

通过在路径栏中输入特殊位置,它们可以立即在Nautilus中打开特殊位置。

为什么当我以根用户身份打开Nautilus时,这些功能不起作用(这是我第一次看到根用户没有权限执行某项操作时)?

Answers:


7

编辑经过更多的挖掘之后,我发现您可以以root身份启动nautilus并使用dbus来访问特殊的URI。该命令将是

sudo dbus-launch nautilus

然后,所有URI都可用。坦白地说,我并不是100%可以这样做,但我在下面发现的一些原始信息可能仍然会有所帮助。


这些URI存在的原因是因为Nautilus使用了一个称为Gnome虚拟文件系统(gvfs)的虚拟文件系统,该文件系统建立在另一个名为FUSE的虚拟文件系统之上。具体来说,这些URI是在/usr/lib/gvfs/名为gvfsd- * 的目录中配置的。这些是二进制文件,因此请勿尝试对其进行编辑。

使用Nautilus挂载Samba共享时,它会使用gvfsd-mount命令(存储在中/usr/bin)来挂载您指定的共享。然后将共享安装在/run/user/<UID>/gvfs/您的用户ID所在的位置(对于单用户系统,通常为1000)。

至于root能够使用这些URI,Ubuntu和我假设其他发行版都配置了保险丝,以便出于安全原因root不能使用虚拟文件系统。您会发现该/run/user文件夹中的root用户没有0目录。/etc/fuse.conf默认情况下,该文件未配置为允许root用户访问。这意味着,如果您的用户装载共享,则即使没有配置Fuse允许共享,root用户也无法查看共享。

我还没有实际测试过授予对Fuse文件系统或特殊URI的根访问权限,但是您可能很幸运如本链接中所述配置它,或者通读Fuse手册页

对不起,RTFM答案,但是我找不到一个确定的解决方案,它取决于您所使用的Ubuntu版本,因为某些目录/命令在最新版本中已更改。


感谢您提供的好信息。知道为什么x-nautilus-desktop未在/usr/lib/gvfs/其他地方定义/配置并浪费时间吗?我使用Ubuntu 13.10,没有调用gvfsd-x-nautilus-desktopin的文件/usr/lib/gvfs/,但是此URI(x-nautilus-desktop:///)仍然有效。从此开始,也许我可以找到一种定义新URI的方法。这是我的最终目标...
RaduRădeanu13年

@RaduRădeanu我环顾四周,但找不到文件或对x-nautilus-desktop:/// URI的引用。我找不到任何具有该名称的文件,这使我怀疑它不是像其他URI一样的模块化组件,并且可能在gvfs或保险丝中进行了硬编码。我不是一个开发人员,但是您可能想查看gvfs源代码。
罗斯加尔

好的,再次感谢。我会接受您的回答,但是,如果您在这种意义上发现了新的东西,请告诉我...
RaduRădeanu13年

1

数量不多,但适合所有人:

在终端或按Alt + F2键:

gksudo dbus-launch nautilus computer:///

在根系统上,您不需要“ gksudo”或“ dbus-launch”

一些例子:

computer:/// - objects for each mounted device, plus the network
network:/// - available networks to browse
burn:/// - a virtual folder for burning data CDs/DVDs
smb:/// - available windows/samba network resources
x-nautilus-desktop:/// - desktop objects and icons
file:/// - local files
trash:/// - local trash directory
themes:/// - displays all the themes that are available in the GNOME Desktop
fonts:/// - shows fonts
recent:/// - shows recent files

另一方面,该站点显示了如何为在firefox和gnome上运行的脚本或程序创建URI。有一个很酷的示例脚本,您可以根据需要将其用作参考。

将新的URI方案处理程序集成到Gnome和Firefox

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.