Rainlendar mit dem Google Kalender synchronisieren

Ja ich weiß, man muss nur die Pro-Version von Rainlendar kaufen, schon ist es möglich, mit dem Google Kalender zu synchronisieren. Aber eine kostenlose Möglichkeit ist ja auch nicht schlecht. Und die stelle ich nun vor.gcal_front

Das dafür nötige Programm heißt GCALDaemon und dient dazu, den Google Kalender mit allerlei iCal-kompatiblen Programmen zu synchronisieren. Das ganze ist plattformunabhängig, da es in Java geschrieben ist.

Installation

Dazu muss GCALDaemon nur installiert (oder entpackt, ich bevorzuge portable Programme) werden. Anschließend führt man die Datei config-editor.bat im Ordner GCALDaemon\bin\ aus.

Für die portable Nutzung empfiehlt es sich, anschließend die absoluten Pfadangaben in den Dateien in den Ordnern \bin\ und \conf\ durch relative zu ersetzen. Für die standalone-start.bat wird so zu Beispiel ganz am Ende aus "C:/Program Files/GCALDaemon/conf/gcal-daemon.cfg" dann "../conf/gcal-daemon.cfg". Hierbei ist zu beachten, dass keine Backslashes verwendet werden dürfen.gcal_standbat

Konfiguration

Nun geht es an die Konfiguration für die Verbindung mit Rainlendar. Zuerst startet man password-encoder.bat und gibt sein Google-Passwort ein, welches dann verschlüsselt wird.gcal_passw

Dann muss der Pfad zur iCal-Datei des Google-Kalenders in den Einstellungen desselben gesucht werden. gcal_icalgooNun kann man im Ordner GCALDaemon\cfg\ die gcal-daemon.cfg bearbeiten. Dabei ist folgendes einzustellen:

  • file.enabled=true
  • file.google.username=Deine Googlemail-Adresse
  • file.google.password=Dein verschlüsseltes Passwort
  • file.private.ical.url=Deine private iCal-URL ab /calendar

gcal_cfgMan kann dann entweder in Rainlendar den Pfad zu einer iCal-Datei im GCALDaemon-Ordner eintragen oder hier in der cfg den Pfad zur iCal-Datei von Rainlendar (wie ich es im obigen Bild gemacht habe). Mit dem Start von standalone-start.bat sollte die Synchronisation beginnen.gcal_start

Einrichtung als Dienst

Damit GCALDaemon nicht immer über die Batch-Datei gestartet werden muss, kann man es ganz einfach als Dienst installieren. Hierzu muss zuerst im Ordner \cfg\ die nt-service.cfg bearbeitet werden. Man muss bei “Main configurator file” den richtigen Pfad zur gcal-daemon.cfg eintragen und bei “Command of the Java application” den vollen Pfad zur java.exe, falls dieser nicht in den Umgebungsvariablen von Windows eingetragen ist. Es ist außerdem darauf zu achten, dass bei einem 64-bit-System trotzdem die 32-bit-Version der JRE benötigt wird. Außerdem gab es bei mir einen Fehler bezüglich der “Initial Heapsize”. Diesen Wert habe ich deshalb von 3 auf 10 erhöht.gcal_service Nun muss nur noch die service-install.bat in einer Eingabeaufforderung mit Administratorrechten gestartet werden und der Dienst ist installiert.

Damit wünsche ich viel Spaß beim Synchronisieren! Etwas ausführlichere Anleitungen gibt es auf der Homepage von GCALDaemon.

Advertisements

