“Selber mounten” statt “Finder-Freeze”
Der Finder und Samba sind sich bei MacOS X 10.4.x leider nicht einig darüber, ob man SMB-Shares (also MS-Windows-Freigaben), die sich auf einem Linux-Rechner befinden, auf dem Mac einbinden soll, oder nicht. Reproduzierbar stürzt der Finder bei dem Versuch ab, der sogenannte “Finder-Freeze”. Man muss den Finder dann wieder neu starten. Auf der Konsole geht das Einbinden dieser Verzeichnisse aber, und zwar besonders einfach mit diesem Skript von mir:
#!/bin/sh # Script: mshare # Object: With mshare.sh you can mount a Samba share # on a Linux workstation to a mountpoint in your # Home directory at MacOS X without freezing # the Finder. # Usage: mshare [servername] [sharename] [mountdirectory] if [ -d $3 ] then mount -t smbfs //$1/$2 $HOME/$3 else mkdir $HOME/$3 chmod 755 $HOME/$3 mount -t smbfs //$1/$2 $HOME/$3 fi
Für den Unmount des Mountpunktes gibt es ein zweites Skript:
#!/bin/sh # Script: ushare # Object: With ushare.sh you can unmount the mountpoint # in your Home directory which you have mounted # with mshare.sh before. The flag [-d] will # delete the mountpoint. # # Usage: ushare [mountdirectory] [-d] case "$2" in -d) umount $HOME/$1 rm -rf $HOME/$1 ;; *) umount $HOME/$1 ;; esac
Mit Copy and Paste die beiden Skripte jeweils kopieren und als mshare bzw. ushare abspeichern. Dann beide Skripte ausführbar machen:
chmod 755 mshare ushare
Mit folgendem Befehl in der Konsole kann man dann ein Verzeichnis auf einem Linux-Samba-Server einbinden:
./mshare tux public myshareDabei ist tux der Samba-Server auf dem Linux-Rechner, public ist dort der öffentliche Ordner und myshare der Ordner auf dem Mac, der als Mountpunkt dient. Über ihn können wir auf die SMB-Freigabe zugreifen. Sollte es das Verzeichnis myshare auf dem Mac noch nicht geben, wird es einfach angelegt.
Nun könnte man den Ordner myshare mit dem Finder auf dem Mac browsen. Leider aktualisiert sich der Finder aber erst, wenn man irgendetwas mit ihm macht, z.B einen neuen Ordner anlegt. Dann erst wird der Ordner myshare auch im Finder sichtbar.
Mit folgendem Befehl wird der eingehängte SMB-Share wieder ausgehängt:
./ushare myshareHängt man an den Befehl den Flag -d an, wird das Verzeichnis myshare gelöscht.
./ushare myshare -d
Geschrieben in MacOS X und iPhone


23. Juni 2006 um 20:48:50
Vielen Dank! Auf der Suche nach einer Lösung zum “Finder Freeze” hat mir das sehr geholfen!
21. Februar 2009 um 10:51:39
Hallo Christian,
vielen Dank für Deine Skriptvorschläge.
Ich würde das Skript gerne noch bei der Anmeldung des Mac-Rechners automatisch ausführen lassen. Dazu müßte ich den [servername], [sharename] und [mountdirectory] direkt in das Skript mit einbinden.
Einige Sachen habe ich dazu schon ausprobiert wie z.B.
Ist schon klar, dass ich meinen Servernamen mit meiner Situation vor Ort ersetzen muss. Das Skript hat mit dem erweiteren Aufruf auch schon funktioniert. Ich möchte es halt nur noch soweit abkürzen, so dass ich nur
./mshareeintippen muss und in dem Skript die Variablen automatisch übergeben werden.
Leider bin ich noch so skripterfahren, das ganze erinnert mich eher an die Stapeldateien von MSDOS, weil das Skript nacheinander die Befehle abarbeitet, aber keine Variablen hinterlegt werden können.
Kann ja eigentlich nicht sein, oder?
21. Februar 2009 um 16:50:31
Hallo Thomas,
dein Skript müsste etwa so aussehen, damit du die Variablen richtig zuweisen kannst:
Wenn du dich für die Shell-Programmierung interessierst, hilft die vielleicht dieses Tutorial weiter.
Viele Grüße,
Christian