2 votos

Ajuste de imagen de fondo a dropbox archivo no se actualiza de fondo

Estoy tratando de tener mi fondo de escritorio una imagen almacenados en mi cuenta de dropbox. Mi carpeta de dropbox está vinculado en mi directorio home. Cuando me puse el fondo de esta foto y, a continuación, cambiar la foto de fondo no siga. Sé que el archivo ha cambiado por la apertura en el Finder.

Si yo reinicio la máquina de la imagen cambia, así que debe ser almacenada en algún lugar?

1voto

Olly Puntos 4314

Tienes razón, se almacena en caché. Así que si usted quiere cambiar la imagen del escritorio, entonces usted necesitará cambiar el archivo de base de datos. En Yosemite, que es ~/Library/Application\ Support/Dock/desktoppicture.db

Y he aquí una manera de cambiar el uso del 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 que una vez que un archivo ha cambiado (como modyfing a través de dropbox) puede utilizar un archivo de vigilante de la secuencia de comandos, como este de Ruby uno.

1voto

Brethil Puntos 313

El anterior método funciona, pero también hay otro (un poco brutal). Usted necesita LaunchAgent para supervisar el archivo que está cambiando y ejecutar una acción cuando se cambia.

Guardar a continuación un archivo en ~/Library/LaunchAgents/, se puede utilizar como nombre de archivo " com.sunombre.nombreprograma.plist'). Reemplace /full/path/to/desktoppicture con la ruta de acceso completa a la imagen en tu 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>

Después de modificado y guardado en la lista de propiedad, abrir la Terminal y escribir:

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

(sustitución de sunombre.programname con lo que se llamó el archivo plist).

En este punto, toda vez que el archivo se cambia, killall Dock será ejecutado, dejar el Muelle de la aplicación y forzar un Escritorio de actualización. Esto es un poco brutal, y podría ser molesto desde el Muelle/de Escritorio de actualización tarda ~1 segundo, y mientras lo hace, usted no puede utilizar el Control de la Misión y el Tablero, pero debe de ser automático.

En el caso de querer desinstalar el LaunchAgent, primer tipo:

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

(de nuevo, cambiar el nombre del archivo para que coincida con el tuyo), y luego eliminar el archivo plist de ~/LaunchAgents/

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