我正在寻找与早期 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.fdi
ie 添加
<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.d
udev.rule
文件的命名方式应与 init 脚本相同,即priority-filename.rule
form。每当将sdxy
或hdxy
添加到您的系统中,并且ID_FS_TYPE
设备密钥与 匹配时ntfs
,此规则就会设置pmount
选项。您可以找到有关创建 udev 规则的详细信息Daniel Drake 编写 udev 规则显然在man 7 udev
。