NUNCA manipule directamente ninguno de los archivos en ~ / Biblioteca / Preferencias. Todas las preferencias se administran mediante un proceso en segundo plano llamado cfprefsd (abreviatura de Core Foundation PREFerences Daemon), que absorbe y almacena en la memoria RAM los archivos en ~ / Library / Preferences. Solía ser que a menudo se salía con la suya manipulando los archivos de preferencias detrás de la espalda de cfprefsd , por así decirlo, pero cfprefsd se ha vuelto muy agresivo acerca de cuánto almacena en caché .
En lugar de editar uno de estos archivos, pida una copia a cfprefsd , edite la copia y luego envíe el contenido de la copia a cfprefsd . Su interfaz para cfprefsd es el comando de shell por defecto .
Por ejemplo, para editar las preferencias para el dominio com.apple.sidebarlists :
defaults read com.apple.sidebarlists > ~/Desktop/sidebarlists.txt
... edit sidebarlists.txt to your heart's content
defaults write com.apple.sidebarlist "$(cat ~/Desktop/sidebarlist.txt)"
Necesitará que Finder esté al tanto de los cambios, así que agregue
osascript -e 'tell application "Finder" to quit'
sleep 0.2 # not always necessary
osascript -e 'tell application "Finder" to activate'
Recuerda jugar bien con otros programas. Matar no es bueno, así que no mates nada (especialmente no cfprefsd ) que no necesites matar por completo. No se dé la vuelta con la tienda persistente de otro programa mientras se está ejecutando. En particular, dado que cfprefsd siempre se está ejecutando, NUNCA modifique directamente el contenido de ~ / Library / Preferences / *.
Si necesita eliminar un archivo de preferencias, la forma correcta es con:
defaults delete its.domain.name
Deje que cfprefsd se preocupe por deshacerse del archivo (o, como es habitual en la actualidad, reescribir un archivo esencialmente vacío encima de él).
El nombre de archivo ~ / Desktop / sidbarlist.txt es, por supuesto, solo un ejemplo. Use una extensión .plist en lugar de .txt si lo prefiere. El archivo estará en formato Plist de texto NextStep.
Si prefiere algún otro formato de lista de propiedades, use pllist -convert ...
. O deje que el comando defaults lo escriba como un archivo .plist en un formato de su elección con
defaults write ~/Desktop/sidebarlists "$(defaults read com.apple.sidebarlists)"
... edit the file ...
defaults write com.apple.sidebarlists "$(defaults read ~/Desktop/sidebarlists)"
Pero lo importante es que guarde su copia, la que edite o manipule, fuera de ~ / Biblioteca / Preferencias. Deje que defaults se preocupe por comunicarse con cfprefsd , y deje que cfprefsd se preocupe por manipular ~ / Library / Preferences.