KDEs Groupware-Client Kontact glänzt zwar mit beeindruckender Funktionsvielfalt, produziert jedoch gelegentlich auch ärgerliche Fehler. Kein Problem – wenn Sie wissen, wo Sie hinlangen müssen.
E-Mail, Kontakte, Kalender, Aufgaben, Notizen, (RSS-)Nachrichten und Journale (Tagebücher) – schon das Standard-Spektrum der Kontact-Module (Abbildung 1) lässt ahnen, dass hier eine Software werkelt, die weit mehr bewerkstelligt als nur E-Mails zu verwalten. Wer dann seinen Account konfiguriert, der findet in den Tiefen der Einstellungsdialoge für jedes dieser Module eine meist lange Liste zusätzlicher Dienste, die zum Einbinden bereitstehen.

Abbildung 1: Kontact will nicht nur einen Mail-Client bieten, sondern ein Personal Information Management (PIM), klassisch Groupware genannt.
Unüberschaubar
Doch nicht alle der zahlreichen Konfigurationsoptionen, Einrichtungsdialoge und Module arbeiten ohne Fehler. Generell gilt: Je neuer das im Standardumfang der KDE SC enthaltene Kontact [1] ausfällt und je länger ein Modul schon dabei ist, umso besser funktioniert es. Im Falle der Kalendermodule (Abbildung 2) heißt das: Bei Google, Facebook, Kolab und den verschiedenen Arten, Termine in Dateien zu speichern, sollten nur wenige Probleme auftreten. Eine Anbindung an Microsofts Exchange-Server verwarfen die Entwickler übrigens mangels Nachfrage wieder.

Abbildung 2: Alleine für das Kalendermodul stehen zahlreiche zusätzliche Komponenten zum Einsatz bereit.
Die unüberschaubare Vielfalt stellt aber nicht das einzige Problem dar: Viele der Einstellungen und Dialoge tauchen auch an anderer Stelle erneut oder in anderer Ausprägung wieder auf – etwa in der Systemsteuerung, in Setup-Wizards oder den Diagnosetools.
Akonadi
Besonders wenn ein Anwender mehrere Accounts verwendet, werkelt im Hintergrund eine ganze Palette von Diensten, die die Suche, das Indizieren und Speichern der Daten übernehmen. Im Rahmen des semantischen Desktops, den KDE anstrebt, unterstützen vor allem vier Dienste beziehungsweise Programme Kontact und KDE: Akonadi, Nepomuk, Soprano und Virtuoso.
Vereinfacht erklärt liefert Akonadi [2] als Speicherdienst die Storage-Engine für die Daten, wobei es Informationen desktopweit und eindeutig adressierbar bereitstellt. Damit sind alle Akonadi-tauglichen Anwendungen in der Lage, unkompliziert Daten miteinander zu teilen und zu ändern. Das nach einer afrikanischen Gottheit benannte Akonadi beispielsweise holt die E-Mails ab, checkt Kalendereinträge und speichert Adressbücher.
Nepomuk
Komplizierter gestaltet sich da schon die Arbeit von Nepomuk [3]. Das “Networked Environment for Personal Ontology-based Management of Unified Knowledge” will den semantischen Desktop des KDE-Projektes entwickeln und Metadaten jeder Form schnell und unkompliziert zur Verfügung stellen. Stark vereinfacht dargestellt indiziert Nepomuk die Daten aus Akonadi und hilft dem Anwender über teils automatisch generierte Tags und Stichwörter, bei der Suche schnellere und bessere Ergebnisse zu erzielen. Hier kommen Soprano und Virtuoso ins Spiel, Datenbank-Backends und Bibliotheken, die der Anwender eigentlich gar nicht zu Gesicht bekommen sollte. Trotzdem drängen sie sich manchmal in den Vordergrund – vor allem Virtuoso.
In der Praxis
Lief bei Ihnen die Kontact-Suite schon immer tadellos und traten nach dem Einrichten von Mailclient, Google-Kalender und ähnlichen Ressourcen keine Probleme mit KDE oder Kontact auf, dann zählen Sie zu den wenigen glücklichen Ausnahmen unter den KDE-Anwendern. Erst etwa ab KDE SC 4.10 läuft das komplexe Gespann überwiegend fehlerfrei. Die zu Redaktionsschluss aktuelle Version 4.12.2 überzeugt in Sachen Stabilität und liefert von Haus aus fast sofort Suchergebnisse aus allen Datenquellen. Abbildung 3 zeigt eine Suche über den Dialog Befehl ausführen, den Sie mit [Alt]+[F2] erreichen. Dessen Einstellungen erreichen Sie über das Schraubenschlüssel-Icon am linken Rand. Ebenso zeigt ein Popup im To:-Feld von Kmail alle zur Eingabe passenden E-Mail-Adressen – nicht nur die aus dem Adressbuch, sondern auch solche, die beispielsweise in PDFs auf der Festplatte liegen.

