如何使用 exec 权限从 nautilus 挂载 ntfs 分区?

如何使用 exec 权限从 nautilus 挂载 ntfs 分区?

我正在寻找与早期 Ubuntu 版本中存在的功能类似的功能(直到 Ubuntu Lucid 据我所知)。

该功能是,当我单击 nautilus 左侧栏上的驱动器图标时,NTFS 驱动器将被挂载,当我想运行该驱动器上的任何脚本和/或可执行文件时,nautilus 会显示一条消息,询问“是否应显示文件,或在终端中运行或打开等”,如下图所示

单击可执行文件时显示的消息图像

看来,该功能自 Ubuntu 10.10 以来就被删除了。

我的问题是我如何配置 nautilus 以使用 exec 权限执行此类挂载?或者换句话说,“我怎样才能精确地恢复该功能?”

我问这个问题是因为我必须在 NTFS 分区中运行几个可执行脚本,并且不想使用 fstab 和终端自动挂载它。

笔记:

exec我可以使用这个简单的命令从终端以有权限的方式挂载 NTFS 驱动器:

udisks --mount /dev/sda2 --mount-options umask=022

因此,我确信它们可以以可执行权限挂载。我只是不喜欢使用终端挂载它们,我也可以在启动时添加脚本,但我想知道如何配置才能做到这一点。

此外,我不认为这是一个错误,因为该功能在 Ubuntu 10.04 中就存在,并且运行良好。我认为这是默认策略的更改,我需要找到它。

答案1

在 Ubuntu 10.04 之前,HAL 用于挂载可移动设备,而不是 udev。因此,通过配置/usr/share/hal/fdi/policy/10osvendor/25-ntfs-3g-policy.fdiie 添加

<merge key="volume.policy.mount_option.exec" type="bool">true</merge>

在下面

<match key="volume.fstype" string="ntfs">

部分,可以使用 exec 权限自动挂载它们,但现在udev你可以编写一个 udev 规则,例如

KERNEL="sd*|hd*", ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{pmount_options}="%E{pmount_options} -t ntfs-3g --umask 022"

以可执行权限挂载 ntfs 分区。

在 中创建一个规则文件/etc/udev/rules.d。在 下,/etc/udev/rules.dudev.rule文件的命名方式应与 init 脚本相同,即priority-filename.ruleform。每当将sdxyhdxy添加到您的系统中,并且ID_FS_TYPE设备密钥与 匹配时ntfs,此规则就会设置pmount选项。您可以找到有关创建 udev 规则的详细信息Daniel Drake 编写 udev 规则显然在man 7 udev

相关内容