文件管理器显示驱动器的原因是什么?

什么原因会导致文件管理器在左侧窗格中显示未挂载的分区?
也就是说,是什么过程导致文件管理器显示驱动器 - 这不是fstab - 我可以在这里展示它,我知道插入可挂载的卷会使其显示。
我试图理解实际上是什么给了文件管理器显示分区的信号。

我的印象是它显示所有具有文件系统且未被“fstab”挂载的分区。您可以在“/dev”中找到这些分区,并且它们以“sdxn”模式命名,其中x是一个字母(描述物理驱动器),而n是该驱动器上的分区编号。例如,如果您只有一个sda驱动器并插入一个USB闪存驱动器,您可以在“/dev”中看到一个sdb驱动器出现。 - André Stannek
我知道。我正在努力找出是什么导致它们显示出来,而不是它们可能被称为什么 ;) - 23 93 26 35 19 57 3 89
就像我说的那样:我认为只有在拥有文件系统且尚未挂载的情况下,它们才会显示。或者你是在寻找导致Nautilus在插入设备时显示新设备的事件/系统调用?编辑:我看到你已经编辑了你的问题。现在我明白你的意思了;-) - André Stannek
今天编辑的只是标签而已;) - 23 93 26 35 19 57 3 89
哦,那肯定是我看错了。抱歉! - André Stannek
没关系 - 我自己也做过同样的事情 :) - 23 93 26 35 19 57 3 89
分区必须能够被用户挂载。实际上,这意味着它要么在可移动的卷中,要么在/etc/fstab中列出。但在Ubuntu 13.10与Openbox和Thunar中并非如此。作为用户,Thunar显示所有已格式化的分区。而在fstab中只有/本身。然而,奇怪的是,以root身份运行的Thunar却不显示它们。看起来有些反常,不是吗?我正在努力弄清楚如何使以root身份运行的Thunar表现得与以用户身份运行的Thunar相同。 - user265215
2个回答

导致Nautilus在左侧边栏显示分区的程序名称是gvfs-gdu-volume。要终止此进程,请运行以下命令以查看该程序的PID。
sudo ps -e | grep gvfs-gdu-volume

在我的系统中,输出是
 6642 ?        00:00:00 gvfs-gdu-volume

所以,我知道PID是6642,它可能会随时间变化而变化。
使用以下命令终止该进程:
sudo kill -9 PID-of-gvfs-gdu-volume.

或者作为一行代码,试试这个

sudo kill -9 `ps -e | grep gvfs-gdu-volume | cut -f 2 -d ' '`

打开Nautilus,看看魔法吧!

image of nautilus in Ubuntu 12.04

这张图片来自Xubuntu 12.04 LTS中的Thunar。

thunar file manager in Xubuntu 12.04

注意:解决方案并非永久有效。每当您在Gedit或类似软件中打开文件时,驱动器图标都会再次出现。要永久禁用此功能,请按照以下步骤操作。
永久禁用的解决方法如下:
打开终端并执行以下命令:
sudo mv /usr/lib/gvfs/gvfs-gdu-volume-monitor /usr/lib/gvfs/gvfs-gdu-volume-monitor.bak

这个命令将“罪魁祸首”文件重命名,以显示带有一个“.bak”扩展名的驱动器图标。就是这样。
如果你想恢复更改,请使用这个命令。
sudo mv /usr/lib/gvfs/gvfs-gdu-volume-monitor.bak /usr/lib/gvfs/gvfs-gdu-volume-monitor

注意:这不是一个体面的解决方案,但它完美地运行,并且我对此感到满意。
我的驱动器图标消失了,现在该如何挂载它们呢?
别哭。这里有你可信赖的朋友终端。打开终端并执行以下命令来挂载/dev/sda1分区。它会完成nautilus所做的工作。
udisks --mount /dev/sda1

要找到所需分区的/dev/sdaX编号,请在终端上执行sudo blkid命令。

12.10更新

看起来Ubuntu 12.10正在使用udisks2程序,并且负责显示驱动器图标的程序也发生了变化。现在是gvfs-udisks2-volume。您应该终止这个进程,而不是旧的gvfs-gdu-volume程序。

21http://i.stack.imgur.com/WIjuK.png


我使用Xubuntu和thunar,在终端中使用grep命令查找grep gvfs-gdu-volume没有任何结果。 - 23 93 26 35 19 57 3 89
你使用的是哪个Xubuntu版本?修改问题以反映这一点。 我在Xubuntu 12.04上检查了thunar。 - Anwar
12.10大气压——但问题是在12.04时提出的——我启动了它来查看,并使用grep gvfs-gdu-volume得到了一个回应,等我有更多时间时,我会再次启动以查看是否有效。 - 23 93 26 35 19 57 3 89
谢谢,安瓦尔。看起来gvfs-gdu-volume就是我问题的答案了 :) - 23 93 26 35 19 57 3 89
QQ发布后我们可以再看一下 :) - 23 93 26 35 19 57 3 89
1@Elfy 我刚刚添加了处理12.10版本的信息。 - Anwar

分区必须能够被用户挂载。实际上,这意味着它要么在可移动的存储设备上,要么在/etc/fstab中列出。

1是的,我明白了。也许我没有很好地表达我的问题 - 它有点模糊。我想要找出的是,实际上是什么导致系统在nautilus中显示它。我有一个在fstab中挂载的分区 - 因为我使用/mnt,它不会自动显示。在驱动器被挂载之前,是系统的哪个部分导致它在文件管理器中显示? - 23 93 26 35 19 57 3 89