Befehl ausführen auch Suchergebnisse aus E-Mails, Dateien, Bookmarks, Kalender und vielem mehr an.” width=”300″ height=”169″ />
Abbildung 3: Dank Nepomuk und Konsorten zeigt der DialogBefehl ausführen auch Suchergebnisse aus E-Mails, Dateien, Bookmarks, Kalender und vielem mehr an.Probleme
Doch bis dahin war es ein langer Weg: Zwei der größten Problemfelder des Backends waren der Suchdienst Nepomuk und seine Datenbank-Engine Virtuoso. Nicht selten berichteten Anwender über langsame Rechner, nachdem sie Kontact eingerichtet hatten. Auch brachten Suchanfragen keine oder fehlerhafte Ergebnisse. Wer mit top oder der Systemsteuerung den nervigen Prozessen auf die Schliche kommen wollte, fand beispielsweise Nepomuk zugeordnete virtuoso-t-Prozesse, die Gigabytes an Speicher belegten und die CPU über Stunden mit annähernd 100 Prozent auslasteten.
Dazu kam ein weiteres Problem, bei dem die Entwickler allerdings keine Schuld trifft: Die vielen verschiedenen Backends (Facebook, Google etc.) beispielsweise für Kontact machen es schwer, den Überblick über die Einstellungen zu behalten. Wer Kontact zu sehr verkonfiguriert hat, dem hilft häufig nur noch das Anlegen eines neuen Benutzerkontos, um wieder zurück zu einer funktionierenden und schnellen Arbeitsumgebung im Ursprungszustand zu gelangen. Doch bevor Sie diesen harten Eingriff erwägen, sollten sie zu den im Folgenden vorgestellten hilfreichen Werkzeugen für den laufenden Betrieb greifen.
Akonaditray
Das Werkzeug Akonaditray klinkt sich im Systemtray ein, wo Sie es per Rechtsklick auf Akonadi-Modul starten (Abbildung 4). Im ersten der beiden Reiter stellen Sie die Ressourcen zentral ein, im zweiten finden Sie unter Status die Schaltflächen Test, Stopp und Neu starten.

Abbildung 4: Die Akonadi-Einrichtung mit Akonaditray. Ein Reiter kümmert sich ums Ressourcenmanagement, der andere um Treiber und vor allem um Test und Restart von Akonadi.
Es lohnt sich gerade für Akonadi-Einsteiger, einmal einen Test oder einen Neustart anzustoßen, um sich ein Bild davon zu machen, was Akonadi dabei alles erledigt. Die Ausgabe in den Informationsdialogen stellt das Tool übersichtlich und klar dar, bietet aber dennoch viele bisweilen hilfreiche Details.
Akonadiconsole
Deutlich mehr Möglichkeiten des Debuggings eröffnet die Akonadiconsole, die Sie mit akonadiconsole starten. Das Tool nutzen in der Regel nur Entwickler oder Administratoren, denn es erschlägt mit einer wahren Flut an Detailinformationen und Werkzeugen für jedes Problem. Im Browser (Abbildung 5) zeigt die Software einen einzelnen Kalender-Termin an. Da es sich hier um eine Kolab-Groupware-Ressource handelt, liegt sie als eine E-Mail mit Termindaten im XML- beziehungsweise Vcal-Format vor. Bei einem Klick auf eine Zeile in der Liste rechts zeigt Akonadiconsole unten im Bereich Raw Payload die Rohdaten des Termins, den Kontact als bunten Eintrag im Kalender am entsprechenden Tag darstellt.

