La configuración de la imagen de fondo en el archivo de Dropbox no actualiza el fondo

1

Estoy intentando que el fondo de mi escritorio sea una imagen almacenada en mi cuenta de Dropbox. Mi carpeta de Dropbox está vinculada en mi directorio de inicio. Cuando configuro el fondo para esta foto y luego cambio la foto, el fondo no sigue. Sé que el archivo ha cambiado al abrirse en el Finder.

Si reinicio la máquina, ¿la imagen cambia, por lo que debe almacenarse en caché en algún lugar?

    
pregunta preezzzy 19.07.2015 - 22:55

2 respuestas

1

Tienes razón, está en caché. Por lo tanto, si desea cambiar la imagen del escritorio, deberá cambiar el archivo db. En Yosemite, es ~/Library/Application\ Support/Dock/desktoppicture.db

Y aquí hay una manera de cambiarlo usando la Terminal :

sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/path/to/your/image.jpg'" && killall Dock

Por lo tanto, si desea ejecutar eso después de que un archivo haya cambiado (como modyfing a través de Dropbox), puede usar un script de observador de archivos, como este Ruby one .

    
respondido por el cregox 20.07.2015 - 18:21
0

El método anterior funciona, pero también hay otra forma (un poco brutal). Necesita que LaunchAgent supervise el archivo que está cambiando y ejecute una acción cuando se cambie.

Guarde lo siguiente en un archivo en ~ / Library / LaunchAgents /, que puede usar como nombre de archivo 'com.yourname.programname.plist'). Reemplazar /full/path/to/desktoppicture  con la ruta completa a la imagen en su carpeta de Dropbox.

    <?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.programname</string>
        <key>Program</key>
        <string>/usr/bin/killall</string>
        <key>ProgramArguments</key>
        <array>
            <string>killall</string>
            <string>Dock</string>
        </array>
        <key>WatchPaths</key>
        <array>
            <string>/full/path/to/your/desktoppicture</string>
        </array>
    </dict>
    </plist>

Una vez que haya modificado y guardado la lista de propiedades, abra la Terminal y escriba:

launchctl load -w ~/Library/LaunchAgents/com.yourname.programname.plist

(reemplazando yourname.programname con lo que haya llamado el archivo plist).

En este punto, cada vez que se cambie el archivo, se ejecutará killall Dock , al salir de la aplicación Dock y forzar una actualización del escritorio. Esto es un poco brutal y podría ser molesto, ya que la actualización del Dock / Desktop tarda aproximadamente 1 segundo y, si lo hace, no puede usar el Control de la Misión y el Tablero, pero debería ser automático.

En caso de que desee desinstalar LaunchAgent, primero escriba:

launchctl unload -w ~/Library/LaunchAgents/com.yourname.programname.plist

(nuevamente, renombrando el archivo para que coincida con el tuyo), y luego elimina el archivo plist de ~ / LaunchAgents /

    
respondido por el Brethil 27.08.2015 - 20:34

Lea otras preguntas en las etiquetas