ทำไมฉันต้องใช้สิทธิ์รูทเพื่อเพิ่มจำนวนไดรฟ์ที่บรรทัดคำสั่ง แต่ไม่ใช่ใน Nautilus วิธีการเปลี่ยนที่?


24

เมื่อฉันใส่ธัมบ์ไดรฟ์มีเดียการ์ดหรือฮาร์ดไดรฟ์ USB เพื่อยกเลิกการต่อเชื่อมผ่านทางบรรทัดคำสั่งฉันต้องใช้:

sudo umount /media/the_device

แต่ฉันสามารถยกเลิกการต่อเชื่อมอุปกรณ์ในตัวจัดการไฟล์อย่าง Nautilus เพียงแค่คลิกปุ่มนำออกหรือใช้เมนูบริบทคลิกขวาบนอุปกรณ์

เหตุผลสำหรับความแตกต่างคืออะไร? ฉันจะเปลี่ยนเพื่อให้สามารถยกเลิกการต่อเชื่อมจากบรรทัดคำสั่งโดยไม่ต้องใช้สิทธิ์รูทได้อย่างไร การเปลี่ยนเป็นความคิดที่ไม่ดีหรือไม่?

แก้ไข: ในกรณีที่มีการเปลี่ยนแปลงฉันใช้ 9.04 ฉันใช้งานเวอร์ชันส่วนใหญ่ 5.10--9.04 และเท่าที่ฉันจำได้มันเป็นแบบนี้มาตลอด


2
ฉันไม่ได้คิดอย่างนั้น มันแปลกดีใช่มั้ย
DLH

ใช่แล้วมีความลึกลับเพิ่มขึ้น ฉันพยายามเป็นเวลานานในการหาวิธีที่ nautilus หาตำแหน่งและเมานต์เครือข่าย Windows ท้องถิ่นที่คอมพิวเตอร์ทำงานในบ้าน ฉันสามารถไปยังโฟลเดอร์ที่ใช้ร่วมกันได้ทุกที่ผ่านทางหอยโข่ง แต่มันจะดีถ้าหากรู้วิธีการเดินทางจากเทอร์มินัล
Campadrenalin

ไดรฟ์เครือข่ายใด ๆ ใน Nautilus สามารถเข้าถึงได้ภายใต้ ~ / .gvfs นอกจากนี้ฉันแนะนำnautilus-open-terminalปลั๊กอิน
Marius Gedminas

คำตอบ:


40

Nautilus ไม่ได้ unmount อุปกรณ์โดยตรง มันพูดถึง DBus กับ system daemon (udisks-daemon) และขอให้ unmount

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

ที่ unmount ระบบไฟล์; ฉันยังสามารถถอดอุปกรณ์ทั้งหมดด้วย

udisks --detach /dev/sdb

ซึ่งทำให้ LED บนคีย์ USB ของฉันมืดลง


3
ฉันอยากจะขอบคุณมากสำหรับการกระตุ้นให้ฉันทำวิจัยนี้ ฉันต้องการเครื่องมือบรรทัดคำสั่งเพื่อยกเลิกการต่อเชื่อมอุปกรณ์โดยไม่ใช้ sudo เป็นเวลานาน
Marius Gedminas

1
อืมการต้อนรับของคุณสำหรับการยั่วยุให้คุณให้คำตอบที่ดีกับคำถามของฉัน :-)
vanden

1
สิทธิ์ในการทำสิ่งนี้ไม่มีอยู่อีกต่อไป (ตั้งแต่ Ubuntu 12.10) - อย่างไรก็ตามคำตอบด้านล่างที่gvfs-mountใช้ได้ตอนนี้
David Fraser

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.