venerdì 23 dicembre 2011

Sincronizzare il calendario di Google con il client xfce Orage

Si intende creare uno script che sincronizza automaticamente il software di gestione dei calendari per Xfce Orage con il calendario di Google.
Prima di tutto bisogna copiare l'indirizzo privato del proprio calendario. Per farlo seguire i seguenti passi:
1) andare nella sezione impostazioni di Google Calendar;
2) selezionare la voce "Calendari" nel menu in alto;
3) cliccare sul calendario che si intende sincronizzare;
4) cliccare con il tasto destro del mouse sul tasto verde ical presente sulla destra della voce "Indirizzo privato:" e copiarne il link;


Ora bisogna creare il file dove copieremo il codice dello script.
Nella propria home creiamo il file "orage_cal_sync".
Concediamo al file i permessi di esecuzione tramite il comando:
chmod a+x ~/orage_cal_sync
Aggiungere al file le seguenti linee sostituendo a LINK_GOOGLE_CALENDAR il link precedentemente copiato
#!/bin/bash
cd ~
rm ~/basic.ics*
wget LINK_GOOGLE_CALENDAR
mv ~/basic.ics ~/.local/share/orage/orage.ics
Lo script esegue i seguenti passi:
1) accede alla home dell'utente
2) cancella eventuali copie vecchie del calendario presenti nella home
3) scarica da internet il file con i dati del calendario google e li salva nel file basic.ivs presente nella directory home
4) sposta il file nella directory dei calendari di orage

Ora bisogna aggiungere un nuovo job al crontab con lo script appena creato.
Aprire la shell, loggarsi con l'utente che effettua l'accesso al sistema e digitare il seguente comando:
crontab -l
ora aggiungere la riga seguente:
* */1 * * * ~/orage_cal_sync
In questo caso lo script viene eseguito una volta ogni ora. Per modificare i tempi di esecuzione dello script potete trovare informazioni utili su crontab alla pagina seguente:
http://en.wikipedia.org/wiki/Crontab

3 commenti:

  1. ciao!!

    stavo cercando qualcosa di simile e devo dire che funziona.. modificando un po' lo script in modo che non vada a sovrascrivere quello di default di Orage stesso funziona meglio, IMO, anche se poi dipende dalle necessità di ognuno, ma una persona non troppo skillata non riuscirebbe a fare una cosa simile, quindi se vuoi magari puoi aggiungere questa opzione..
    Un'altra cosa: come molti, credo, io utilizzo più di un calendario, quindi sto ampliando lo script in modo che possa sincronizzare tutti i calendari che mi servono su Orage nello stesso momento; poi da Orage basta importare il calendario con l'opzione Scambia dati utilizzando l'ultimo tab: finora mi sembra il modo migliore di utilizzarlo..

    Detto ciò, volevo chiederti se è l'unico sistema che tu conosci per fare una cosa del genere; o se esiste un'applicazione che sia GTK e non abbia troppe dipendenze di Gnome (uso infatti Xfce su Slackware) che renda la vita un po' più semplice a chi utilizza spesso i calendari e le attività..
    Avevo letto una volta un qualcosa di simile per Thunderbird.. in pratica importava i calendari e gli appuntamenti direttamente su Thunderbird, ma ho fatto reinstallato il SO da allora e francamente non ricordo più come funzionasse, devo cercare nuovamente..

    Comunque secondo me si può ottenere qualcosa in più utilizzando lo Scambio dati, non so se ci hai dato un'occhiata..

    Bene, grazie mille per questo comodo trick, a presto!!

    RispondiElimina
    Risposte
    1. Ciao, mi dispiace ma ho cambiato pc e con il nuovo hardware posso finalmente permettermi kde! Quando sincronizzai Orage con Google Calendar cercai delle applicazioni GTK che semplificassero la procedura ma non ne trovai.
      Dopo aver fatto questo script mi accorsi che esisteva un tab che se non erro si chiami "Foreign files" che penso possa essere utilizzato per aggiungere dei calendari esterni a Orage. Mi ripromisi di modificare lo script, ma alla fine non l'ho più fatto per "colpa" di kde.
      Potresti modificare lo script in modo che vada ad aggiornare il file definito in "Foreign file".
      Credo che si possa aggiungere più di un "Foreign file", quindi dovresti aggiungerne tanti quanti sono i tuoi calendari su Google e modificare di conseguenza lo script.
      Spero di esserti stato di aiuto.

      Elimina
  2. credo che quel Foreign Files sia quello che intendo io, ossia Scambia dati.. ti fa aggiungere quanti calendari vuoi e puoi anche selezionare la spunta per Sola lettura, perché molte volte i formati di salvataggio non sono del tutto compatibili..
    comunque per ora ho ottenuto quello che volevo.. guarda se ti piace.. ;)

    mkdir -p /tmp/.orage-gcal_sync ; cd /tmp/.orage-gcal_sync
    rm *.ics
    wget -O gcal_TV.ics LINK/basic.ics
    sleep 2
    wget -O gcal_principale.ics LINKS2/basic.ics
    cp *.ics ~/.local/share/orage

    Facendo in questo modo posso aggiungere tutti i calendari di google (ne ho più di uno, ad es. uno per programmi tv, uno per appuntamenti, uno per studio etc etc) o solo quelli che mi interessano da avere su Orage e poi basta aggiungerli una volta sola ad Orage con Scambio dati..
    L'idea mi è venuta guardando il tuo script, poi l'evoluzione è stata semplice.. ;)
    Se hai dei suggerimenti li accetto molto molto volentieri!!

    OK, comunque, grazie mille..
    ah, quello che intendevo prima e che mi son ricordato ora, era che quando ero all'università, usavo la condivisione dei calendari di google con Thunderbird e l'account GMail, c'era anche un'estensione apposta da usare, in modo da poter modificare appuntamenti direttamente da Thunderbird e quindi in "locale"..

    P.S.: Xfce non è un qualcosa su cui puntare per fattori hardware.. Io lo uso sul mio nuovo notebook I3 / 6 GB RAM, NVidia bestiale etc etc.. Xfce è un must, per me!!
    KDE.. boh, troppo pomposo, mi pare winZoZZ, non me ne volere.. :D :D

    RispondiElimina