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?
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)
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.
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
markhunte
markhunte
markhunte