问题描述
当我插入拇指驱动器、媒体卡或 USB 硬盘驱动器时,通过命令行卸载它,我需要使用:
sudo umount /media/the_device
但是,我可以通过单击弹出按钮或使用设备上的右键单击上下文菜单在 Nautilus 等文件管理器中卸载设备。
造成这种差异的原因是什么?如何更改它以便我可以从命令行卸载而不需要 root 权限?改变它是一个坏主意吗?
编辑:如果它发生了变化,我正在运行 9.04。我运行过大多数版本 5.10–9.04,据我回忆,一直都是这样。
最佳方法
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 变暗。
次佳方法
情况可能已经改变——在当前的 Ubuntu 10.04 中,umount 可以在没有 sudo 的 USB 驱动器的情况下工作。一般来说,我认为命令
gvfs-mount -u /media/the_device
(gvfs-mount 在 gvfs-bin 包中)应该始终有效。
第三种方法
当前的答案已被弃用。尝试:
gio mount --unmount *mounted location*
获取当前安装的分区,例如:
lsblk | grep media