Come posso mantenere le impostazioni coerenti tra i Mac?

6

Uso più Mac (OS X Lion). Ci sono molte impostazioni, app e file che vorrei mantenere sincronizzati tra loro. I file sono i più facili del lotto: i link simbolici Dropbox +, i repository Mercurial e i manifesti Puppet standalone sono tutti strumenti ben compresi e semplici. Le app sono leggermente più difficili, ma sto sperimentando Puppet + PackageMaker + Dropbox per raggiungere questo obiettivo.

Questo ci porta alle impostazioni. Questi sono anche i più odiosi da quando ho impostato alcune piccole cose sul mio iMac, prontamente dimenticato, poi riscoprivo il fastidio sul mio MacBook un paio di settimane più tardi e devo sfogliare Google per capire cosa ho fatto per sistemarlo la prima volta. / p>

Ho scoperto il comando "default" oggi e l'ho esplorato, ma mi stavo chiedendo come gli altri risolveranno tutto questo?

Per "impostazioni" intendo le configurazioni a livello di sistema operativo come modificare il numero di spazi che hai, impostare hot corner, modificare il comportamento del mouse, ecc. La configurazione a livello di app sarebbe ottima, ma sto assumendo molte app diverse fanno questo diversi modi. Oh, quanto mi manca il vero Unix ei suoi file di configurazione flat ...

    
posta sh-beta 11.11.2011 - 22:15
fonte

3 risposte

11

Non esiste una risposta adatta a tutte le dimensioni, ma posso pensare a quattro modi per portare a termine il tuo compito se ti preoccupi di dedicare un po 'di tempo alla configurazione.

I Mac sono unix, quindi è sufficiente controllare ~ / Library / Preferences e / Library / Preferences in una sorta di sistema di controllo del codice. Puoi quindi fare diff e la maggior parte dei plists sono di testo o convertiti facilmente in testo (usando PlistBuddy ) in modo da poter isolare esattamente ciò che hai cambiato.

Sono disponibili numerosi tutorial: Il wiki di Penn sui file Manipulating Plist è particolarmente carino e diretto alle persone con unix abilità.

Ci sono molti software Managed System come Apple Remote Desktop o altri come Casper se desideri ottenere software progettato in modo esplicito per gestire le preferenze dell'utente.

Gli account server sarebbero facili da configurare a un costo minimo se si dispone di una macchina di riserva (o di una macchina virtuale). Ancora: alcuni funzionano, ma gli account per dispositivi mobili funzionano bene per molte persone.

Infine, non trascurare semplicemente la migrazione dell'account utente dal mac che è corretto per l'altro mac periodicamente e basta creare un sistema in cui sei disciplinato su come registrare le volte che si modifica un'impostazione.

    
risposta data 11.11.2011 - 22:35
fonte
5

1) Per la maggior parte delle applicazioni OS X, le impostazioni sono mantenute in ~ / Library / Application Support / e ~ / Library / Preferences /

In Terminal.app:

cd ~/Library/Preferences/

plutil -convert xml1  *.plist

Quindi apri uno qualsiasi dei file plist in un editor di testo.

Oppure, se l'editor di testo che preferisci è BBEdit, apri i file plist usando il comando bbedit , che converte automaticamente in XML.

In alternativa, usa defaults read su uno di questi file plist - lascia semplicemente .plist. Ad esempio, se vuoi leggere com.apple.dock.plist utilizzare defaults read com.apple.dock

2) Il comando defaults è tuo amico.

Ho configurato una funzione che registrerà tutto il defaults write che faccio:

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

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

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

    fi

    /usr/bin/defaults $@
}

In questo modo ho una registrazione di tutte le mie modifiche apportate sulla riga di comando.

Ma, naturalmente, ci sono lotti di questi tipi di modifiche che non eseguo sulla riga di comando, ma eseguo tramite le Preferenze di Sistema o le preferenze delle singole app.

Alcuni di questi sono anche cambiamenti a livello di sistema che vengono memorizzati in / Libreria / Supporto applicazione / o / Libreria / Preferenze /

3) Controlla anche i comandi networksetup e systemsetup .

    
risposta data 12.11.2011 - 04:53
fonte
3

Concorda con bmike che non esiste una soluzione adatta a tutte le dimensioni, a parte la migrazione dell'account utente o la clonazione di un'unità nell'altra periodicamente.

Consiglierei di provare qualcosa come SpiderOak per sincronizzare le directory. Ti permette di scegliere quali directory sulla macchina vuoi eseguire il backup e la sincronizzazione, piuttosto che dare una posizione predefinita per mettere i tuoi file come Dropbox. Niente più problemi con i collegamenti simbolici.

Dovresti essere in grado di sincronizzare la maggior parte delle app Mac sincronizzando la cartella / Applicazioni tra le macchine. Molte delle impostazioni dell'applicazione risiedono in ~ / Library e / Library. Probabilmente vorrai sincronizzare la tua cartella home e qualsiasi altra cartella in cui archivi i file di dati.

Ho questo set up per la mia cartella home e grossi pezzi del mio ~ / Library e / Library su due delle mie macchine. Non ho mai provato la sincronizzazione / Applicazioni, ma in teoria dovrebbe funzionare.

Per quanto riguarda le impostazioni che hai applicato tramite la riga di comando, ti suggerisco di scrivere uno script di shell che risiede in una di queste cartelle sincronizzate e di impostare entrambe le macchine per eseguirlo periodicamente, tramite cron o qualche altra utility.

Ogni volta che trovi una nuova impostazione da riga di comando che ti piace, aggiungila allo script della shell. I contenuti dello script verranno sincronizzati tra le 2 macchine e poiché vengono eseguiti periodicamente, aggiornerà le impostazioni su entrambe le macchine.

Questo non è al 100%, ma mi fa abbastanza lontano da gestire manualmente il resto delle cose non è così doloroso.

    
risposta data 12.11.2011 - 03:52
fonte

Leggi altre domande sui tag