Abbildung 5: Die Akonadiconsole bietet vielfältige Möglichkeiten, von Akonadi gespeicherte Daten zu sichten und zu verwalten.
Fortgeschrittene Benutzer und Entwickler verwenden die Konsole dazu, um über die Reiter Debugger, Query Debugger oder Monitors Details über laufende Vorgänge, Fehler und Akonadi-Objekte zu erhalten.
Steuerung
Auch auf der Kommandozeile bietet Akonadi einige hilfreiche Optionen. Das Kommando akonadictl status zeigt den Zustand des Akonadi-Servers an, akonadictl start beziehungsweise akonadictl stop starten respektive beenden den Dienst; akonadictl restart führt einen Neustart aus. Vor allem nach Updates und bei Problemen, die nach solchen Aktualisierungen auftauchen, bietet sich dieses Kommando an: Einige Probleme, die im Betrieb Schwierigkeiten bereiten, löst Akonadi beim Neustart.
Mit Vorsicht genießen sollten Sie das Kommando akonadictl vacuum, das unter Einsatz vieler Ressourcen (CPU und Festplatte) den internen Speicher zu löschen versucht. Der Aufruf akonadictl fsck prüft die Konsistenz der Datenbank und versucht, gängige Fehler zu reparieren.
Nepomukctl
Das Kontrollkommando von Nepomuk heißt Nepomukctl. Sie geben nepomukctl zusammen mit einer der Optionen start, stop, restart oder status ein, um analog zu Akonadictl den Dienst zu stoppen oder starten und Informationen zu erhalten. Weil Nepomuk über eigene Unter-Dienste verfügt (Storage, Dateiüberwachung und Indexer sowie gegebenenfalls weitere, etwa für Programme wie Digikam), können Sie auch diese im Einzelfall dediziert steuern, beispielsweise mit nepomukctl status (Listing 1).
Listing 1
$ nepomukctl status Nepomuk Server is running. Service storage is running. Service fileindexer is running. Service filewatch is running. Service digikamnepomukservice is running.
Die beiden Programme benötigen zum Ausführen keine Root-Rechte. Möchten Sie tiefer in die Materie einsteigen, dann sollten Sie sich die anderen Tools und ihre Dokumentation ansehen, die Nepomuk und Akonadi mitbringen. Darunter befinden sich interessante Werkzeuge für Migration, Export und Backup, aber auch Dienstprogramme zum Aufräumen.
Frühjahrsputz
Sowohl KDE und Kontact als auch Akonadi und Nepomuk speichern ihre Daten als Klartextdateien und Datenbanken in Ihrem Heimatverzeichnis. Das erweist sich als sehr hilfreich, wenn Sie beispielsweise eine Konfiguration erstellen und diese auf mehreren Rechnern verwenden wollen. Hier genügt es, die relevanten Daten von einem Rechner zum anderen zu kopieren. Allerdings müssen Sie darauf achten, dass Ihnen Benutzernamen, -rechte und -IDs keinen Strich durch die Rechnung machen: Die müssen auf Quell- und Zielsystem gleich lauten – zumindest dann, wenn sie in den Konfigurationsdateien vorkommen.
Ebenfalls hilfreich mag unter Umständen das simple Löschen all dieser Dateien erscheinen, zum Beispiel dann, wenn Sie einen Account “zurücksetzen” möchten. Das betrifft alle Einstellungen von Kontact, den Akonaditools, Nepomuk und unter Umständen auch der KDE-Systemsteuerung. Die zugehörigen Informationen liegen an verschiedenen Orten: In der Regel, etwa unter OpenSuse oder Fedora 20, speichert Akonadi die Daten und Datenbanken sowie Fehlerprotokolle unter ~/.local/share/akonadi/. Beachten Sie: Dieses Verzeichnis kann sehr schnell viele GByte Umfang erreichen.
In separaten Verzeichnissen, die zusätzlich den Namen der betreffenden Ressource tragen, etwa akonadi_maildir_resource_0, liegen die lokalen Ordner des E-Mail-Moduls von Kontact. Je nach Installation und Nutzungsverhalten spielen hier auch noch andere Ordner eine Rolle. Ebenfalls unter .local/share/ finden Sie in nepomuk-contact-images die im Adressbuch optional einzelnen Kontakten zugeordneten Bilder.
Unter ~/.config/akonadi/ hinterlegt der Dienst seine Konfiguration sowie die Einstellungen für seine zahlreichen Agenten. Im Beispiel aus Listing 2 definiert Akonadi für den IMAP-Posteingang LinuxUser, dass dieser (wenn möglich) im Zustand Online startet.
Listing 2
$ cat agent_config_akonadi_imap_resource_0 [Agent] Name=LinuxUser DesiredOnlineState=true
Noch mehr Einstellungen und Daten finden Sie in den Verzeichnissen unter ~/.kde/share/. Die Konfigurationsdetails liegen hier unter config/, spezielle Informationen von einzelnen Anwendungen in Unterverzeichnissen unterhalb von apps/. Meist genügt die Bezeichnung der Datei- oder Verzeichnisnamen, um zu verstehen, was KDE hier speichert. Ein Blick in diese Dateien lohnt sich nicht nur, wenn sich ihr Sinn nicht erschließt: Die Konfigurationsdateien sind in der Regel außerordentlich gut dokumentiert. Wer sie löscht, riskiert erst mal nicht viel, denn er setzt damit lediglich alle Einstellungen auf die Vorgabewerte zurück. KDE oder Kontact erstellen sie beim nächsten Start neu, spätestens aber bei der nächsten Konfigurationsänderung.
Auf dem Fedora-20-Testsystem des Autors genügten die Befehle aus Listing 3, um die Konfiguration von Kontact samt Akonadi wieder in den Ausgangszustand nach der Installation zu versetzen. Akonadi und Nepomuk vorher zu stoppen, ist ebenso wichtig wie das Beenden (nötigenfalls per Kill) von Kontact. Andernfalls verbleiben oft Daten im Speicher, die unter Umständen und beim späteren Beenden wieder auf der Festplatte landen.
Listing 3
$ killall -9 kontact $ akonadictl stop $ nepomukctl stop $ rm -rf ~/.config/akonadi $ rm -rf ~/.local/share/akonadi $ rm -rf ~/.kde/share/apps/emailidentities $ rm -rf ~/.kde/share/apps/kmail2 $ rm -rf ~/.kde/share/apps/kontact $ rm -rf ~/.kde/share/apps/korganizer $ rm -rf ~/.kde/share/apps/messageviewer $ rm -rf ~/.kde/share/apps/nepomuk $ rm -rf ~/.kde/share/config/kresources $ rm -rf ~/.kde/share/config/akon* $ rm -rf ~/.kde/share/config/email* $ rm -rf ~/.kde/share/config/kaddressbook* $ rm -rf ~/.kde/share/config/kontact* $ rm -rf ~/.kde/share/config/korga* $ rm -rf ~/.kde/share/config/mailtransports $ rm -rf ~/.kde/share/config/nepomuk* $ rm -rf ~/.kde/share/config/specialmailcollectionsrc
Fazit
Bei Kontact und den Tools aus den KDE-PIM-Paketen handelt es sich um wahre Funktionsmonster. Auch Akonadi und Nepomuk als Backends sorgen nicht immer für mehr Übersicht. Mit den richtigen Werkzeugen und ein wenig Einarbeitung behalten Sie aber trotzdem den Überblick.
Eine gute Nachricht für alle, die sich nach wie vor mit Nepomuk nicht anfreunden können: Auf der Entwicklerkonferenz Fosdem in Brüssel gaben die KDE-Entwickler bekannt, dass sie bereits an einem Ersatz namens Baloo arbeiten [4], der viele Schwächen des Such- und Indizierungsdienstes beheben soll.
Infos
[1] Kontact: http://userbase.kde.org/Kontact/de
[2] Akonadi: http://userbase.kde.org/Akonadi/de
[3] Nepomuk: http://nepomuk.semanticdesktop.org
[4] KDE-Entwickler geben Nepomuk auf: http://www.linux-magazin.de/NEWS/KDE-Entwickler-wollen-Nepomuk-aufgeben