31 Gedanken zu „Rainlendar mit dem Google Kalender synchronisieren

  1. Pingback: Samsung Wave mit Google synchronisieren « Zwischennetz

  2. Florian

    Hey ich weis kommt ein wenig später… ich hab das gerade mal nach der Anleitung hier oben und auch der ausführlicheren direkt von der Homepage versucht einzurichten. Wenn ich allerdings die „service-install.bat“-Datei als Admin ausführen will kommt eine Fehlermeldung die mir sagt, dass der „Wrapper.exe“ Befehl falsch ist oder nicht gefunden wurde… muss ich da noch irgendwas ändern??? Komme nicht weiter…

    Gruß Florain

    Antwort
    1. 0manzel Autor

      Ich kann mich erinnern, dass mir das auch so passiert ist. Heute Abend werde ich mich mal dran setzen und schauen, ob ich es hin bekomme.

      Antwort
    2. 0manzel Autor

      Nachdem ich jetzt ewig versucht habe, den Fehler in einer virtuellen XP-Maschine zu reproduzieren, kam ich auf die Idee, dass es wirklich an Windows 7 und dem Administrator liegen muss. Da hast du Recht, ein Rechtsklick auf die Batch-Datei und „Als Administrator ausführen“ führt zu deinem beschriebenen Fehler. Die Lösung ist aber ganz einfach:
      Starte die Eingabeaufforderung aus dem Startmenü als Administrator (cmd eingeben und mit Strg+Shift+Enter bestätigen). Dann navigierst du in den Ordner deiner Batch-Datei und führst diese aus. Schon sollte es gehen.

      Antwort
      1. Florian

        Vielen Dank das ganze hat bei mir jetzt funktioniert… Das ganze musste ich zwar nochmal alles einstellen, weil das mit dem navigieren zu dem Ordner auf der C Festplatte nicht so geklappt hat wie ich mir das vorgestellt habe aber auf der zweiten partition also D hat das alles super funktioniert… Das ganze war zwar ein wenig umständlich aber dafür kostenlos und wenn man das ganze erstmal verstanden hat auch gar nicht mehr so schwer 😀

  3. me

    Also bei mir kommt immer die Meldung, „javaw konnte nicht gefunden werden“, wenn ich die .bat-Dateien ausführen will.

    Antwort
    1. 0manzel Autor

      Hast du die Eingabeaufforderung wie in meinem Kommentar oben beschrieben aus dem Startmenü als Administrator gestartet?

      Ansonsten fiele mir noch ein, in der nt-service.cfg den vollständigen Pfad zur 32-bit java.exe einzutragen, dass es in etwa so aussieht:
      wrapper.java.command=C:\Program Files (x86)\Java\jre7\bin\java.exe

      Edit: Gerade fällt mir auf, dass du wohl die config-editor.bat meinst, die tatsächlich javaw.exe startet – sie hat ja schließlich eine GUI und braucht demnach keine Konsole. Ich nehme an, dass der Pfad zur exe nicht in deinem PATH steht. Den kannst du entweder hinzufügen, indem du auf Win+Pause drückst (oder Rechtsklick auf Computer – Eigenschaften), dann „Erweiterte Systemeinstellungen“ und unten rechts auf „Umgebungsvariablen“ klicken. Im unteren Feld wählst du Path aus und nach einem Klick auf bearbeiten fügst du ganz hinten ein Semikolon, gefolgt vom Pfad der Java-Installation hinzu. Zum Beispiel:
      C:\Program Files (x86)\Java\jre7\bin\

      Eine andere Möglichkeit wäre, diesen Pfad in der config-editor.bat einzutragen, sodass die erste Zeile mit "C:\Program Files (x86)\Java\jre7\bin\javaw.exe" beginnt.

      Zu guter letzt, wenn alles nicht funktioniert, bleibt die Frage, ob du Java überhaupt installiert hast.

      Antwort
  4. Amasayda

    Hallo! Ich habe leider auch ein Problem wenn ich deiner eigentlich sehr verständlichen Anleitung folge – und zwar bekomme ich den folgenden Text ausgespuckt, wenn ich die standalone-start.bat Datei starte:
    „log4j:ERROR Unable to init logger!
    java.io.FileNotFoundException: C:\Progra~1\GCALDaemon\log\gcal-daemon.log (Zugri
    ff verweigert)
    at java.io.RandomAccessFile.open(Native Method)
    at java.io.RandomAccessFile.(Unknown Source)
    at org.gcaldaemon.logger.FileChannelAppender.activateOptions(FileChannel
    Appender.java:135)
    at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247)
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:123)
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:87)
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:645)
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:603)
    at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:500)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:406)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:307)
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.
    java:315)
    at org.gcaldaemon.core.Configurator.(Configurator.java:353)
    at org.gcaldaemon.standalone.Main.main(Main.java:66)
    INFO | GCALDaemon V1.0 beta 16 starting…
    INFO | RSS/ATOM feed converter enabled.
    INFO | Local time zone is Mitteleuropõische Zeit.
    INFO | HTTP server starting on port 9090…
    WARN | Set the ‚http.allowed.hostnames‘ parameter to limit remote access.
    INFO | HTTP server started successfully.
    INFO | Start listening file C:/Progra~1/GCALDaemon/google.ics…
    INFO | File listener started successfully.
    INFO | Offline file synchronization enabled.
    INFO | LDAP server disabled.
    INFO | Gmail notifier disabled.
    INFO | Sendmail service disabled.
    INFO | Mail terminal disabled.
    FATAL | Fatal service error!
    java.lang.NullPointerException
    at org.gcaldaemon.core.Configurator.manageBackups(Configurator.java:1112)
    at org.gcaldaemon.core.Configurator.getCalendar(Configurator.java:985)
    at org.gcaldaemon.core.file.OfflineFileListener.run(OfflineFileListener.java:65)“

    Und ich bin leider dann nicht clever genug, um zu verstehen, wo genau bei mir das Problem liegt.
    Ich wäre also über ne Mail sehr dankbar, die mich vielleicht zumindest in die richtige Richtung weist!
    Grüße, K.

    Antwort
    1. 0manzel Autor

      Das sieht stark danach aus, dass GCALDaemon keine Rechte hat, seine Log-Datei im Programme-Ordner von Windows (Program Files) zu starten. Du kannst nun die Batch-Datei mit einem Rechtsklick als Administrator starten. Allerdings bin ich mir nicht sicher, ob es dann funktioniert. Eventuell muss die Eingabeaufforderung als Admin gestartet werden (Im Startmenü cmd eingeben und mit Strg+Shift+Enter bestätigen). Dann navigierst du in den Ordner deiner Batch-Datei (dazu kann man im Windows-Explorer bei gedrückter Shift-Taste einen Rechtsklick auf die Datei machen und „Als Pfad kopieren“, dann nur noch in die cmd einfügen) und führst diese aus.
      Die einfachste Möglichkeit wäre aber, GCALDaemon außerhalb des Programme-Ordners zu installieren/hinzukopieren, zum Beispiel direkt auf C:\ oder auf ein anderes Laufwerk.

      Antwort
      1. Amasayda

        Dein Tipp mit der Installation außerhalb des Programm-Ordners hat’s direkt gebracht – super Hilfe also!
        Allerdings überträgt Rainlendar jetzt alle Termine außer den Geburtstagen – dabei wird immer angegeben (Beispiel): „Unable to insert event Entry cannot contain both gd:when and gd:recurrence elements“
        Ist dir so’n Problem schon mal begegnet?
        Im Rainlendar selbst wollte ich dann einfach die recurrence ausschalten – geht aber nicht, da das Programm extra fragt, ob man denn nicht will, dass der Geburtstag jedes Jahr wiederholt werden soll … und das will man ja.

      2. E.Krieger

        Hallo
        ich habe das selbe Problem und habe es auf alle 3 varianten, die du vorgeschlagen hast, versucht zu lösen. Leider kein Erfolg. Bei deinem ersten Vorschlag taucht nur ganz schnell ein Bildschirm auf und verschwindet dann wieder. Bei den andern beiden Vorschlägen kommt die selbe meldung wieder. Was habe ich falsch gemacht? Muss man auf etwas ganz bestimmtes dabei achten? Was könnte ich noch versuchen?
        LG

  5. 0manzel Autor

    Sehe ich das richtig, dass du die oben beschriebene Fehlermeldung „log4j:ERROR Unable to init logger!“ erhältst? Die einfachste Möglichkeit, nach der es auch eigentlich sicher funktionieren sollte, ist die Installation direkt in c:
    Oder hast du ein anderes Problem?

    Antwort
    1. E.Krieger

      Oj, danke für die schnelle antwort.
      Also ich hab genau gesagt folgende Fehler meldung:

      INFO | Mail terminal disabled.
      FATAL | Fatal service error!
      java.io.FileNotFoundException: C:\Progra~1\GCALDaemon\google.ics (Das System kan
      n den angegebenen Pfad nicht finden)
      at java.io.FileOutputStream.open(Native Method)
      at java.io.FileOutputStream.(Unknown Source)
      at java.io.FileOutputStream.(Unknown Source)
      at org.gcaldaemon.core.file.OnlineFileListener.saveFile(OnlineFileListen
      er.java:520)
      at org.gcaldaemon.core.file.OfflineFileListener.run(OfflineFileListener.
      java:79)

      muss ich das dann wirklich neu instlieren oder reicht es wenn ich es verschiebe? (das verschieben hat ja nicht geklappt)

      Antwort
      1. 0manzel Autor

        Dein Problem ist, dass deine Kalenderdatei „google.ics“ nicht am angegebenen Ort verfügbar ist. Entweder muss diese nach C:\Program Files\GCALDaemon kopiert werden oder du passt in der gcal-daemon.cfg (im Unterordner conf) den Pfad an, sodass auf die ics-Datei von Rainlendar verwiesen wird, beispielsweise file.ical.path=C:/Program Files/Rainlendar2/Default.ics.

  6. E.Krieger

    ich hab jetzt gesucht wie verrückt. ich finde keine der beiden Dateien, weder „google.ics“ noch „default.ics“. Für die Google-Datei hab ich dan einfach mal mein ical von Google als Datei abgespeichert und google.ics genannt. das hat aber auch nicht funktioniert. Was kann ich noch machen?
    Vielen lieben Dank schon einmal für die liebe Hilfe und so schnell 🙂

    Antwort
  7. 0manzel Autor

    Geh mal in Rainlendar in die Einstellungen. Unter Kalender wählst du deinen Kalender aus, der standardmäßig Default heißt. Unten klickst du dann auf Dateiname und dann rechts auf die drei Pünktchen. Im sich öffnenden Fenster machst du mit gedrückter Shift-Taste einen Rechtsklick auf Default (oder wie der Kalender bei dir heißt) und wählst ‚Als Pfad kopieren‘. Anschließend öffnest du die gcal-daemon.cfg und fügst hinter ‚file.ical.path=‘ (danach suchen) den kopierten Pfad ein. Dann musst du darin noch die Backslashes \ durch Slashes / ersetzen. Danach die cfg speichern und es sollte laufen.

    Antwort
    1. E.Krieger

      Okay, gemacht. Jetzt kommt folgende Fehlermeldung:

      FATAL | Invalid Gmail username or password!
      FATAL | Fatal service error!
      com.google.gdata.client.GoogleService$InvalidCredentialsException: Invalid crede
      ntials
      at com.google.gdata.client.GoogleAuthTokenFactory.getAuthException(Unkno
      wn Source)
      at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(Unknown S
      ource)
      at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(Unk
      nown Source)
      at com.google.gdata.client.GoogleService.setUserCredentials(Unknown Sour
      ce)
      at com.google.gdata.client.GoogleService.setUserCredentials(Unknown Sour
      ce)
      at org.gcaldaemon.core.GCalUtilities.getService(GCalUtilities.java:2003)

      at org.gcaldaemon.core.GCalUtilities.findEvent(GCalUtilities.java:640)
      at org.gcaldaemon.core.Synchronizer.syncronizeNow(Synchronizer.java:238)

      at org.gcaldaemon.core.Configurator.synchronizeNow(Configurator.java:107
      0)
      at org.gcaldaemon.core.file.OfflineFileListener.run(OfflineFileListener.
      java:61)

      und ich habe sowohl username als auch das passwort noch einmal neu reingeschrieben

      Antwort
      1. 0manzel Autor

        Hast du auch das verschlüsselte Passwort (mit der password-encoder.bat) genommen? Ansonsten kann ich dir leider auch nicht helfen.

  8. E.Krieger

    ja, hab ich. ich hab es sogar neu in den encorder reingeschrieben. dann kam auch ein anderes verschlüsseltes passwort wie beim ersten mal heraus.
    schade. vllt. deinstalliere ich einfach alles noch mal und fang von vorne an.
    aber vielen lieben Dank für die schnelle und nette hilfe

    Antwort
  9. E.Krieger

    Hallo,
    ich schon wieder. Ich hab jetzt noch mal alles neu gemacht und diesmal auch nicht im Programme-Ordner installiert.

    jetzt habe ich einen neuen Fehler :
    INFO | Searching main configuration file…
    INFO | GCALDaemon V1.0 beta 16 starting…
    INFO | RSS/ATOM feed converter enabled.
    INFO | Local time zone is Mitteleuropõische Zeit.
    INFO | HTTP server starting on port 9090…
    INFO | HTTP server started successfully.
    INFO | Start listening file C:C:UsersLisa.rainlendar2Default.ics…
    INFO | File listener started successfully.
    INFO | Offline file synchronization enabled.
    INFO | LDAP server disabled.
    INFO | Gmail notifier disabled.
    INFO | Sendmail service disabled.
    INFO | Mail terminal disabled.
    FATAL | Fatal service error!
    java.lang.NullPointerException
    at org.gcaldaemon.core.Configurator.manageBackups(Configurator.java:1112
    )
    at org.gcaldaemon.core.Configurator.getCalendar(Configurator.java:985)
    at org.gcaldaemon.core.file.OfflineFileListener.run(OfflineFileListener.
    java:65)

    was kann das sein?
    LG

    Antwort
    1. 0manzel Autor

      Ich denke, dass der Pfad zu deiner Kalenderdatei in der gcal-daemon.cfg nicht stimmt. Du musst alle Backslashes („\“) durch Slashes („/“) ersetzen. Oder hat hier nur WordPress diese im Kommentar aus deinem Log entfernt?
      Außerdem steht am Anfang des Pfades zweimal C: Ich denke, der Pfad müsste heißen:
      C:/Users/Lisa/.rainlendar2/Default.ics

      Antwort
  10. Dirk

    Hallo!
    Kann es sein, dass es das Programm GCalDaemon gar nicht mehr gibt??? – Der Download-Link führt ins Leere – und auch sonst finde ich das Tool im Netz nicht mehr … 😦

    Danke für eine Antwort!!

    Antwort
    1. 0manzel Autor

      Ja, das liegt wohl daran, dass Google etwas an der API geändert hat, wodurch der GCALDaemon nicht mehr funktionierte. Es existiert allerdings noch ein Fork auf Github, der angeblich dahingehend aktualisiert wurde: https://github.com/LancelotLiu/GCALDaemon
      Habe ich selbst aber nicht getestet, da ich mittlerweile einfach den Google Kalender im Browser nutze und schon lange kein Rainlendar mehr.

      Antwort

Was denkst du?

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s