web-dev-qa-db-fra.com

Comment ai-je un montage de partage de réseau dans Mac OS X persist entre Redémarrage

Je me connecte actuellement à une action Windows (SMB) via le Finder -> Go -> Connectez-vous au serveur. Je dois taper la propriété intellectuelle (bien que j'ai enregistré les informations d'identification dans mon porte-clés). Si je redémarre ou déconnectez-vous, je dois le faire à nouveau.

Je voudrais le SMB Partager, je me connecte à toujours être disponible dès que je me connecter. Comment puis-je accomplir cela?

6
mindless.panda

Aperçu:

Créez un agent de lanceur (un script Bash dans ce cas) pour nous monter toutes les actions que nous aimons toutes les deux minutes. Ce n'est pas parfait mais ça marche. Ceci est destiné aux actions Samba, mais vous pouvez la modifier pour effectuer d'autres types.

Fabriqué avec de l'aide de Dave Nicoll's sur le partage des bibliothèques Windows/X iTunes.

J'utilise la carte sans fil de ma portable pour déterminer si je suis connecté à mon SSID à la maison. Vous pouvez bien sûr utiliser tout ce que vous souhaitez pour une exécution conditionnelle.

Si vous allez utiliser SSID comme condition pour le montage, vous pouvez le trouver bénifial à alias l'utilitaire de l'aéroport qui navère avec OS X à votre/usr/bin /. S'il ne saute pas à la section suivante.

Ouvrir Terminal et exécuter:

Sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport
airport -I | grep '.* SSID:' | sed 's/^.* SSID: //'

Le scénario:

Mes conditionnels vérifient

  1. La part n'est pas déjà montée (ligne 1-4)
  2. Le SSID de notre réseau de cartes de l'aéroport n'est pas NULL (ligne 5-8)
  3. Que notre SSID doit être égal à un SSID pré-défini, dans mon cas "2600leagues" (ligne 9)

Ouvrez votre éditeur de texte préféré et lancez un nouveau fichier, j'ai appelé Mine MountaShares.sh

if [ -d '/Users/kyle/Music/iTunes/Podcasts/' ]; then
        #echo Nothing to do, share is mounted
        exit
else 
    if [ -z `airport -I | grep '.* SSID:' | sed 's/^.* SSID: //'` ]; then
       #echo SSID is Null, we're not connected with the Airport to any Network.
        exit
    else 
        if [ `airport -I | grep '.* SSID:' | sed 's/^.* SSID: //'` == "2600leagues" ]; then
            #echo SSID is 2600leagues!
            /sbin/mount -o nodev,nosuid -t smbfs '//Kyle:[email protected]/media/Music' '/Users/kyle/Music/'
        fi
    fi
fi

Ensuite, nous devons éditer la ligne 11 pour représenter vos besoins spécifiques. Vous n'avez besoin que de modifier le Bold Pièces:

/ SBIN/MOUNT -OOD NODEV, NOSUID -T SMBFS '// utilisateur: mot de passe @ Serverip_or_name/Partager ' '/Où/vous/voulez/it_to_mount/ '

exemple:

/sbin/mount -o nodev,nosuid -t smbfs '//Kyle:[email protected]/media/Music' '/Users/kyle/Music/'

Maintenant que nous avons notre commande de montage modifié, essayez de l'exécuter dans le terminal . Si cela réussit, votre part devrait être disponible à l'emplacement du mont. (dans mon exemple /Users/kyle/Music/)

Modifier le Line 1 du script Bash pour refléter un fichier ou un répertoire à l'intérieur du partage monté. Si vous allez utiliser le SSID comme condition que j'ai, vous voudrez changer Line 5 en remplaçant 2600leagues Avec votre SSID.

Enregistrez le script Bash dans un endroit pratique. (J'utilise ~/Library/Scripts/NetworkMounts/MountShares.sh)

Vous devez maintenant faire exécuter le script Bash, nous utilisons chmod pour le faire.

Dans Terminal :

chmod 777 ~/Library/Scripts/NetworkMounts/MountShares.sh

Si le partage réseau est toujours monté, assurez-vous de la démonter/l'éjecter maintenant. ( FINDER fonctionne)

Essayez d'exécuter le script via Terminal :

~/Library/Scripts/NetworkMounts/MountShares.sh

Si tout va bien, votre part devrait être montée. Maintenant, tout ce qui reste à faire est de le faire, afin que le script fonctionne de temps en temps. Normalement, vous utiliseriez crontab pour ce genre de chose, mais 10.6 l'a déchargée. Apple = préféreriez que vous utilisiez leur service Launkd .

Faire le Launchd Agent

Pour vous aider à faire un agent de lancement de Laundd . LINGON de Sourceforge.

  1. Lingon ouvert
  2. Créer un nouvel agent utilisateur (mon agent)
  3. Donnez-lui un nom tel que com.kyle.mounttshares
  4. Choisissez ou tapez le chemin d'accès au script Bash ~/Library/Scripts/NetworkMounts/MountShares.sh
  5. Spécifiez quand vous souhaitez qu'il fonctionne. (J'ai exécuter quand il est chargé par le système et * exécutez-le tous 10 minutes)
  6. Sauvegarde le
  7. Sortie lingon

C'est ça

Laissez-moi savoir si cela aide; J'ai tapé tout cela aussi vite que possible.

4
Kyle Fring

Avec Auto_FS, Auto_Master, etc., essayez d'avoir une lecture de Autofs: montage automatique des actions de fichier réseau dans Mac OS X (PDF) . C'est un peu daté de (2009), mais en utilisant les exemples de la doc, j'ai eu toutes mes actions NFS & SMB partage organisée et montage automatique facilement.

3
Mark

Il y a quelques solutions ici , le plus simple dont je republierai ci-dessous:

D'un terminal:

Sudo vifs

Si ce n'est pas le familier avec vi: hit 'i' pour insertion (mode édition), puis coller ceci sur une nouvelle ligne:

smbserver:/share /Volumes/mount_point url automounted,soft,url==cifs://user:pass@smbserver/share

Hit Esc puis zz pour enregistrer et quitter.

Enfin:

Sudo automount -vc

Maintenant, lorsque vous frappez /Volumes/mount_point Dans la console/Finder/WhatNot, la part sera automatiquement mappée.

0