[Aggiornato] Aggiornare automaticamente Chromium
Sono un paio di settimane che uso con soddisfazione Chromium, la versione open/di sviluppo del progetto Google Chrome. E’ davvero notevole il lavoro fatto e la differenza è sensibile anche con Safari (anche se parte del merito va data anche al pre-caching fatto lato server), soprattuto sul lato responsività.
Lo script per l’aggiornamento
Detto questo l’unica parte noiosa è quella di mantenerlo aggiornato scaricando le nightly build rilasciate quotidianamente (ecco lo so che sono fissato, ma lasciate perdere, non è questo il punto). Per evitare di dover andare sul sito (qui trovate tutte le snapshot), cercare l’ultima versione, scaricarla ed installarla mi sono fatto un piccolo script bash che fa tutto il lavoro in automatico (verifica l’ultima build e se necessario procede al download) e segnala, tramite una notifica growl, dell’avvenuta installazione.
Lo script lo trovate a questo link. Il pacchetto zip contiene il file .sh che potete lanciare manualmente (chromium_updater.sh), tramite cron, oppure tramite launchd (metodo che spiego qui sotto); inoltre ho incluso l’ultima build di growlnotify (ad oggi) che va installata nella cartella /usr/local/bin (potete farlo automaticamente lanciando da terminale sh install_growlnotify.sh, sempre incluso nello zip).
Utilizzare launchd per abilitare il check automatico
Per far si che lo script venga lanciato ad intervalli regolari (che so, ogni 10 ore) è possibile utilizzare launchd (su cui avevo fatto una lunga introduzione qualche anno fa, la trovate qui): ho creato quindi il file “com.slaunchaman.chromium_updater.plist” che andrà posizionato nella directory ~/Library/LaunchAgents/. Ci sono tre directory in cui potete installare il vostro script, a seconda dei privilegi che vorrete ottenere (nel nostro caso è del tutto irrilevante):
Si tratta di un file plist che può essere modificato tramite un comune editor di testi (TextEdit) o più comodamente tramite PropertyListEditor (incluso con i developer tools).
A seconda di dove volete posizionare lo script di aggiornamento (chromium_updater.sh) è necessario poi modificare la proprietà “Program” al fine di riflettere il nuovo path scelto (nel nostro esempio è stata creata una cartella slauncha – /Users/slauncha/bin/chromium_updater); l’intervallo con cui verrà cercata una nuova versione è invece specificato dalla proprietà “StartInterval” (in questo esempio è stato assegnato 36000 secondi, ovvero 10 ore).
Infine, per rendere effettive le modifiche e far partire l’aggiornamento automatico basterà riavviare Mac OS X.
Per caricare lo script eseguiti quindi da terminale il comando:
launchctl load <path_del_file_plist>
quindi
launchctl start <path_del_file_plist>
per avviarlo. Per essere quindi sicuri che lo script sia attivo e caricato digitate, sempre da terminale, il comando:
launchctl list
Con questo ottenere la lista dei plist attualmente attivi.
[AGGIORNATO] Se incontrate problemi durante la configurazione dello script potete usarlo l’ottimo Lingon che permette di gestire con facilità la configurazione di launchd.
Forse ho fatto qualche passaggio sbagliato, ma a me non funziona. Ho modificato il path del file plist per seguire chromium_updater.sh, ho riavviato, fatto tutto. Ho provato a impostare 3600 secondi (un’ora), ma non mi pare che aggiorni niente.
In caso Chromium sia aperto, viene chiuso? O lo script chiede di chiuderlo? Che altri problemi ci possono essere? C’è un modo per vedere se launchd sta facendo il suo lavoro e lo script sta girando? E’ possibile evitare di usare growl?
Grazie!
Ciao Filippo, ho aggiornato il post per rispondere alle tue domande.
Per rimuovere growl basta aprire lo script sh e togliere tutte le righe che iniziano con $GROWLNOTIFY. Puoi sostiuirle con logger per far si che i messaggi vengano comunque scritti tra i log di sistema per futuri riferimenti.
Niente da fare, non funziona… Probabilmente sbaglio qualche cosa. Comunque poco male, le ultime build hanno qualche problema (?) con i menù dei bookmarks nella barra.
Commento generale: con Chromium mi trovo benissimo per tutto tranne che per la gestione dei bookmark che, per conto mio, è migliore in Safari.
Puoi provare Lingon che è comodo per gestire launchd:
http://sourceforge.net/projects/lingon/files/Lingon/2.1.1/Lingon-2.1.1.zip/download
Si l’ultima implementazione dei bookmark nella barra è davvero orrenda, così come la gestione dei bookmark ancora parecchio rozza.