ubuntuusers.de

How-To: Win Mobile 6.1 mit Evolution synchronisieren

Status: Ungelöst | Ubuntu-Version: Kubuntu 9.04 (Jaunty Jackalope)
Antworten |

andy114425

Anmeldungsdatum:
1. Mai 2007

Beiträge: 37

Wohnort: Ebershardt

Hallo zusammen,

da ich mich selbst lange damit beschäftigt habe mein Xperia X1 mit Kubuntu zu synchronisieren und es jetzt seit einiger Zeit bei mir fehlerfrei funktioniert, möchte ich euch daran teilhaben lassen 😉

Wie oben erwähnt verwende ich Kubuntu 9.04 (KDE4) und zuvor 8.10 (KDE4), allerdings konnte ich meinen Rechner noch nicht dazu bringen mit Kontact zu synchroniesieren. Dies lag vermutlich daran, dass unter KDE4 zur Verwaltung der PIM Einträge Akonadi eingesetzt wird. Jedoch gibt es hierfür noch kein OpenSync Plugin. Dieses wird/soll jedoch mit der Version 0.40 von OpenSync zur Verfügung stehen. Wann OpenSync 0.40 freigegeben wird steht allerdings noch offen. Daher habe ich mich für Evolution entschieden und bin damit eigentlich auch recht zufrieden...

Für die Synchronisation werden folgende Pakete benötigt

  • synce-sync-engine

  • synce-kpm

  • libnotify-bin

  • libopensync0

  • opensync-plugin-evolution

  • opensync-plugin-synce

  • multisync-tools

!!!Bevor ihr beginnt, empfehle ich dringend ein Backup von 'pim.vol' auf dem Windows Mobile Gerät, sowie der Daten von Evolution zu machen!!!

Installation der Pakete

Die oben genannten Pakete müssen installiert werden. Dies geschieht am einfachsten indem ihr folgendes in die Konsole eintippt:

apt-get install synce-sync-engine synce-kpm libnotify-bin libopensync0 opensync-plugin-evolution opensync-plugin-synce multisync-tools

Einrichtung von OpenSync

Einrichtung von Opensync und den dazugehörigen Plugins siehe OpenSync (Abschnitt „Kommandozeile“)

Das Synce-Plugin muss nicht konfiguriert werden. Für das Evolution-Plugin habe ich folgendes verwendet:

<?xml version="1.0"?>
<config>
  <address_path>default</address_path>
  <calendar_path>default</calendar_path>
  <tasks_path>default</tasks_path>
</config>

Einrichtung von Synce-KPM

Hierzu müsst ihr zunächst 'synce-sync-engine' und 'synce-kpm' starten. Nun schließt ihr eure Windows Mobile Gerät per USB an den Rechner an. Synce-Kpm sollte sich nun melden, dass ein neues Gerät gefunden wurde und noch keine Partnerschaft besteht. Auf die Frage, ob diese nun erstellt werden soll klickt ihr auf ja. Als Name könnt ihr einen beliebigen Namen auswählen, z.B. WinMobile. Darunter könnt ihr Synce-Kpm sagen was synchronisiert werden soll.

Erster Datenabgleich

Um den Rechner und Win Mobile auf den gleichen Stand zu bringen, muss zunächst eine Synchronisation in eine Richtung durchgeführt werden. Dies bedeutet, dass bei Konflikten eines der beiden Geräte den Vorrang erhält. Dieser Schritt ist notwendig, da OpenSync bisher (bei gleichen Einträgen auf dem Rechner und dem Win Mobile Gerät) noch nicht weiß, welcher nun der neueste ist. Später wird bei der Synchronisation der Daten der Zeitstempel verglichen, um Konflikte aufzulösen.

Um diese einseitige Synchronistation starten zu können, müsst ihr zunächst einmal herausfinden welches Plugin welche Nummer hat. Dies erfolgt mit folgendem Befehl:

msynctool --showgroup <Gruppe>

Wobei <Gruppe> der Gruppenname sein muss, den ihr bei der Einrichtung von OpenSync vergeben habt. Sucht euch das Plugin heraus, das zunächst den Vorrang erhalten soll und führt dann folgenden Befehl aus:

msynctool --sync <Gruppe> --conflict <Plugin-Nummer>

Wobei <Plugin-Nummer> die Nummer des bevorrechtigten Plugins ist.

Die Synchronisation sollte ohne Fehler vor sich gehen. Glückwunsch, dann habt ihr das meiste Überstanden.

Synchronisieren

Um die Synchronisation zu starten könnt ihr nun folgenden Befehl ausführen (ACHTUNG: 'synce-sync-engine' und 'synce-kpm' müssen gestartet sein!!!)

msynctool --sync <Gruppe> --conflict n

Mit '--conflict n' wird festgelegt, dass bei Konflikten immer der neuste Eintrag verwendet werden soll.

