哪些挂载点路径会自动显示在设备下的文件浏览器中?

哪些挂载点路径会自动显示在设备下的文件浏览器中?

一些例子:

  • 如果我插入外部 USB 驱动器,它将被安装在下面/media/$USER/<device-id>,并且我的文件浏览器将自动在设备下列出安装点。
  • 如果我手动将某些内容安装到我的主目录中的常规文件夹中,也会发生同样的情况。但是,如果该文件夹被隐藏,我的文件浏览器将不会列出安装点。
  • /tmp例如,文件浏览器也不会列出 中的安装点。

那么挂载点需要什么条件才能自动显示在设备下的文件浏览器中呢?由于 PCManFM 和 Nautilus 的行为看起来完全相同,我相信这可能有一般规则?我可以“强制”安装点(例如,隐藏文件夹或在 中/tmp)显示在设备下吗?

答案1

块设备有一个标志来指示它们是否可移动。这可以在 的输出中看到lsblk --help。虽然我没有检查内核源代码,但设备模块是设置此标志的最佳位置。

排除安装在其下的文件系统/tmp可能是您尝试的文件管理器或其使用的库的单独检查。例如,Dolphin 继续将此类安装展示为可移动驱动器。

Usage:
 lsblk [options] [<device> ...]

List information about block devices.

Options:
 ...
 -o, --output <list>  output columns
 ...

Available output columns:
 ...
           RM  removable device
 ...

PCManFM用途GLib 和 Gio图书馆。 鹦鹉螺可能也是如此。 海豚才不是。我不知道他们遵循的确切规则,但你可以检查他们的来源。

更多内容请参见如何判断 SCSI 设备是否可移动?

答案2

PCManFM用途GNOME 语言库其中有一个功能g_unix_mount_guess_should_displaygio/gunixmounts.c它定义了挂载点显示的条件:

/* Never display internal mountpoints */

(...)
  
  /* Only display things in /media (which are generally user mountable)
     and home dir (fuse stuff) and /run/media/$USER */

(...)

      /* Hide mounts within a dot path, suppose it was a purpose to hide this mount */

(...)

      /* Check /run/media/$USER/. If running as root, display any mounts below
       * /run/media/. */

(...)

          /* Avoid displaying mounts that are not accessible to the user.

还有一个问题线程讨论在更多位置搜索挂载点的更改:https://gitlab.gnome.org/GNOME/glib/-/issues/1043

相关内容