8 votes

Synchronisation des préférences d'applications entre plusieurs Macs

J'ai tendance à garder toutes mes affaires dans Dropbox. Maintenant que j'ai acheté un deuxième Mac, je me suis dit que conserver également mes préférences d'applications dans Dropbox aurait été une bonne idée.

J'ai réussi à synchroniser certains des Soutien aux applications (je veux juste que les applications les plus importantes soient synchronisées) en reliant simplement le dossier partagé sur Dropbox au lien sur les Macs :

ln -s ~/Dropbox/SharedPrefs/AnApp ~/Library/Application Support/AnApp

De cette façon, je m'assure que chaque construction de Sublime Text 2 que je crée sur un Mac sera synchronisée sur l'autre Mac.

Mais j'ai des problèmes de synchronisation. .plist des fichiers. J'ai fait exactement la même chose que ci-dessus (l'exemple est pour l'iTerm 2) :

mv ~/Library/Preferences/com.googlecode.iterm2.plist ~/Dropbox/SharedPrefs/
ln -s ~/Dropbox/SharedPrefs/com.googlecode.iterm2.plist ~/Library/Preferences/com.googlecode.iterm2.plist

Donc maintenant j'ai le véritable physique .plist sur Dropbox, et un lien de remplacement sur le Mac.

Mais cela ne semble pas fonctionner : lorsque je quitte et rouvre iTerm (ou toute autre application), il n'est pas en mesure d'utiliser le lien symbolique pour accéder aux préférences sur Dropbox.

Que dois-je faire ?

J'apprécierai tous les conseils sur la façon de synchroniser les préférences des applications entre deux Macs ; j'utilise la ligne de commande parce que j'y suis habitué, mais un utilitaire graphique est également acceptable. De même, un utilitaire qui ne synchronise pas seulement le fichier Soutien aux applications mais aussi le dossier .plists et d'autres trucs partagés, ce serait génial !

9voto

Kevin Ortman Points 206

Ouvrez les préférences et cochez la case marquée "Charger les préférences à partir d'un dossier client ou d'une URL"".

Vous pouvez naviguer jusqu'à votre dossier Dropbox et cliquer sur "Enregistrer les paramètres dans un dossier"

example

3voto

Mikel Manitius Points 31

Confirmant que La réponse de Kevin ci-dessus fonctionne également via la synchronisation iCloud Drive dans High Sierra.

J'ai fait ce qui suit :

  1. Créez un dossier appelé "Sync" directement dans iCloud Drive (en tant que frère ou sœur de Documents)
  2. Créer un autre dossier appelé iTerm2 dans Sync (je vais probablement faire cela avec d'autres applications, d'où la structure du dossier).
  3. Dirigez-y iTerm2 via ses Préférences. Il vous demandera si vous voulez placer une copie actuelle du fichier plist à cet endroit.
  4. Répétez l'étape 3 sur tous les autres systèmes où vous voulez utiliser iTerm2.

Notez qu'il peut y avoir une certaine latence avec la synchronisation d'iCloud Drive, mais cela fonctionne.

1voto

Brethil Points 647

Vous pourriez configurer un élément d'action de dossier qui surveille les dossiers pertinents et exécute un Applescript qui copie les fichiers de préférence pertinents dans le dossier Dropbox lorsque le dossier change.

Une autre approche (similaire) serait d'écrire un agent de lancement :

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>Label</key>
     <string>com.yourname.yourapp</string>
     <key>Program</key>
     <string>/Users/yourname/path/to/your/script</string>
     <key>ProgramArguments</key>
     <array>
         <string>script</string>
     </array>
     <key>WatchPaths</key>
     <array>
         <string>/path/to/preferencefile1.plist</string>
         <string>/path/to/preferencefile2.plist</string>
     </array>
 </dict>
 </plist>

Enregistrez ce fichier comme un fichier com.yourname.yourapp.plist puis copiez-le dans ~/Bibliothèque/LaunchAgents/. Chargez-le dans launchd en utilisant

launchctl load ~/Library/LaunchAgents/com.yourname.yourapp.plist

s launchctl start com.yourname.yourapp

Maintenant l'agent launchd exécutera le script /Users/yourname/path/to/your/script chaque fois que "preferencefile1.plist", "preferencefile2.plist", etc, seront modifiés.

Par exemple, "script" pourrait être quelque chose qui copie les fichiers de préférences dans le dossier Dropbox.

Un autre agent de lancement doit être configuré sur l'autre machine pour surveiller les fichiers du dossier Dropbox et les copier à l'emplacement correct lorsqu'ils changent.

0voto

user81635 Points 101

Une autre méthode, qui serait utile pour d'autres types de fichiers ou d'autres programmes, consiste à utiliser des liens durs au lieu de liens symboliques. Utilisez "ln" au lieu de "ln -s". Attention - un lien dur est très différent d'un lien symbolique. Un lien symbolique est juste un pointeur vers le fichier. Vous pouvez supprimer le lien et le fichier n'est pas touché. Un lien dur est une entrée dupliquée pour le fichier dans le répertoire du disque. C'est comme si le fichier se trouvait à deux endroits à la fois. Un programme ne peut pas faire la différence entre les deux. Si vous supprimez le lien, vous supprimez le fichier lui-même. Ces deux fichiers sont tellement différents qu'il n'aurait probablement pas fallu utiliser le même nom pour les deux.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X