为什么我需要root特权才能在命令行而不是Nautilus中卸载驱动器?如何改变呢?


24

当我插入拇指驱动器,媒体卡或USB硬盘驱动器以通过命令行卸载时,我需要使用:

sudo umount /media/the_device

但是,只需单击弹出按钮或使用设备上的右键单击上下文菜单,就可以在Nautilus这样的文件管理器中卸载设备。

区别的理由是什么?如何更改它,以便可以在不需要根特权的情况下从命令行卸载?改变它是一个坏主意吗?

编辑:如果它已更改,我正在运行9.04。我已经运行了大多数版本5.10--9.04,据我所记得,一直都是这种方式。


2
I,我没想到。那很奇怪不是吗?
DLH 2010年

是的,然后是神秘的坐骑。我已经尝试了很长时间,以弄清nautilus如何定位并安装本地Windows网络,以便在其内部运行计算机。我可以通过nautilus到达任何地方的共享文件夹,但是知道如何从终端到达那里真的很不错。
Campadrenalin

Nautilus中的任何网络驱动器都可以在〜/ .gvfs下访问。另外,我推荐nautilus-open-terminal插件。
Marius Gedminas

Answers:


40

Nautilus不会直接卸载设备。它通过DBus与系统守护程序(udisks-daemon)对话,并要求将其卸载。

守护程序通过联系另一个系统守护程序PolicyKit来检查是否允许您执行此操作。

PolicyKit使用中定义的配置/usr/share/polkit-1/actions/org.freedesktop.udisks.policy(除非本地系统管理员在中覆盖它/etc/polkit-1)。该文件告诉PolicyKit,具有活动控制台会话的用户可以分离驱动器,因此PolicyKit与第三个守护程序ConsoleKit对话,以查看您是否具有活动控制台会话。通过gdm登录视为控制台会话;通过ssh登录没有。

有一个命令行工具udisks可让您使用相同的机制来卸载设备而无需使用sudo:

udisks --unmount /dev/sdb1

卸载文件系统;我也可以用

udisks --detach /dev/sdb

这会使USB闪存盘上的LED熄灭。


3
非常感谢您激发我进行这项研究。我想要一个命令行工具来长时间不使用sudo来卸载设备。
Marius Gedminas

1
嗯,您的欢迎我激起了您对我的问题的回答。:-)
vanden

1
该权限才能执行此不再存在(如Ubuntu的12.10) -但是下面的答案gvfs-mount现在的作品
大卫·弗雷泽

9

情况可能已经改变-在当前的Ubuntu 10.04中,umount在没有sudo的情况下可以用于USB驱动器。通常我认为命令

gvfs-mount -u /media/the_device

(gvfs-mount在gvfs-bin软件包中)应该总是可以工作。


2

当前答案已弃用。尝试:

gio mount --unmount *mounted location*

使用以下命令获取当前已安装的分区:

lsblk | grep media
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.