Thursday, January 24, 2008

Automount τον network δισκο σου (NAS) στην εκκίνηση του MacOSX - quick fix!

update :πριν διαβάσεις το κείμενο πήγαινε και δες τα comments - υπάρχει ακόμα πιο γρήγορος τρόπος να πετύχεις το ίδιο πράγμα (ριξε τα mounted drivers στο Login Items toy λογαριασμού σου)! Κύριοι ευχαριστώ για το tip! Αν θες να παίξεις με την AppleScript τότε συνέχισε!

Λοιπόν ήθελα το εξής απλό πράγμα- κάθε φορά που ξεκινάω τον iMac μου, και το NAS Maxtor μου φυσικά είναι ανοιχτό - να γίνεται automount στο σύστημα έτσι ώστε να μην έχει προβλήματα το iTunes μιας και εκεί έχω το library καθώς και άλλες εφαρμογές!

Το έψαξα λίγο και κατέληξα στο πρώτο μου AppleScript με πράγματα που είδα εδώ και εκεί - σίγουρα θα υπάρχει και πιο elegant τρόπος αλλά εγω πραγματικά σε 2 λεπτά έκανα αυτό που ήθελα!

1. Καλό είναι αν εχεις network attached δίσκο (ους) να τους δίνει static IP στο router σου!
Για παράδειγμα ο δικός μου ακούει στην 192.168.1.35. Ο συγκεκριμένος κάνει χρήση Windows σχετικη τεχνολογία - οπότε όταν θέλω να τον κάνω mount χειροκίνητα χρησιμοποιώ Samba (smb) απο το MacOSX. Δηλαδή Go -> Connect to Server -> smb://192.168.1.35/Public/. Υπάρχει περίπτωση ο δικός σου να χρησιμοποιεί κάτι άλλο (unix κτλ κτλ) οπότε αλλάζει το smb:// στο αντίστοιχο πχ afp:// cifs:// κτλ κτλ.

2.Ξεκίνα το Apple Script Editor . Στο Spotlight δώσε Script Editor και θα σου εμφανιστεί!
3. Γράψε το Script!


tell application "Finder"
open location "smb://192.168.1.35/Public/"
end tell
delay 2
tell application "Finder"
close every window
end tell


Στο πρώτο tell, του λέω απλά να κάνει mount! Μετά βλεπεις αυτο το παράξενο delay και στην συνέχεια του 'λέω' να κλέισει τα παράθυρα Finder ανοιχτά! Λοιπόν να εξηγήσω λίγο το delay! Ήταν το πιο ευκολο που μπορούσα να σκεφτώ μιας και δεν ξέρω AppleScript έτσι ώστε να αντιμετωπίσω το εξης πρόβλημα! Εγώ θέλω αυτο να εκτελέιται κατα την εκκίνηση. Ολα καλά! Το θέμα ειναι ότι μόλις κάνει mount το network share μένει ανοιχτό ένα παράθυρο Finder! Ε , εμένα μου την έσπαγε αυτό. Δοκίμασα διάφορα με τα λίγα που ξέρω και κατέληξα στην λύση του να πω στο script να περιμένει λίγο (το τεσταρα για να δω πόσο κάνει το mount) και μετά το όριο να κλείσει τους Finder. Αν κάποιος πει, μα καλά γιατί βάζεις delay..γιατί χωρίς delay το script εκτελεί αμέσως το close αλλά το mount αργεί λίγο οπότε δεν προλαβαίνει να εμφανίσει παράθυρο. Αν κάποιος απο εσάς έχει μια πιο elegant λύση παρακαλώ πείτε μου - μιας και είμαι AppleScript Newbie!

4. Σώσε την εφαρμογή ως Application. Από File Save As..Επιλέγουμε Application και έχουμε chek-αρισμένο το Run Only και ΤΙΠΟΤΑ ΑΛΛΟ!Δες φωτό!

5. Δήλωσε την ως Login Item. Το μόνο που έχεις να κάνεις τώρα είναι να ανοίξεις το System Preferences να πας στο Login Items και να το δηλώσεις στις εφαρμογές που θες να τρέξουν κατα την εκκίνηση!



