Wer einen PalmOS-basierten PDA besitzt, muss ihn mit seinem PC synchronisieren können – schon allein des Backups wegen. J-Pilot oder Kontact helfen dabei, aber ganz von allein lassen sie sich selten zur Synchronisation überreden: Etwas Handarbeit ist angesagt.
Für vergessliche Menschen und vielbeschäftigte Termin-Junkies sind PDAs oft der rettende Strohhalm im Alltagsgetriebe. Zwar haben gerade die PalmOS-basierten Geräte ihre Rolle als Statussymbol an Blackberries und Smartphones abgegeben; jedoch ist es nicht jedermanns Sache, seine Termine und Notizen über stecknadelkopfgroße Tasten oder eine Zehnertastatur zu pflegen.
Synchron mit PIMs
Unerlässlich ist es aber, die Daten auf dem Palm mit den Kontakten und Terminen auf dem PC synchron zu halten: Sonst können Sie gleich bei der Zettelwirtschaft bleiben. Für Linux stehen dabei mehrere bewährte Synchronisationsprogramme bereit. Auch die Personal Information Manager (PIMs) von KDE und Gnome haben Pilot-Synchronisation integriert. Seit sich aber USB als Standardverbindung zwischen PDA und Computer durchgesetzt hat, fällt unter Umständen ein bisschen mehr Handarbeit an als das bei den zwar langsamen, aber geradlinig zu konfigurierenden Geräten an der seriellen Schnittstelle der Fall war. Leider haben auch die Distributoren scheinbar wichtigeres zu tun, als dem Anwender hier Arbeit abzunehmen.
Der Klassiker unter den grafischen Synchronisationsprogrammen ist jpilot[1]. Das J im Namen hat übrigens überhaupt nichts mit Java zu tun, sondern kommt von Judd Montgomery, dem Entwickler des Werkzeugs, Bei J-Pilot handelt es sich um eine GTK-Applikation. Aktuell ist Version 0.99.7. Für KDE-Anwender bietet sich alternativ Kontact [2] zur Synchronisation an, der standardmäßige PIM des KDE-Projekts. Kontact bündelt einige locker integrierte KDE-Programme unter einer gemeinsamen Oberfläche. Für das Synchronisieren ist KPilot verantwortlich, der dafür sorgt, dass alle unter dem Kontact-Dach verteilten Anwendungen auf die Daten zugreifen können. Aber um es vorweg zu nehmen: KPilot entpuppte sich bei unseren Kontaktversuchen mit einem Tungsten E als widerspenstig. Besser verhielt sich da J-Pilot, obwohl beide auf die Kommandozeilentools, Bibliotheken und Conduits des Pilot-Link-Projekts [3] zurückgreifen.
Beide Anwendungen verlangen unter Suse 9.3 Professional nach etwas Vorbereitung, wenn ein Palm-PDA mit USB-Anschluss zu synchronisieren ist. Im vorliegenden Fall handelte es sich um einen Tungsten E.
Wechselnde USB-Ports
Bei Verwendung des Hotplug-Daemons findet sich der Palm Pilot an wechselnden Ports wieder, beispielsweise belegt er beim “Erstkontakt” die Ports /dev/usb/ttyUSB0 und /dev/usb/ttyUSB1. Nach einem abgebrochenen Synchronisationsvorgang wandert das Gerät dann auf /dev/usb/ttyUSB2 und /dev/usb/ttyUSB3 Der Synchronisationssoftware gegenüber, etwa dem Kommandozeilen-Werkzeug pilot-xfer oder dem grafischen J-Pilot müssen Sie dabei stets den höheren Port mitgeben, also /dev/usb/ttyUSB1 oder /dev/usb/ttyUSB3. Welcher Port gerade aktuell ist, erfahren sie mit einem tail -f /var/log/messages vor dem Drücken des Synchronisationsknopf am Handheld. Die Dokus der Synchronisationssoftware geben meist an, den unteren der beiden Ports, die sich das Gerät schnappt, in die Konfiguration einzugeben. Das führte zumindest bei Suse 9.3 und Ubuntu nie zum Erfolg. Ein kurzes Howto zu USB und PalmOS-basierten Geräten unter Linux finden Sie unter [4], mehr zum Thema Hotplugging im LinuxUser 03/2005 erfahren [5].
Mehr Rechte
Als müssen Sie bei Suse die Rechte der Devices anzupassen, auf denen der Palm Pilot zu erwarten ist. Dies ließe sich mit chmod 666 /dev/usb/ttyUSBX erledigen. Besser ist es aber den User, der den Palm benutzen will, der Gruppe uucp hinzuzufügen, der die Devices gehören. Dazu ermitteln Sie mit groups die aktuellen Gruppen, zu denen der User gehört. Dann nutzen Sie als Root dann den Befehl usermod und fügen die Gruppe uucp den durch Komma getrennten vorhandenen Gruppen an, also zum Beispiel
usermod -G users,dialup,? video,uucp testuser
Alternativ könnnen Sie diese Aufgaben auch via Yast erledigen, den Sie ohnehin brauchen, falls J-Pilot noch nicht installiert ist.
Die bei Suse 9.3 verwendete Version von J-Pilot stürzt reproduzierbar ab, nachdem der PDA schon eine erfolgreiche Synchronisation gemeldet hat. Abgeglichens Daten sind jedoch anschließend nicht im J-Pilot vorhanden. Als Ursache stellt sich die per Default aktivierte Mail-Synchronisation heraus, die sich laut der Entwickler noch im Alpha-Stadium befindet. Deaktivieren Sie sie unter File | Preferences | Conduits das Pilot-MailSync-Plugin (Abbildung 1), so gehören die Abstürze der Vergangenheit an. Allerdings hat die bei Suse mitgelieferte Version auch Probleme mit den Umlauten. Die J-Pilot-FAQ empfiehlt hier, unter File | Preferences | Locale die Einstellung Host UTF-8 < -> Palm Windows 1250 (EE) zu wählen. Doch davon zeigt sich das Programm unbeeindruckt. Abhilfe schafft das Neukomplilieren aus den Quellen mit GTK-2-Unterstützung. Besorgen Sie sich dazu die J-Pilot-Sourcen von http://www.jpilot.org/ und installieren Sie über Yast zusätzlich die pilot-link-Headerfiles, also das Paket pilot-link-devel und die Pango-Headerfiles, die im Paket pango-devel stecken.

