Tại sao tôi cần quyền root để vượt qua ổ đĩa trong dòng lệnh, nhưng không phải trong Nautilus? Làm thế nào để thay đổi điều đó?


24

Khi tôi chèn một ổ đĩa ngón tay cái, thẻ nhớ hoặc ổ cứng USB, để ngắt kết nối nó thông qua dòng lệnh, tôi cần sử dụng:

sudo umount /media/the_device

Nhưng, tôi có thể ngắt kết nối thiết bị trong trình quản lý tệp như Nautilus chỉ bằng cách nhấp vào nút nhả hoặc sử dụng menu ngữ cảnh nhấp chuột phải trên thiết bị.

Lý do cho sự khác biệt là gì? Làm cách nào tôi có thể thay đổi nó để tôi có thể ngắt kết nối khỏi dòng lệnh mà không cần quyền root? Là thay đổi nó là một ý tưởng tồi?

Chỉnh sửa: Trong trường hợp nó đã thay đổi, tôi đang chạy 9.04. Tôi đã chạy hầu hết các phiên bản 5.10--9.04 và theo như tôi nhớ, nó luôn như vậy.


2
Tôi đã không nghĩ về điều đó. Điều đó thật lạ phải không?
DLH

Vâng, và sau đó có gắn kết bí ẩn. Tôi đã cố gắng trong một thời gian dài để tìm ra cách nautilus định vị và gắn kết mạng Windows cục bộ mà các máy tính trong nhà chạy. Tôi có thể đến các thư mục được chia sẻ ở bất cứ đâu thông qua nautilus, nhưng sẽ rất tiện lợi khi biết cách đến đó từ một thiết bị đầu cuối.
Campadrenalin

Bất kỳ ổ đĩa mạng nào trong Nautilus đều có thể được truy cập dưới ~ / .gvfs. Ngoài ra, tôi khuyên bạn nên các nautilus-open-terminalplugin.
Marius Gedminas

Câu trả lời:


40

Nautilus không ngắt kết nối thiết bị trực tiếp; nó nói chuyện với DBus với một daemon hệ thống (udisks-daemon) và yêu cầu nó ngắt kết nối.

Trình nền kiểm tra xem bạn có được phép làm điều đó không, bằng cách liên hệ với trình nền hệ thống khác, PolicyKit.

PolicyKit sử dụng cấu hình được xác định trong /usr/share/polkit-1/actions/org.freedesktop.udisks.policy(trừ khi người quản trị hệ thống cục bộ ghi đè lên /etc/polkit-1). Tệp đó nói với PolicyKit rằng người dùng có phiên giao diện điều khiển hoạt động có thể tháo ổ đĩa, do đó, Chính sách nói chuyện với daemon thứ ba, ConsoleKit, để xem bạn có phiên giao diện điều khiển hoạt động không. Đăng nhập thông qua gdm được tính là một phiên giao diện điều khiển; đăng nhập qua ssh không.

Có một công cụ dòng lệnh udiskscho phép bạn ngắt kết nối thiết bị mà không cần sử dụng sudo, sử dụng cùng một cơ chế:

udisks --unmount /dev/sdb1

mà ngắt kết nối hệ thống tập tin; Tôi cũng có thể tháo toàn bộ thiết bị với

udisks --detach /dev/sdb

Điều này làm cho đèn LED trên phím USB của tôi bị tối.


3
Tôi muốn cảm ơn bạn rất nhiều vì đã khiêu khích tôi thực hiện nghiên cứu này. Tôi muốn có một công cụ dòng lệnh để ngắt kết nối thiết bị mà không sử dụng sudo trong một thời gian dài.
Marius Gedminas

1
Ừm, sự chào đón của bạn cho việc tôi khiêu khích bạn đưa ra một câu trả lời thực sự tốt cho câu hỏi của tôi. :-)
vanden

1
Các quyền để làm điều này không còn nữa (kể từ Ubuntu 12.10) - tuy nhiên câu trả lời dưới đây gvfs-mounthiện đang hoạt động
David Fraser

9

Tình hình có thể đã thay đổi - trong Ubuntu 10.04 hiện tại hoạt động mà không cần sudo cho các ổ USB. Nói chung tôi nghĩ rằng lệnh

gvfs-mount -u /media/the_device

(gvfs-mount nằm trong gói gvfs-bin) sẽ luôn hoạt động.


2

Câu trả lời hiện tại không được chấp nhận. Thử:

gio mount --unmount *mounted location*

lấy các phân vùng được gắn hiện tại với ví dụ:

lsblk | grep media
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.