TL; DR
Utilisez AppleScript, mais ne spécifiez pas le nom d'utilisateur ou le mot de passe .
Contexte
Dans mon cas, aucune des suggestions que j'ai trouvées en ligne n'a parfaitement fonctionné.
J'avais plusieurs volumes AFP que je voulais monter automatiquement. En suivant les conseils donnés ici et ailleurs, la solution évidente semblait être un fichier AppleScript avec quelque chose du genre:
tell application "Finder"
try
mount volume "afp://user@server/a"
mount volume "afp://user@server/b"
mount volume "afp://user@server/c"
end try
end tell
Maintenant, cela fonctionne presque . Du point de vue du Finder, il semble que tous les volumes soient correctement montés. Cependant, si vous utilisez le terminal, vous pouvez voir le problème. Les événements suivants se sont produits:
Les volumes sont montés sur des répertoires /Volumes/a
, /Volumes/b-1
et /Volumes/c-1
.
Il y a des répertoires vides /Volumes/b
et /Volumes/c
.
Que vous vous en souciez dépend de votre utilisation prévue, mais j'avais besoin d'une solution dans laquelle les chemins du système de fichiers sont plus prévisibles.
Après avoir passé beaucoup de temps à jouer avec toutes les variantes de cela, il semble que la chose cruciale soit la suivante: si vous spécifiez le nom d'utilisateur et que vous avez déjà monté certains volumes à partir du même serveur AFP, les choses vont mal.
D'où la solution suivante.
Solution
Assurez-vous que tout fonctionne correctement lorsque vous utilisez le Finder: vous pouvez monter des volumes en cliquant sur le partage et vous n'avez pas besoin de saisir de mot de passe. Si le Finder demande un nom d'utilisateur et un mot de passe, dites-lui de se souvenir du mot de passe.
Créez une application AppleScript comme suit. Ouvrez l'éditeur AppleScript. Écrivez un morceau de code comme celui-ci:
tell application "Finder"
try
mount volume "afp://server/a"
mount volume "afp://server/b"
mount volume "afp://server/c"
end try
end tell
Ici, "serveur" est le nom d'hôte du serveur (si le Finder affiche le nom de serveur "x", vous pouvez essayer d'utiliser le nom d'hôte "x.local"). Remplacez "a", "b" et "c" par les noms des volumes que vous souhaitez monter. Assurez-vous que vous n'essayez pas de spécifier des noms d'utilisateur ou des mots de passe. Compilez-le et enregistrez-le en utilisant le format de fichier "Application" (vous obtiendrez automatiquement l'extension de nom de fichier ".app").
Testez-le en exécutant l'application que vous venez de créer. Très probablement, il demande le nom d'utilisateur et le mot de passe; entrez-les et dites-lui à nouveau de se souvenir du mot de passe.
Démontez (à l'aide du Finder) et réessayez. Ça devrait marcher, sans rien demander. Les chemins doivent être corrects (pas de -1
suffixes).
Ajoutez l'application à vos éléments de connexion (Préférences Système; Utilisateurs et groupes).