Abbildung 1: Der bei Suse 9.3 mitgelieferte JPilot hat die experimentelle Mailsync-Unterstützung aktiviert. Das führt zu reproduzierbaren Crashes beim Synchronisieren. Deshalb: Den zweiten Punkt von unten abschalten.
Nach dem Entpacken der J-Pilot-Quellen mit tar xvzf jpilot-0.99.7.tgz wechseln Sie in das entstandene Verzeichnis und bauen mit
./configure --enable-gtk2;make
die Software. Ein anschließendes make install als Root installiert den frisch hergestellten J-Pilot unterhalb von /usr/local, so dass Sie die alte, unter /usr/bin liegende Version noch zur Verfügung haben. Ein Aufruf von
/usr/local/bin/jpilot
demonstriert, dass die neue Software die vorhandenen Daten anstandslos benutzt, und jetzt auch die Umlaute richtig darstellt (Abbildung 2).
Kontakthemmungen
Kontact (beziehungsweise KPilot) hat einen Wizard (Abbildung 3), der an den üblichen verdächtigen Stellen nach einem Handheld sucht, USB-Ports inklusive. Er erkennt einen vorhandenen Palm Pilot aber nur, wenn der der Besitzer auch zur Gruppe uucp gehört. Von geänderten Rechten an den Gerätedateien lässt er sich nicht beeindrucken, sondern verweigerte die Erkennung. Sind die Rechte richtig gesetzt, gibt sich das der Zauberer trotzdem bockig, wenn auch manchmal nur scheinbar. Nach erfolgreicher Erkennung der Hardware inklusive Synchronisation und zufriedenem Piepen des Palms murrt er nämlich in einem Bildschirmfenster, er könne leider kein Gerät erkennen (Abbildung 4). Die Daten waren aber bereits in Kontact angelangt, auch wenn sich die Oberfläche bemühte, sie nach Kräften vor dem Anwender zu verbergen (Abbildung 5). Der “Formatted Name” bleibt leer und bei einer fehlenden E-Mail-Adresse sieht der Nutzer auf den ersten Blick gar keine Daten. Erst ein Verschieben der Feldbegrenzer nach links macht sie sichtbar.

