El mismo fondo de pantalla para cada pantalla

Tengo una Macbook Air (con OS X 10.10 Yosemite). Configuré el fondo de pantalla en una carpeta y dejé que el fondo de pantalla cambiara aleatoriamente cada 30 minutos. Cuando trabajo en mi escritorio, tengo una pantalla externa adicional y lo que quiero es que esa pantalla tenga el mismo fondo de pantalla que la pantalla principal.

¿Hay alguna manera de hacer esto o me pierdo una opción?

He actualizado la respuesta para solucionar un problema.
¿Revisó su configuración en las preferencias del sistema? estaban apagados al ejecutar mi respuesta. Lo probé en tres configuraciones de Mac y hace lo que quieres en todas ellas.
Debe apagarlos para ambas pantallas, cada una tiene su ventana de preferencia

Respuestas (1)

Desde el panel de Preferencias no creo que puedas hacerlo.

Pero acabo de escribir un applescript que funciona en mis dos pantallas.

---------- ACTUALIZACIÓN:

Estaba teniendo un problema con la carga de LaunchAgent al iniciar sesión.

Parece que se debió a que el sistema estaba tratando de compilarlo y fallaba.

Así que actualicé la Respuesta para solucionar esto usando un Applescript compilado en lugar de un texto sin formato.


NOTA: debe desactivar la configuración de cambio de imagen en las preferencias del sistema al ejecutar este script. De lo contrario, obtendrá los resultados correctos.

Cada escritorio cambia a la misma imagen. Si cambio a un nuevo espacio en un escritorio, su imagen cambiará cuando llegue el momento.

Hay un par de formas de ejecutar el script.

Pero en mi opinión, usar LaunchAgents es la mejor manera.

Esta respuesta puede parecer complicada, pero solo debe tomar un minuto configurarla y comenzar a usarla .

1, Cree y pegue este script en un nuevo documento del Editor de scripts.

#!/usr/bin/osascript

tell application "System Events"
    (*Get a list of images in the pictures folder*)
    set DPFolder to ((POSIX file "/Library/Desktop Pictures") as alias)
    set DP to every file of DPFolder
end tell

(*get a random number limited to the count of the image count in the pictures folder*)
set randomNumber to random number (count of DP)

    tell application "System Events"

        (*get each desktop*)
        set theDesktops to a reference to every desktop

        (* repeat with each desktop*)
        repeat with i from 1 to (count theDesktops)

            (* Change the picture to the random image*)
            set picture of item i of the theDesktops to (POSIX path of (item randomNumber of DP))
        end repeat
    end tell

2, cambia la ruta en la línea

establezca DPFolder en ((archivo POSIX "/Library/Desktop Pictures") como alias )

para contener su carpeta de imágenes si no es la estándar. Asegúrese de que cualquier carpeta que use solo tenga imágenes y ningún otro tipo de archivo o carpeta.

3, guarde el formato de archivo del documento como un archivo de secuencia de comandos (scpt)


ingrese la descripción de la imagen aquí


4, en Terminal.app escriba:

chmod +x /Users/USERNAME/path/to/your/foo.scpt

chmod +x hará que el archivo sea ejecutable. Cambie la ruta a la ruta de su archivo de script.

5, en TextEdit.app

Abra un nuevo documento de texto sin formato y pegue:

     <?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.markosx.randomDesktopImage</string>
    <key>ProgramArguments</key>
    <array>
        <string>usr/bin/osascript</string>
       <string>/Users/USERNAME/path/to/your/foo.scpt</string>
    </array>
    <key>StartInterval</key>
    <integer>60</integer>
<key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Cambiar la línea:

/Usuarios/NOMBRE DE USUARIO/ruta/a/su/foo.scpt

para contener la ruta real a su archivo de script.

Cambiar la línea:

<integer>60</integer>

para contener el número de segundos que desea el intervalo entre ejecuciones.


ingrese la descripción de la imagen aquí


6, guarde el archivo con la extensión .plist en la carpeta LaunchAgent de su usuario.

~/Library/LaunchAgents

7, ahora en terminal escriba y ejecute:

  launchctl load ~/Library/LaunchAgents/foo.plist

Reemplace foo.plist con su nombre de archivo plist real.

Esto cargará el launchAgent en el sistema y comenzará a ejecutarse.

O puede cerrar la sesión y volver a iniciarla.

Para descargar el launchAgent

launchctl unload ~/Library/LaunchAgents/foo.plist

Gracias Markhunte, enfoque interesante. Puedo confirmar que cambia el fondo de pantalla en ambas pantallas. Sin embargo, con diferentes imágenes. Así que realmente no hace lo que quiero :-/
Hace lo que quieras en mis pantallas, ambas tienen la misma imagen. El script solo puede hacer eso si desactivaste la configuración en las preferencias del sistema. ?
Mi mac principal está en Yosemite. Y con un ligero cambio solo para obtener la ruta posix en una Mac 10.6 con dos pantallas, ambos escritorios muestran la misma imagen. Creo que también debe tener algo en las preferencias del sistema de escritorio ejecutándose.
Prueba de @Daniel en otra Mac. Lo mismo que todas mis otras pruebas.
Me funciona en Catalina. Mantiene ambos papeles de escritorio sincronizados.