9 votes

Comment faire pour que les paramètres restent cohérents entre les Macs ?

J'utilise plusieurs Macs (OS X Lion). Il y a beaucoup de paramètres, d'applications et de fichiers que j'aimerais synchroniser entre eux. Les fichiers sont les plus faciles -- Dropbox + symlinks, dépôts Mercurial, et manifestes Puppet autonomes sont tous des outils simples et bien compris. Les applications sont un peu plus difficiles, mais j'expérimente actuellement Puppet + PackageMaker + Dropbox pour atteindre cet objectif.

Cela nous amène aux paramètres. Ce sont aussi les plus désagréables, car je règle un petit truc sur mon iMac, je l'oublie rapidement, puis je redécouvre le problème sur mon MacBook quelques semaines plus tard et je dois passer au peigne fin Google pour retrouver ce que j'avais fait pour le régler la première fois.

J'ai découvert la commande "defaults" aujourd'hui et je l'ai explorée, mais je me demandais comment les autres résolvent ce problème ?


Par "paramètres", j'entends les configurations au niveau du système d'exploitation, comme la modification du nombre d'espaces dont vous disposez, le réglage des coins chauds, la modification du comportement de la souris, etc. La configuration au niveau de l'application serait aussi très bien, mais je suppose que beaucoup d'applications différentes font cela de différentes manières. Oh, comme le vrai Unix et ses fichiers de configuration plats me manquent...

0 votes

Une question concernant votre cas particulier d'utilisation de Dropbox + liens symboliques : avez-vous vos fichiers réels dans le dossier Dropbox et des liens symboliques vers eux, ou avez-vous des liens symboliques de votre dossier Dropbox vers d'autres endroits ?

0 votes

@julien_c fichiers réels dans Dropbox. Je me souviens vaguement que l'autre méthode ne fonctionne pas, mais je peux me tromper complètement.

0 votes

Apparemment, parfois cela fonctionne... parfois non. Merci !

12voto

Oskar Points 1242

Il n'y a pas vraiment de réponse unique, mais je peux penser à quatre façons d'accomplir votre tâche si vous prenez le temps de la mettre en place.


Les Macs sont des Unix, il suffit donc de vérifier dans votre ~/Library/Preferences and /Library/Preferences dans une sorte de système de contrôle du code. Vous pouvez alors faire des diffs et la plupart des plists sont des textes ou sont facilement converties en texte (en utilisant la fonction PlistBuddy ) afin que vous puissiez isoler exactement ce que vous avez modifié.

De nombreux tutoriels sont disponibles - Penn's wiki sur la manipulation des fichiers Plist est particulièrement agréable et s'adresse aux personnes ayant des compétences Unix.


Il existe de nombreux logiciels de gestion de système comme Apple Remote Desktop ou d'autres comme Casper si vous souhaitez obtenir un logiciel conçu explicitement pour gérer les préférences des utilisateurs.


Les comptes de serveur seraient faciles à mettre en place pour un coût minime si vous disposez d'une machine (ou d'une machine virtuelle) de rechange. Encore une fois - certains travaillent, mais les comptes mobiles fonctionnent bien pour de nombreuses personnes.


Enfin, n'oubliez pas de migrer périodiquement le compte utilisateur du mac qui est correct vers l'autre mac et de mettre en place un système où vous êtes discipliné sur la façon dont vous enregistrez les fois où vous modifiez un paramètre.

6voto

moodforaday Points 2633

1) Pour la plupart des applications OS X, les paramètres sont conservés dans l'application ~/Bibliothèque/Application Support/ y ~/Bibliothèque/Préférences/

Dans Terminal.app :

cd ~/Library/Preferences/

plutil -convert xml1  *.plist

Et ensuite, ouvrez n'importe lequel des fichiers plist dans un éditeur de texte.

Ou, si votre éditeur de texte de prédilection est BBEdit, ouvrez simplement les fichiers plist à l'aide de la commande bbedit qui les convertit automatiquement en XML.

Ou bien, utilisez simplement defaults read sur n'importe lequel de ces fichiers plist - il suffit d'enlever le .plist. Par exemple, si vous voulez lire com.apple.dock.plist utiliser defaults read com.apple.dock

2) Le defaults La commande est votre amie.

J'ai mis en place une fonction qui va enregistrer toutes les defaults write que je fais :

defaults ()
{
    if [ "$1" = "write" ]
    then

        LOG="$HOME/Dropbox/dwrites.txt"

        echo "default $@" >>| "$LOG" && echo "[logged defaults change to $LOG]"

    fi

    /usr/bin/defaults $@
}

De cette façon, j'ai une trace de toutes les modifications que je fais en ligne de commande.

Mais, bien sûr, il y a lots Il s'agit de ce genre de modifications que je ne fais pas en ligne de commande, mais par le biais des préférences système ou des préférences des applications individuelles.

Quelques-uns de ces changements sont même des changements de niveau système qui sont stockés dans /Bibliothèque/Application Support/ ou /Bibliothèque/Préférences/

3) Vérifiez également le networksetup y systemsetup des commandes.

3voto

Boro Points 496

Je suis d'accord avec bmike sur le fait qu'il n'y a pas vraiment de solution unique à part la migration du compte utilisateur ou le clonage périodique d'un disque vers l'autre.

Je vous recommande de vérifier quelque chose comme SpiderOak pour la synchronisation des répertoires. Il vous permet de choisir les répertoires de la machine que vous voulez sauvegarder et synchroniser, plutôt que de donner un endroit prédéfini pour mettre vos fichiers comme Dropbox. Plus besoin de s'embrouiller avec des liens symboliques.

Vous devriez pouvoir synchroniser la plupart des applications Mac en synchronisant le dossier /Applications entre les machines. La plupart des paramètres de vos applications se trouvent dans ~/Library et /Library. Vous voudrez probablement synchroniser également votre dossier personnel et tout autre dossier dans lequel vous stockez des fichiers de données.

J'ai mis en place cette configuration pour mon dossier personnel et de grandes parties de ma ~/Bibliothèque et /Bibliothèque sur deux de mes machines. Je n'ai jamais essayé de synchroniser /Applications, mais en théorie, cela devrait fonctionner.

En ce qui concerne les paramètres que vous avez appliqués via la ligne de commande, je suggère d'écrire un shell script qui réside dans l'un de ces dossiers synchronisés, et de configurer vos deux machines pour qu'elles l'exécutent périodiquement, via cron ou un autre utilitaire.

Chaque fois que vous trouvez un nouveau paramètre de ligne de commande qui vous plaît, ajoutez-le au shell script. Le contenu du script se synchronisera sur les 2 machines et comme ils sont tous deux exécutés périodiquement, il mettra à jour les paramètres sur les deux machines.

Ce n'est pas tout, mais cela me permet d'aller suffisamment loin pour que la gestion manuelle du reste ne soit pas trop pénible.

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