¿Cómo obtener imágenes automáticamente de un sitio web y actualizar la imagen del escritorio para que coincida (en el terminal)?

2

Soy astrónomo y constantemente (leo: varias veces al día) reviso el mismo sitio web para ver la tabla de cielo despejado de mi observatorio. Específicamente, el gráfico que se encuentra en esta página web:

enlace

Sería increíblemente útil si pudiera configurar automáticamente esta imagen para que sea el escritorio de mi computadora portátil. Sé que podría configurarlo manualmente cada mañana, pero eso es una molestia (y no es tan nerd).

Desafortunadamente, no estoy tan versado en C y en la línea de comandos como quizás debería estarlo. ¿Hay alguna forma de modificar mi perfil de bash para descargar automáticamente una imagen de un sitio web y luego configurar esa imagen como mi escritorio, por ejemplo, a la medianoche cada 2 días? Salvo cuestiones obvias de resolución de imagen y conexión a internet. Una tarea como esta está fuera de mi conjunto de habilidades.

Incluso si esto no es posible / práctico, me interesaría saber por qué no, solo por curiosidad.

Si importa, estoy ejecutando 10.13.1 High Sierra en una MacBook Pro.

    
pregunta Thomas Sachen 26.02.2018 - 11:06

1 respuesta

0

Tienes un par de opciones para abordar esto: AppleScript y un script Bash (Terminal). Dado que esto debe suceder una vez al día (es decir, programado ) y desea garantizar que el archivo se descarga en el momento en que inicia sesión para que pueda estar allí cuando comenzar y luego una vez más todas las noches a la medianoche, haría esto en Bash.

Crea el script

El script va a hacer dos cosas:

  • Descarga la imagen
  • Establecer como imagen de fondo

El script es bastante simple. Se necesitan dos argumentos: la URL y la ubicación para guardar el archivo. Luego lo descargará a la ubicación de esa carpeta:

#!/bin/bash
#Bash Script to Download Forecast and Set as desktop background

#User Defined VARs below:

#URL to fetch image 
url="http://www.cleardarksky.com/c/YerkesObILcsk.gif?c=2239204"

#Picture file Location
picFile="/Users/Thomas/Pictures/test.gif"


#Command to retrieve picture and save to defined location
curl -o "${picFile}" "$url"

exit

Guárdalo en una ubicación conveniente; Dale un nombre obvio como getSkyForecast.sh . Asegúrate de hacer el script ejecutable - chmod +x getSkyForecast.sh Si no haces esto, el script no se ejecutará.

Programar el script

Lo siguiente es un poco más complejo, ya que se ejecutará al iniciar sesión y cada 24 horas.

A continuación, la secuencia de comandos debe iniciarse con launchd . Para hacer esto, necesita un plist (archivo XML que describe el trabajo)

<?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.user.getSkyForecast</string>
  <key>ProgramArguments</key>
  <array>
      <string>/Users/USERNAME/Path_to_Scripts/getSkyForecast.sh</string>
  <key>RunAtLoad</key> 
  <true/>
  </array>
  <key>StartCalendarInterval</key>
  <array>
  <dict>
    <key>Hour</key>
    <integer>00</integer>
    <key>Minute</key>
    <integer>00</integer>
  </dict>
</dict>
</plist>

Guarde este archivo como com.user.SkyForecast y cópielo en el directorio ~/Library/LaunchAgents .

Cárgalo con el comando:

launchctl load com.user.SkyForecast

Establecer la imagen de fondo

Lo más fácil de hacer es ir a Preferencias del sistema y configurar la imagen de fondo para este archivo (primero ejecute el script manualmente para que cree el archivo). Cuando se ejecute el script, cambiará el archivo, no el nombre, por lo que la imagen del escritorio cambiará automáticamente.

    
respondido por el Allan 26.02.2018 - 14:01

Lea otras preguntas en las etiquetas