6. Είσαι έτοιμος! Την επόμενη φορά που θα κάνεις log-off ή restart το automount θα γίνει αυτόματα και ο Finder θα εξαφανιστεί μέσα σε μία ανάσα!!!!

Βρήκα πληροφορίες και κομμάτια AppleScript απο το thread αυτό. Εκεί θα βρείς και παραδείγματα της εντολής σε περίπτωση που θες να βάζεις username και password στα mount points!

Αν νομίζεις ότι υπάρχει κάτι πιο εύκολο ή καλύτερο μην διστάσεις να αφήσεις ένα comment! Respect!

6 comments:

  1. Για UNIX/Linux με NFS μπορεί να γίνει χρήση του autofs (μιας και το OS X) είναι πλέον UNIX certified :)

    Πας στο Directory Utility, στο mounts και ορίζεις remote NFS share και τοπικό mount point.

    ReplyDelete
  2. ΟΚ λοιπόν, commentάρω. Κι αν απλώς πάρεις τον mounted volume και τον ρίξεις πάνω στα Login Items, δεν θα έχεις ακριβώς την ίδια λειτουργία;

    Υπάρχουν και πιο hardcore καταστάσεις, με πείραγμα του NetInfo έτσι ώστε να φορτώνει ο δικτυακός δίσκος στο startup του MacOS και όχι του χρήστη, ή με login hooks (δεν ξέρω αν δουλεύει στο Leopard, δεν το έχω κοιτάξει ακόμα τόσο διεξοδικά).
    Ρίξε μια ματιά στο site της μαμάς για μια (hardcore) εισαγωγή και μετά πέρνα βόλτα από το macosxhints.
    Τα πάντα γίνονται. UNIX rules as always.

    ReplyDelete
  3. Γιώργο έχεις δίκιο, εγώ έχω απλώς βάλει το mounted volume στο login items και καθε φορά κάνει αυτόματα mount τους network δίσκους μου.

    ReplyDelete
  4. κυριοι σας ευχαριστώ για τα comment, ομολογώ δεν το ήξερα το κόλπο με το να ρίξεις το mounted volume στο Login item!

    θα βάλω update στο post!

    ReplyDelete
  5. Καλησπέρα παιδάκια!

    Επειδή έχω ακριβώς το ίδιο πρόβλημα, δοκίμασα όλο το παραπάνω! Έχω όμως και μια ιδιαιτερότητα, το NAS μου, το έχω στο δωμάτιο μου και πολλές φορές τα βράδια τον κλείνω, καθότι είναι περισσότερο για ατομική χρήση και λιγότερο για «οικογενειακή». Τον ανοίγω το πρωί πάλι πριν φύγω δουλειά. Οπότε είναι φορές που ο iMac είναι ανοιχτός αλλά απουσιάζουν (προκλητικά) το iTunes Library και τα υπόλοιπα shares (μέσω AFP) του NAS.

    1) Η λύση με το NAS automount (/etc/fstab is the right way to do this) «κολλάει» τραγικά στο boot αν δεν βρει remote mount στο predefined IP.

    2) Η λύση με το login item, έχει κι αυτή τεράστιο θέμα στην περίπτωση μου.

    3) Η manual προσέγγιση μου σπάει τα νεύρα και δημιουργεί προβλήματα στο iTunes.

    Την λύση την βρήκα σε ένα payware (αγόρασα και license σαν καλό παιδί της apple) που ονομάζεται bonjour mounter. Μόλις σηκωθεί ο ReadyNAS NV+ γίνεται αυτόματα mount στον iMac και τουμπαλίν. Οπότε no prob...

    Είναι ο μόνος flawless τρόπος που έχω βρει. 15 USD αλλά τι είναι 15 USD αν σου δίνει piece of mind?

    :-)

    ReplyDelete
  6. Να σημειώσω ότι το fstab ΔΕΝ είναι σωστός τρόπος να κάνεις κάτι τέτοιο. Το γράφει άλλωστε φαρδιά-πλατιά στο comment του.

    ReplyDelete