Ohne zuvor 'synce-sync-engine' und 'synce-kpm' zu starten, kann es bei der Synchronisation zu Fehlern kommen. Meistens werden die 'log-Dateien' von OpenSync überschrieben und eine Zuordnung der Zeitstempel ist dann nicht mehr möglich. Sollte euch dies dennoch einmal passieren, müsst ihr erneut eine einseitige Synchronisation durchführen. Dies ist allerdings recht ärgerlich, wenn man zuvor sowohl auf dem Rechner als auch auf dem Win Mobile Gerät Daten abgeändert hat. In diesem Fall gehen nämlich alle Änderungen eines Gerätes verloren. Damit mir so etwas nicht (nochmal) passiert, habe ich mir ein kleines Skript geschrieben, welches prüft, ob die erforderlichen Dienste laufen. Außerdem macht es den Synchronisationsvorgang etwas komfortabler.

Mein Skript

Zunächst einmal das Skript

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash

#Variablen definieren
GROUP=<Gruppe>		# Gruppenname eintragen
HIDE=0			# Zeit in Millisekunden nachdem die Sprechblasen ausgeblendet werden sollen (0 = nicht ausblenden)

# Prüfen, ob notwendige Dienste laufen
AKTIV1=`top -b -n1 | grep -i -c synce-sync`
AKTIV2=`top -b -n1 | grep -i -c synce-kpm`

if [ $AKTIV1 == "0" ]; then
    notify-send -i /usr/share/icons/default.kde4/48x48/actions/dialog-close.png -t $HIDE "Fehler" "'Synce-Sync-Engine' läuft nicht. Synchronisierung wurde abgebrochen."
    exit   			#Auskommentieren, wenn der Dienst nur temporär gestartet werden soll
    #synce-sync-engine & 	#Auskommentieren, wenn der Dienst im Autostart steht
fi
if [ $AKTIV2 == "0" ]; then
    notify-send -i /usr/share/icons/default.kde4/48x48/actions/dialog-close.png -t $HIDE "Fehler" "'Synce-kpm' läuft nicht. Synchronisierung wurde abgebrochen."
    exit   			#Auskommentieren, wenn der Dienst nur temporär gestartet werden soll
    #synce-kpm -i & 		#Auskommentieren, wenn der Dienst im Autostart steht
fi

#Datum der Dateien in Variable sichern
ALT=`date -r ~/.opensync-0.22/group3/change.db`
ALTLOG=`date -r ~/.opensync-0.22/group3/changelog.db`

#Meldung über Sync-Start ausgeben und Sync starten
notify-send -i /usr/share/icons/default.kde4/48x48/actions/view-refresh.png -t 3000 "Synchronisiere..." "Der Datenabgleich zwischen PC und PDA läuft..." &
msynctool --sync $GROUP --conflict n

#Datum der Dateien abrufen und in Variable speichern
NEU=`date -r ~/.opensync-0.22/group3/change.db`
NEULOG=`date -r ~/.opensync-0.22/group3/changelog.db`

#Daten vergleichen und Meldungen ausgeben
if [ "$NEU" = "$ALT" ] && ! [ "$NEULOG" = "$ALTLOG" ];then
  notify-send -i /usr/share/icons/default.kde4/48x48/actions/dialog-close.png -t $HIDE "Synchronisation abgeschlossen!" "Es gibt keine Änderungen zum Abgleichen "
elif [ "$NEU" = "$ALT" ] && [ "$NEULOG" = "$ALTLOG" ];then
  notify-send -i /usr/share/icons/default.kde4/48x48/devices/network-wired.png -t $HIDE "Fehler" "Der Datenabgleich konnte nicht durchgeführt werden. Prüfen sie die Verbindung zwischen den Geräten"
else
  notify-send -i /usr/share/icons/default.kde4/48x48/actions/dialog-ok-apply.png -t $HIDE "Synchronisation abgeschlossen!" "Der Datenabgleich wurde erfolgreich beendet"
fi

#Benötigte Dienste beenden, falls sie nicht im Autostart stehen
#pkill synce-kpm
#pkill synce-sync-engine

Ihr müsst zunächst in Zeile 4 der Gruppenname eintragen und falls ihr wollt, dass die Sprechblasen automatisch ausgeblendet werden, könnt ihr in Zeile 5 noch eine Zeit in Millisekunden eintragen, nach der sich die Sprechblasen wieder schließen.

Ich habe mir 'synce-kpm' und 'synce-sync-engine' in den Autostart gelegt, deshalb lasse ich mir, falls eines der beiden Programme nicht läuft, lediglich eine Warnung ausgeben. Um die beiden Programme bei der Anmelden zu starten kann man sich einfach ein Skript anlegen, welches man dann in den Autostart legt. Siehe hierzu Autostart

Falls man die Programme nicht ständig im Hintergrund laufen lassen will, kann man Zeile 13 und 18 mit einer Raute # auskommentieren und die Zeile 14, 19, 44 und 45 durch entfernen der Raute aktivieren.

