Schreibzugriff auf NTFS-Datenträger per AppleScript-Droplet aktivieren

Altivec

Altivec

Aktives Mitglied
Thread Starter
Dabei seit
29.05.2006
Beiträge
1.257
Reaktionspunkte
57
Warnung: Hochexperimentelles Zeug mit Risiken & Nebenwirkungen, keine gebrauchsfertige Lösung!
Es geht mir um Verbesserungsvorschläge oder auch Hinweise auf andere/elegantere funktionierende Lösungen.


Hallo zusammen!

Ich schreibe gelegentlich Daten auf eine NTFS-Platte. OSX (hier läuft Mavericks 10.9.2) bringt diese Funktionalität ja eigentlich mit, nur muß man sie ihm erst entlocken. Ich habe dann recherchiert und neben einigen bei mir nicht funktionierenden Lösungen einen Ansatz hier gefunden. In einem der Kommentare wird die Idee vorgestellt, einen Ordner auf dem Schreibtisch zu erstellen und den NTFS-Datenträger darauf „umzumounten“.

Ich habe mal versucht, das in einem (zugegebenermaßen etwas bash-lastigem) AppleScript-Droplet umzusetzen. Das residiert bei mir im Dock und ich ziehe für die Aktivierung des Schreibzugriffs die betreffende NTFS-Platte dann einfach darauf.

Zeilenweises Vorgehen des Skripts:
- Name des „gedropten“ Datenträgers übernehmen und mittels sed letztes Zeichen („:“) entfernen
- aus der Ausgabe von diskutil list wird mittels grep eine NTFS-Partition dieses Namens herausgefiltert und die zugehörige Id (disk#s#) ermittelt
- das Volume wird mit umount deaktiviert (An der Stelle muß man sich dann mit dem Admin-Kennwort ausweisen.)
- es wird dann ein Ordner mit dem Namen der Disk auf dem Schreibtisch erzeugt
- das Volume wird darauf gemounted

Code:
on open Dateiname
	set volume_name to do shell script "echo " & Dateiname & " | sed 's/.$//'"
	set device_id to do shell script "echo $(diskutil list | grep -E Windows_NTFS.*$'" & volume_name & "' | tail -c 8)"
	do shell script "sudo umount /Volumes/'" & volume_name & "'" with administrator privileges
	do shell script "mkdir ~/Desktop/'" & volume_name & "'"
	do shell script "sudo mount -t ntfs -o rw,auto,nobrowse /dev/'" & device_id & "' ~/Desktop/'" & volume_name & "'" with administrator privileges
end open

Das reicht für meine Zwecke, aber generell …
- braucht man Admin-Rechte,
- gibt es ein Problem, wenn bereits ein Ordner mit dem Namen des Datenträgers auf dem Desktop ist,
- gibt es keine Berücksichtigung mehrerer gleichnamiger NTFS-Datenträger,
- bleibt nach dem Auswerfen des Datenträgers der Ordner auf dem Schreibtisch zurück.

Daher meine Frage an Euch: Wie könnte man das verbessern? Habt ihr andere funktionierende Lösungen?

Gruß, Altivec
 
Ich nutze Tuxera NTFS.

Aber das geht an deiner ursprünglichen Idee natürlich weit vorbei.... ;)
 
Das kenne ich auch. Aber es geht mir mehr darum, das mit Bordmitteln zu machen. :)
 
naja, zuerst solltest du beachten, dass der eingebaute OS X NTFS schreibtreiber aus guten gründen nicht aktiviert ist.
wenn ich mir das verlinkte so betrachte, frag ich mich, warum da nobrowse mit den optionen ist und sich gewundert wird, warum die platte nicht auf dem desktop erscheint.
was die fstab methode angeht, LABEL ist nicht die beste methode, mit UUID ist es wesentlich besser.

hast du immer verschiedene platten?
wenn es immer die gleiche ist, dann mach es doch über fstab mit UUID und ohne nobrowse.
 
  • Gefällt mir
Reaktionen: Altivec
Danke für den Tip! Werde mir die fstab-Lösung mal vornehmen.
 
... dass der eingebaute OS X NTFS schreibtreiber aus guten gründen nicht aktiviert ist.

Sehe ich jetzt auch so. Nach der Freude über das Funktionieren kam die Ernüchterung. Beim Schreiben größerer Datenmengen (irgendwo im zweistelligen GB-Bereich) via Finder passierte es, daß plötzlich die Dateien auf dem NTFS-Medium "verschwanden". Ich muß also von dieser Lösung abraten!

Eine UUID bekomme ich mit diskutil info für die NTFS-Medien nicht angezeigt, bzw. ist es mir auch nicht gelungen, eine zu generieren.

Kurioserweise mountet einer der Macs jetzt alle NTFS-Datenträger direkt mit Schreibzugriff, ohne irgendwelches Zutun. Leider kann ich aber nicht mehr nachvollziehen, wie das gekommen ist.
 
Zurück
Oben Unten