Abbildung 4: Der KPilot Configuration Wizard findet keine Hardware – manchmal aber auch nur scheinbar. Das Fenster tauchte gelegentlich auch bei erfolgreicher Kontaktaufnahme zum Pilot auf.

Abbildung 5: Kontact referenziert Adressen nach dem “Formatted Name”. Beim Palm-Import blieb dieses Feld jedoch leer. Kontact hat gelegentlich auch mit Umlauten zu kämpfen.
Tatsächlich oder scheinbar erfolglose Erkennungsversuche bringen das mitunter etwas labile Konstrukt aus Udev-Filesystem, Hotplug-Daemon und speziellen Skripten für die Zusammenarbeit von Palm und KDE manchmal so aus dem Tritt, dass nach der Erkennung keine Synchronisation erfolgt. Abziehen und späteres Wiedereinstecken des USB-Kabels führen dann unter Umständen doch noch dazu, dass nicht nur die Erkennung der Hardware funktionierte, sondern auch die Synchronisation. Mit Umlauten und Sonderzeichen hat aber auch Kontact zu kämpfen.
Davon abgesehen stellt Kontact unter Suse 9.3 sicherlich die bequemste Art dar, Daten zu sychronisieren, wenn es einmal funktioniert. Ein Skript erledigt im Hintergrund die Aktualisierung der Daten. Es genügt, den Palm anzuschließen und den Sync-Knopf zu drücken, unabhängig davon, ob Kontact gerade läuft oder nicht. Wer kein Freund integrierter Lösungen ist, hat mit einem neu kompilierten J-Pilot eine ausgereifte Software zur Verfügung – unter Verzicht auf etwas Bequemlichkeit.
Ubuntu und Evolution
Unter der Debian-basierten Distributione Ubuntu erweist sich der Datenabgleich als problemlos. Ubuntu Linux setzt auf den Gnome-Desktop, das heitß: Evolution als PIM. Hier funktioniert die Erkennung und Synchronisation des Tungsten E auf Anhieb. Unter Tools | Pilot Settings tragen Sie /dev/ttyUSB1 ein. Im Reiter Conduits müssen Sie anschließend die entsprechenden Hilfprogramme zur Synchronisation auswählen, hier sind standardmäßig alle deaktiviert. Ärgerlich allerdings, dass auch hier die Umlaute nicht funktionierten. Wer auf ernsthafte Schwierigkeiten beim Synchronisieren stößt, sollte überprüfen, ob das Paket pilot-link vorhanden ist, und gegebenenfalls über Synaptic oder apt-get install pilot-link nachinstallieren. Eine kurzes Howto für den offensichtlich störrischeren Zire 31 ist auf [6] zu finden.
Glossar
-
Conduits
-
Hilfsprogramme zur Sychronisation bestimmter Datentypen zwischen PDA und PC. Für die Synchronisation von Kontaktdaten, To-Do-Listen, Kalendereinträgen, Dateien und so weiter ist jeweils immer ein bestimmtes Conduit verantwortlich.
Infos
[1] J-Pilot: http://www.jpilot.org
[2] Kontact: http://www.kontact.org/
[3] Pilot-Link http://www.pilot-link.org/
[4] Palm-USB-Howto: http://pilot-link.org/README.usb
[5] Marcel Hilzinger, Oliver Frommel, Rene Rebe: “Mit heißer Nadel”, LinuxUser 03/2005, S. 91 ff.
[6] Palm Zire Howto für Ubuntu: http://www.ubuntulinux.org/wiki/PalmZire31HOWTO






