Montage vom Delphin gegen Kommandozeile

7

Ich habe mich gefragt, wie dies möglich ist (dh wie dies intern funktioniert). Wenn Sie ein Verzeichnis bereitstellen möchten, müssen Sie root sein.

sudo mount /dev/something /mnt/somedir

Ich weiß, dass Sie das umgehen können, indem Sie eine Zeile in fstab hinzufügen.

Jetzt frage ich mich, warum ich einen USB-Stick einfüge und ihn in Dolphin (KDE's Filemanager) auswähle. Er wird ohne Root-Passwort gemountet und gibt mir Schreib- / Lesezugriff auf das, was er gemountet hat. Ich vermute, es wird dbus verwendet, um nach neuen Geräten zu suchen. Ich verstehe nicht, wie (wenn es weiß, dass es etwas gibt, das gemountet werden sollte) es es mounten kann, ohne dass root benötigt wird. Ich habe noch nicht herausgefunden, wie man ein Gerät ohne Root manuell einbindet, und vielleicht kann ich etwas daraus lernen, wie Dolphin es macht.

Silverrocker
quelle
3
Lesen Sie Dbus und ConsoleKit. Eine ähnliche Frage, die Ihnen helfen könnte: unix.stackexchange.com/questions/45302/…
darnir
Arch verwendet ConsoleKit nicht mehr, sondern logind. Die in darnirs Kommentar erwähnten Konzepte gelten jedoch weiterhin.
Martín Canaval
@darnir, was ist der Befehl "dbus-send" zum Mounten?
Nicolas

Antworten:

9

Dies geschieht durch udisks. Es gibt zwei Versionen von udisks, "udisks" und "udisks2". Sie haben wahrscheinlich mindestens eine davon installiert. Beide werden mit Kommandozeilenprogrammen geliefert. Beide sollten funktionieren, wenn Dolphin funktioniert.

udisks stellt die Dateisysteme bereit /media/<label>.

$ udisks --mount /dev/sdc1
Mounted /org/freedesktop/UDisks/devices/sdc1 at /media/<label>
$ udisks --unmount /dev/sdc1

Das Dienstprogramm für udisks2 wird aufgerufen udisksctl. Es verwendet/run/media/$USERNAME/<label>

$ udisksctl mount -b /dev/sdc1
Mounted /dev/sdc1 at /run/media/t-8ch/<label>.
$ udisksctl unmount -b /dev/sdc1
Unmounted /dev/sdc1.
t-8ch
quelle