Come posso determinare le modifiche di plist durante la modifica delle Preferenze di sistema per automatizzarle la prossima volta?

2

Sto cercando di automatizzare il più possibile il processo di creazione di un nuovo laptop. Ci sono alcuni cambiamenti che finisco sempre per fare manualmente su un nuovo Mac, come abilitare lo zoom dello schermo con il modificatore Ctrl e impostare le scorciatoie da tastiera per mappare ⌘⌥ ← a "Seleziona scheda precedente" in tutte le applicazioni. Sono sicuro che c'è un preferences.write equivalente a farlo, ma accidenti, non ho idea di come determinare cosa sia. Posso in qualche modo monitorare o "diff" le mie preferenze dopo aver effettuato la modifica manualmente, forse?

    
posta Alan H. 19.09.2018 - 05:49
fonte

2 risposte

1

Apple memorizza le preferenze più rilevanti in un database ora, quindi la soluzione migliore è ignorare i file plist sul file system e concentrarsi sull'output di defaults read com.apple.whatever per le cose che si modificano. Sfortunatamente, non esiste una buona Rosetta Stone che dice che se si preferisce X - cerca le modifiche in questi sette domini di preferenza. Dove Apple memorizza iCloud o le informazioni di sicurezza non si associano a ciascuna icona visiva nelle preferenze di sistema quindi dovrai emettere più di un defaults read per acquisire l'intero stato della maggior parte dei riquadri delle preferenze poiché la maggior parte dei riquadri scrive su più di un dominio di impostazione .

In alternativa, puoi semplicemente utilizzare MDM e i profili di configurazione e gli script per apportare tutte le modifiche, in modo tale da spingere le modifiche a tutte le macchine dal tuo strumento di gestione e saltare interamente l'intero processo di reverse engineering.

In passato MCX era il percorso per la gestione delle configurazioni aziendali e questo equivale a voler vedere i file .plist che hanno archiviato queste impostazioni inizialmente all'alba di OS X, ma l'attuale sistema di profili di configurazione, modifiche programmate e gli hook MDM hanno lasciato MCX e .plist solo agli angoli polverosi che non sono stati aggiornati per il nuovo database centrale per memorizzare le impostazioni predefinite dell'utente e del sistema.

    
risposta data 27.09.2018 - 13:59
fonte
0

Se conosci il file che viene modificato, puoi confrontare l'output prima / dopo nel terminale per trovare il nome esatto dell'impostazione. Ad esempio:

/usr/libexec/PlistBuddy -c Print ~/Library/Preferences/.GlobalPreferences.plist > /tmp/before.txt

E, diff /tmp/before.txt /tmp/after.txt per vedere gli articoli che sono stati modificati. Ma fai attenzione, perché è probabile che la preferenza che stai cambiando sarà sepolta nella struttura gerarchica.

Se non conosci già il file che viene modificato, puoi monitorare la cartella Libreria / Preferenze con ls -lFat per vedere prima i file modificati più recenti elencati, e probabilmente puoi determinare quale file sei interessato da lì.

    
risposta data 27.09.2018 - 04:46
fonte

Leggi altre domande sui tag