Sincronizar las preferencias de aplicaciones entre múltiples Macs

7

Tiendo a guardar todas mis cosas en Dropbox. Ahora que compré un segundo Mac, pensé que mantener mis preferencias de aplicaciones en Dropbox hubiera sido una buena idea.

Logré sincronizar algunas de las carpetas Application Support (solo quiero que las aplicaciones más importantes estén sincronizadas) simplemente vinculando la carpeta compartida de Dropbox al enlace de las Mac:

ln -s ~/Dropbox/SharedPrefs/AnApp ~/Library/Application Support/AnApp

de esta manera me aseguro de que cada, por ejemplo, la versión de Sublime Text 2 que creo en una Mac se sincronice en la otra Mac.

Pero tengo problemas para sincronizar los archivos reales .plist . Hice exactamente lo mismo que arriba (el ejemplo es para iTerm 2):

mv ~/Library/Preferences/com.googlecode.iterm2.plist ~/Dropbox/SharedPrefs/
ln -s ~/Dropbox/SharedPrefs/com.googlecode.iterm2.plist ~/Library/Preferences/com.googlecode.iterm2.plist

Así que ahora tengo el archivo físico real .plist en Dropbox y un enlace de marcador de posición en la Mac.

Pero esto no parece funcionar: cuando salgo y vuelvo a abrir iTerm (o cualquier aplicación), no puede usar el enlace simbólico para acceder a las preferencias en Dropbox.

¿Qué debo hacer?

Apreciaré todos los consejos sobre cómo mantener las preferencias de las aplicaciones sincronizadas entre dos Mac; Estoy usando cmd-line solo porque estoy acostumbrado, pero también está bien una utilidad GUI. Además, una utilidad que no sincroniza solo la carpeta Application Support , sino también el .plists y otras cosas compartidas sería genial.

    
pregunta whatyouhide 18.04.2013 - 00:47

4 respuestas

7

Abra las preferencias y marque la casilla marcada "Cargar preferencias desde una carpeta de cliente o URL" "

Puedes navegar a tu carpeta de Dropbox y hacer clic en "Guardar configuración en la carpeta"

    
respondido por el Kevin Ortman 03.04.2014 - 06:01
1

Puede configurar un elemento de acción de carpeta que supervise las carpetas relevantes y ejecute un Applescript que copie los archivos de preferencias relevantes en la carpeta de Dropbox cuando la carpeta cambie.

Otro enfoque (similar) sería escribir un agente de lanzamiento:

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>Label</key>
     <string>com.yourname.yourapp</string>
     <key>Program</key>
     <string>/Users/yourname/path/to/your/script</string>
     <key>ProgramArguments</key>
     <array>
         <string>script</string>
     </array>
     <key>WatchPaths</key>
     <array>
         <string>/path/to/preferencefile1.plist</string>
         <string>/path/to/preferencefile2.plist</string>
     </array>
 </dict>
 </plist>

Guarde esto como un archivo com.yourname.yourapp.plist luego cópielo en ~ / Library / LaunchAgents /. Cárguelo en launchd usando

launchctl load ~/Library/LaunchAgents/com.yourname.yourapp.plist

iniciarlo:     launchctl start com.yourname.yourapp

Ahora el agente de launchd ejecutará el script / Users / yourname / path / to / your / script cada vez que se cambie "preferencesfile1.plist", "preferencesfile2.plist", etc.,

Por ejemplo, "script" podría ser algo que copia los archivos de preferencias en la carpeta de Dropbox.

Se debe configurar otro agente de inicio en la otra máquina para monitorear los archivos en la carpeta de Dropbox y copiarlos en la ubicación correcta cuando cambien.

    
respondido por el Brethil 26.11.2014 - 22:27
1

Confirmando que la respuesta de Kevin anterior también funciona a través de iCloud Drive Sync en High Sierra.

Hice lo siguiente:

  1. Cree una carpeta llamada "Sync" directamente en iCloud Drive (como un hermano a Documentos)
  2. Cree otra carpeta llamada iTerm2 dentro de Sync (probablemente haré esto con otras aplicaciones, por lo tanto, la estructura de la carpeta)
  3. Señala iTerm2 allí a través de sus Preferencias. Te preguntará si quieres. para colocar una copia actual del archivo plist allí.
  4. Repita el paso # 3 en todos los demás sistemas en los que desee usar iTerm2

Tenga en cuenta que puede haber algo de latencia con la sincronización de iCloud Drive, pero funciona.

    
respondido por el Mikel Manitius 16.01.2018 - 23:12
0

Otra forma, que sería útil para otros tipos de archivos u otros programas, es utilizar enlaces duros en lugar de simbólicos. Utilice "ln" en lugar de "ln -s". Cuidado, un enlace duro es muy diferente de un símbolo. Un enlace sym es solo un puntero al archivo. Puede eliminar el enlace y el archivo está intacto. Un enlace duro es una entrada duplicada para el archivo en el directorio del disco. Es como si el archivo estuviera realmente en dos lugares a la vez. Un programa no puede decir ninguna diferencia entre los dos. Si trash el enlace elimina el archivo real. Estos son tan diferentes que probablemente no se debería haber utilizado el mismo nombre para ambos.

    
respondido por el J. Trideka 13.06.2014 - 16:52

Lea otras preguntas en las etiquetas