nemo 用什么命令挂载驱动

jac*_*ack 6 automounting mount linux-mint nemo

我使用 Linux Mint Cinnamon。我想知道nemo当您单击资源管理器侧栏上未安装的驱动器时,什么命令用于安装驱动器。

我问是因为我需要在启动时自动挂载一些分区。我尝试了几个挂载选项,但没有一个像 nemo 那样挂载。使用mount它会导致权限过多、权限不足或所有权问题。

我不知道 nemo 使用什么选项/命令,这就是我问的原因。

在此处输入图片说明 --> 在此处输入图片说明

Aus*_*arn 9

据我所知(我没有直接查看 Nemo 的代码,但我看过很多其他文件管理器),它使用对 UDisks DBus API 的调用。您可以(可能)使用以下命令复制 Nemo 手动执行的调用:

udisksctl mount --block-device=/dev/whatever
Run Code Online (Sandbox Code Playgroud)

哪个应该吐出设备安装的路径(在大多数系统上,它会在 下/run/media/$USER,名称与卷标匹配(或卷 UUID,如果它缺少标签)。

您还可以向此命令传递参数--options=以为其提供自定义挂载选项。

相当于卸载是:

udisksctl unmount --block-device=/dev/whatever
Run Code Online (Sandbox Code Playgroud)

这种方法的缺点是它只能在工作的 DBus 会话中工作,这意味着它在系统启动期间无法工作。

如果“启动时”是指“当我登录时”,那么您可以使用pam_mountPAM 模块,它允许您在登录控制台时也挂载文件系统,并在您注销时正确卸载它. 可以在此处找到相关文档。这实际上是大多数发行版用来处理加密主目录的内容(至少,传统上,它们中的大多数正在慢慢迁移到 VFS Crypto API,但这相当离题)。

如果您用“启动时”来表示“系统启动时”,那么实际上最好不要尝试复制 Nemo 用于挂载文件系统的确切方式。更好的方法是自己管理挂载选项,使其完全按照您的意愿运行。

您在评论中提到它是您尝试挂载的 NTFS 卷。您的基本/etc/fstab行应如下所示(基于评论中的信息):

/dev/sda3     /mnt/user/Storage    ntfs-3g    rw,nosuid,nodev,allow_other    0 0
Run Code Online (Sandbox Code Playgroud)

最重要的是,您可以添加其他选项。大多数自动挂载工具默认不使用的建议包括:

  • windows_names:这将阻止您创建由于命名限制而无法从 WINdows 访问的文件。通常,您不太可能意外创建此类文件(大多数人不使用受限字符,并且大多数地方也不使用保留名称),但它提供了一个很好的安全网以防万一。
  • hide_dot_files:这会自动将文件名以 a 开头的文件标记.为隐藏,从而提高 Windows 和 Linux 之间的一致性。
  • hide_hidden_files:这将排除具有隐藏属性的文件在目录列表中列出(即使带有ls -a)。与上述选项类似的论点,尽管我自己并不喜欢它。
  • streams_interface=xattr:这将 NTFS 备用数据流公开为扩展属性,允许大多数备份工具正确保存和恢复它们。
  • big_writes:这可以显着提高大型写入的写入性能,但对数据在分区上的外观没有影响。

此外,如果您经常在 WINdows 和 Linux 上使用此卷,您可能需要考虑设置用户映射文件。这将允许在一个操作系统中设置的权限在另一个操作系统中正确运行。NTFS-3G 手册页(在此处查看)在“用户映射”部分中提供了有关如何执行此操作的相当不错的文档。