Come recuperare automaticamente le immagini da un sito Web e aggiornare l'immagine del desktop in modo che corrisponda (nel terminale)?

2

Sono un astronomo e continuo a leggere (più volte al giorno) lo stesso sito Web per visualizzare la carta celeste del mio osservatorio. In particolare, il grafico trovato su questa pagina web:

link

Sarebbe incredibilmente utile se potessi impostare automaticamente questa immagine come desktop del mio portatile. So che potrei impostare manualmente ogni mattina, ma questo è un problema (e non è così nerd).

Sfortunatamente, non sono esperto in C e nella linea di comando come forse dovrei essere. C'è un modo per modificare il mio profilo bash per scaricare automaticamente un'immagine da un sito Web e quindi impostare quell'immagine come desktop, ad esempio, a mezzanotte ogni 2 giorni? Salvo evidenti problemi di risoluzione dell'immagine e connessione Internet. Un compito come questo è ben fuori dal mio set di abilità.

Anche se questo non è possibile / pratico, sarei interessato a sapere perché no, solo per curiosità.

Se è importante, eseguo 10.13.1 High Sierra su un MacBook Pro.

    
posta Thomas Sachen 26.02.2018 - 11:06
fonte

1 risposta

0

Hai un paio di opzioni per affrontare questo: script AppleScript e Bash (Terminale). Poiché questo deve accadere una volta al giorno (ovvero pianificato ) e si desidera garantire che il file venga scaricato nel momento in cui si effettua l'accesso in modo che possa essere lì quando si inizio e poi ancora una volta ogni notte a mezzanotte, lo farei a Bash.

Crea lo script

Lo script farà due cose:

  • Scarica l'immagine
  • Imposta come immagine di sfondo

Lo script è abbastanza semplice. Richiede due argomenti: l'URL e la posizione in cui salvare il file. Lo scaricherà quindi nella posizione della cartella:

#!/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

Salvalo in una posizione comoda; dargli un nome ovvio come getSkyForecast.sh . Assicurati di rendere eseguibile lo script - chmod +x getSkyForecast.sh Se non lo fai, lo script non verrà eseguito.

Pianifica lo script

Quanto segue è un po 'più complesso, perché verrà eseguito al login e ogni 24 ore.

Successivamente, lo script deve essere avviato con launchd . Per fare ciò, è necessario un plist (file XML che descrive il lavoro)

<?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>

Salva questo file come com.user.SkyForecast e copialo nella directory ~/Library/LaunchAgents .

Caricalo con il comando:

launchctl load com.user.SkyForecast

Imposta l'immagine di sfondo

La cosa più semplice da fare è andare in Preferenze di Sistema e impostare l'immagine di sfondo su questo file (eseguire lo script manualmente prima di creare il file). Quando lo script viene eseguito, cambierà il file, non il nome, in modo che l'immagine del desktop cambierà automaticamente.

    
risposta data 26.02.2018 - 14:01
fonte

Leggi altre domande sui tag