Für das Skript kann man sich einen Starter anlegen, welcher das Skript ggf. im Terminal ausführt. Dadurch kann man auch eventuelle Fehler ausfindig machen bzw. den Fortschritt verfolgen

WICHTIG

  • Achtet darauf, dass das Windows Mobile Gerät richtig verbunden ist bevor ihr mit der Synconisation startet. Dies erkennt ihr am einfachsten, wenn auf dem Windows Mobile Geräte oben neben der Feldstärkeanzeige zwei entgegengesetzte Pfeile zu sehen sind.

  • Ich übernehme keinerlei Haftung für eventuelle Datenverluste und/oder sonstigen Schäden die bei der Installation oder durch die Verwendung dieses Skripts entstehen. Wie oben schon erwähnt sollte vor Beginn eine Datensicherung durchgeführt werden.

Nun wünsche ich viel Spaß beim Synchronisieren

PS: Ihr müsst evtl. noch die Icons für die Benachrichtigungen anpassen, ich habe Icons von KDE4 verwendet

dehru Team-Icon

Ehemalige
Avatar von dehru

Anmeldungsdatum:
2. Oktober 2005

Beiträge: 2178

Wohnort: Stuttgart

Toll! Suuper, dass du die anderen daran teilhaben lassen möchtest 👍

Hast du Lust darauf, daraus ein Wiki-Artikel zu erstellen, falls es noch keinen gibt, bzw, einen bestehenden zu überarbeiten?

Holliefant

Anmeldungsdatum:
2. Juni 2005

Beiträge: 200

Wohnort: Stuttgart

Das wäre allerdings der Hammer wenn das endlich mal gehen sollte. Ich habe jetzt sicher schon 5 Anleitungen durch und habe mich auch schon selber durchgehangelt, aber immer das Problem das Kontakte doppelt oder gar dreifach nach der Synchronisation vorhanden sind. Ich werde das ganze mal testen und dann Bescheid geben ob es bei mir Funktioniert.

andy114425

(Themenstarter)

Anmeldungsdatum:
1. Mai 2007

Beiträge: 37

Wohnort: Ebershardt

dehru schrieb:

Hast du Lust darauf, daraus ein Wiki-Artikel zu erstellen, falls es noch keinen gibt, bzw, einen bestehenden zu überarbeiten?

Das war der Plan 😉

Allerdings wollte ich es erst hier im Forum für andere zum Testen bereitstellen. Vielleicht gibt es ja noch mehr Abhängigkeiten oder ich habe etwas vergessen oder oder oder

Von daher bin ich froh, dass sich schon der erste Testwillige gefunden hat 😀

dehru Team-Icon

Ehemalige
Avatar von dehru

Anmeldungsdatum:
2. Oktober 2005

Beiträge: 2178

Wohnort: Stuttgart

andy114425 schrieb:

dehru schrieb:

Hast du Lust darauf, daraus ein Wiki-Artikel zu erstellen, falls es noch keinen gibt, bzw, einen bestehenden zu überarbeiten?

Das war der Plan 😉

Machst du mal 'nen Thread im Wiki-Forum http://forum.ubuntuusers.de/forum/wiki/ auf? Vllt. gibt's schon was in der Richtung?
Titel: Neuer Artikel: Synchronisation XYZ mit ABC

andy114425

(Themenstarter)

Anmeldungsdatum:
1. Mai 2007

Beiträge: 37

Wohnort: Ebershardt

Also ich bin eben mal das Wiki durchgegangen und bin dabei auf diese Artikel gestoßen Baustelle/Synce mit WM5/6 und PocketPC. Diese verfolgen zwar das selbe Ziel, jedoch mit anderer Software.

Meinen Artikel würde ich eher als eigenständigen Artikel speziell für Evolution und WinMobile 6.1 ansehen. Alles andere habe ich bisher auch noch nicht getestet. Ein Verweis auf den Artikel könnte dann an folgender Stelle im Artikel von Evolution (Abschnitt „Synchronisation“) stehen.

Noch ganz allgemein zum erstellen eines Wiki Artikels, es wäre ja schliesslich mein erster 😉 Muss der Artikel erst einmal in der Baustelle erstellt werden und dann im Wiki-Forum darauf hingewiesen werden? Muss ich mir jetzt eigentlich schon Gedanken machen wo der Artikel später verlinkt wird (siehe oben). Oder erstelle ich den Artikel einfach in der Baustelle und die Moderatoren entscheiden dann wo er am besten aufgehoben ist?

Besten Dank schonmal für deine Hilfestellung

edit: Habe nun den Wiki Artikel mal verfasst und auch gleich eine Diskussion gestartet http://forum.ubuntuusers.de/topic/neuer-artikel-synchronisation-evolution-und-w/

Antworten |