防止 Gtk 文件对话框列出挂载点

Gil*_*il' 10 directory mount gtk user-interface file-opening

当我打开 Gtk 文件对话框时,左侧有一个名为“Places”的框,其中列出了“Search”、“Recently Used”、一堆目录和一些看起来像卷的东西。我不关心这些条目中的任何一个,但在大多数情况下我不介意,除了一个。

其中一个卷位于外部硬盘上,大部分时间都在减速。打开 Gtk 文件对话框会唤醒这个磁盘(大概是因为应用程序读取了磁盘大小或标签,而该信息不在缓存中)。我想让这停止。

地点截图

etch200808是已安装文件系统的标签。我安装了两个 500MB 的文件系统,其中一个在我不想启动的外部磁盘上。我不确定 412 GB 是什么:我没有接近这个大小的文件系统;我确实有一个大小合适的 LVM 物理卷。我不知道为什么在这个系统上显示这些而不是任何其他各种类型的卷。

如何强制将此卷(或所有卷或所有目录)移出“位置”框?请注意,这不仅仅是未列出,而是未访问挂载点,因此我的磁盘不会因为我想从 Gtk 应用程序打开或保存文件而旋转。

我正在运行 Debian wheezy,但我也想知道其他发行版和几代的答案——如果只是因为这台机器很快就会升级到 jessie。

der*_*ert 5

GVFS 文档有一个关于控制用户界面中显示的内容的文件。简而言之,您有两种方法可以做到这一点:

  1. 如果它在 中/etc/fstab,添加x-gvfs-hide为选项之一(或者,对于旧版本的 udisks2,comment=gvfs-hide)。
  2. 配置 udev 以设置$ENV{UDISKS_IGNORE}="1"相关设备的 。例如,这里是我如何在我的系统上隐藏逻辑卷(我不想通过 GUI 挂载的所有东西):

    ENV{DM_VG_NAME}=="Zia", ENV{UDISKS_IGNORE}="1"
    
    Run Code Online (Sandbox Code Playgroud)

    对于磁盘上的分区,匹配的合理内容将包括$ENV{ID_WWN}$ENV{ID_SERIAL}$ENV{ID_PART_ENTRY_NUMBER}. 因此,例如:

    ENV{ID_WWN}=="0x5000c5001c33a889", ENV{ID_PART_ENTRY_NUMBER}=="1", ENV{UDISKS_IGNORE}="1"
    
    Run Code Online (Sandbox Code Playgroud)

    应该匹配我的一个磁盘上的第一个分区并将其设置为忽略。ID_FS_UUID将是另一种可能性。

如果您正在运行 udisks v. 1(例如,在 Debian Wheezy 中),要设置的 udev 环境变量是ENV{UDISKS_PRESENTATION_HIDE}="1". 从 Gilles 的测试看来,该/etc/fstab方法不能可靠地工作。请注意,可以同时运行 v. 1 和 v. 2,在这种情况下,您必须同时设置两者。