24 votos

¿Hay alguna manera de guardar las preferencias de Mac OS X en un archivo shell?

Cada vez que reinstalo mi Mac OS y/o compro un nuevo Mac, tengo que configurar manualmente casi todas las opciones de ratón, dock, etc.

Me gustaría saber si Mac OS o algún software puede proporcionar alguna manera de guardar todas las configuraciones que establezco con la aplicación de Preferencias del Sistema en un archivo shell, creando algo como lo de Mathias Bynens https://github.com/mathiasbynens/dotfiles/blob/master/.MacOS

14voto

Shuft Puntos 420

Las preferencias del sistema parecen estar almacenadas en varios lugares, dependiendo de si son específicas del usuario o del sistema. Muchas de ellas se almacenan en /Library/Preferences/ o $HOME/Library/Preferences/ (para la configuración por usuario). Pero cada panel de preferencias tendrá su propia forma de almacenarlos.

Puedes ver qué preferencias se almacenan de esta manera escribiendo:

defaults read <domain>

Donde <domain> es el inicio del nombre del archivo en sus preferencias de sistema por usuario, o la ruta completa a un .plist archivo. Por ejemplo:

defaults read com.apple.screensaver
defaults read /Library/Preferences/com.apple.screensaver

El primero mostrará su personalización por usuario de la configuración del salvapantallas, mientras que el segundo mostrará la configuración del salvapantallas del sistema.

Los ajustes están organizados en gran medida por el panel de preferencias, aunque no son tan sencillos. Es probable que tenga que hurgar en /Library/Preferences y subcarpetas (especialmente SystemConfiguration ) para encontrarlos todos.

Una opción sería simplemente copiar los archivos pertinentes y volver a colocarlos para las nuevas instalaciones.

Otra forma sería exportarlo e importarlo según sea necesario.

Exportación de las preferencias del sistema de administración de energía (ahorro de energía) a pm.plist:

defaults export /Library/Preferences/SystemConfiguration/com.apple.PowerManagement pm.plist

Importar esas preferencias desde pm.plist en el nuevo ordenador:

defaults import /Library/Preferences/SystemConfiguration/com.apple.PowerManagement sysprefs.plist

Es posible que incluso quiera editar los diferentes .plist si hay preferencias específicas del sistema que quieres/no quieres compartir entre ordenadores. De esta manera, puedes tener alguna personalización localmente, y el import no sobreescribirá esos, sólo agregará los que haya establecido en el .plist archivos. Puede utilizar el defaults para modificar su propio .plist también (pero asegúrese de especificar la ruta completa del archivo, no sólo un nombre, o puede estar modificando sus preferencias por usuario).

1 votos

"com.apple.systempreferences" no contiene realmente ninguna preferencia para el Sistema. Contiene las preferencias para la aplicación de Preferencias del Sistema. Así que nada de la configuración real que usted hace con Las preferencias del sistema se almacenan en este archivo.

0 votos

@TonyWilliams, tienes razón, lo arreglaré...

10voto

Tony Williams Puntos 4903

Producir automáticamente un script para realizar todos los cambios necesarios es casi imposible. Los administradores de sistemas de Mac pasan muchas horas en bares oscuros bebiendo cerveza o bourbon e intercambiando trozos de estos archivos - somos reacios a compartir todo ese trabajo a menos que usted esté dispuesto a pagar la cuenta.

En realidad, la forma más fácil de capturar los cambios de configuración es utilizar el snapshotting.

Consigue una copia de InstallEase y haz un snapshot de tu nuevo Mac. Ahora haz toda la configuración que quieras y puedes tomar otra instantánea y construir un instalador que instale los archivos modificados en el nuevo Mac.

Por supuesto, pueden surgir complicaciones a la hora de aplicar los cambios a una nueva versión del sistema operativo, pero para eso nos bebemos el bourbon.

1 votos

¿Existe al menos alguna lista con las opciones del comando "defaults write"?

0 votos

No. El comando defaults puede escribir en cualquier archivo de preferencias del sistema, por lo que es imposible proporcionar una lista completa.

0 votos

Es una idea inteligente.

8voto

La última vez que hice una reinstalación limpia sólo copié todo el ~/Library/Preferences/ y no he tenido ningún problema por ello. Los ajustes de las versiones antiguas de las aplicaciones y los ajustes específicos de Mac deben ser ignorados. Casi no hay archivos en ~/Library/Preferences/ en una nueva instalación, y si elimina todos los archivos en ~/Library/Preferences/ Los archivos de preferencias se volverán a crear cuando se necesiten.

Los archivos de preferencias de las aplicaciones en el sandbox se almacenan ahora en ~/Library/Containers/ Pero no sé si copiarlo en otro Mac podría causar algún problema.

También puede utilizar simplemente Asistente de migración .

O si vas a la .osx se puede diferenciar la salida de defaults read :

  1. Ejecutar defaults read|awk 'length<200'>/tmp/a
  2. Cambiar algunos ajustes
  3. Ejecutar defaults read|awk 'length<200'>/tmp/b;diff /tmp/[ab]

Puede ejecutar sudo opensnoop o utilizar fseventer para ver qué archivos se modifican cuando se cambian las preferencias desde la GUI.

6voto

kim0 Puntos 391

Después de muchas horas buscando algo al menos útil para mi problema, encontré un sitio web llamado Secretos que proporciona un montón de comandos comunes de "escritura por defecto" de Mac OS.

De todos modos, gracias a Tony y a drfrogsplatless por darme aclaraciones y consejos que me han sido útiles.

(edición: sitio fuera de línea, utilizando la versión archivada)

0 votos

web.archive.org/web/20150322005829/http://secrets.blacktree.com Tiene una copia de archivo de septiembre de 2015.

2voto

Laurent Puntos 21

Mackup es lo que está buscando. https://github.com/lra/mackup/tree/master/doc

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X