Die Desktopsuche unter KDE SC 4 verbrauchte bisher zu viele Ressourcen und ließ eine ansprechend gestaltete Suchmaske vermissen. Das Team aus Baloo und Milou will es jetzt besser machen.
Wer große E-Mail- und Datenbestände pflegt, braucht eine Indexierung und Suchmasken, um schnell mittels Stichwörtern bestimmte Datensätze zu finden. Das Problem dabei: Die Daten werden je nach Anwendung in verschiedenen Dateiformaten gespeichert und lassen sich daher nicht sinnvoll verknüpfen. Das soll sich mit dem semantischen Desktop [1] ändern.
KDE SC 4 brachte die Anfänge eines solchen semantischen Desktops mit und setzte dabei auf ein von der europäischen Union gefördertes Projekt namens Nepomuk [2]. Die Abkürzung steht für “Networked Environment for Personalized, Ontology-based Management of Unified Knowledge” und beschreibt ein Framework, das Metadaten mithilfe von Ontologie [3] aus verschiedenen Desktopanwendungen sammelt, strukturiert und vernetzt.
Um diese Daten sinnvoll verknüpft darzustellen, kommt im Hintergrund das Resource Description Framework RDF [4] zum Tragen. Dabei handelt es sich um ein System zur Beschreibung von Ressourcen, welches das Assoziieren von Metadaten über Dateiformate hinweg erlaubt.
Baustellen
Allerdings erweist sich in der Praxis RDF als jene Baustelle, die die Indizierung der Datenbestände zum Geduldsspiel macht. Eine weitere stellt Akonadi [5] dar, das PIM-Daten wie E-Mails und Kontakte zum Indexieren aufbereitet. Beide Anwendungen entwickeln im Zusammenspiel extremen Speicherhunger und duplizieren unnötigerweise sowohl Datenbestände als auch Code.
Zwar wurde Nepomuk in den letzten Versionen von KDE SC 4 schneller und gilt nun als ausentwickelt, dennoch stellt es die Entwickler nicht zufrieden. Der zunächst gestartete Versuch, mit Virtuoso das KDE-eigene RDF-Werkzeug umzuschreiben, führte in eine Sackgasse. Daraus reifte die Erkenntnis, dass RDF zwar das richtige Werkzeug ist, aber auf dem Desktop schlecht skaliert und in seiner Implementation zu mächtig ausfällt.
Neubeginn mit Baloo
Die Neuentwicklung Baloo [6] bündelt die gesamte Funktionalität von Nepomuk, verzichtet dabei jedoch auf RDF. Stattdessen setzt Baloo auf dezentrale, per Plugins implementierte Datenhaltung. Die Basis dazu bilden die drei Dienste Data Stores, Search Stores und Relations. Während Data Stores der permanenten Datenspeicherung dienen, übernehmen Search Stores die Suche und teilen sich dabei in File Search, Email Search und Contact Search auf.
Dabei kümmert sich Baloo nur um Dateien, E-Mails und Kontakte delegiert es weiterhin an Akonadi. Da dieses die Daten aber bereits selbst speichert, genügt dazu je ein Search Store, jeweils über die Suchmaschinen-Bibliothek Xapian [7] realisiert. Die Relations übernehmen beispielsweise die Verknüpfung der Gemeinsamkeiten einer E-Mail mit einer Datei, etwa anhand des Autors.
In medias res
Genug der technischen Hintergründe – wie funktioniert nun die verbesserte Suche in KDE SC 4.13? Baloo ist standardmäßig aktiviert, fällt aber trotzdem nicht unangenehm auf: Die Indizierung läuft schnell und ressourcenschonend im Hintergrund. In Systemeinstellungen | Desktopsuche finden sich zunächst sehr wenige Möglichkeiten, die Indizierung zu steuern. Hier gibt es lediglich die Option, die Suche zu deaktivieren, sowie eine Maske zum Ausschluss von Ordnern.
Daneben existiert mittlerweile ein alternativer Einstellungsdialog, der mehr zu bieten hat (Abbildung 1). Er findet sich an gleicher Stelle wie der alte, zurzeit sogar noch hinter dem gleichen Icon, und kommt nach der Installation von baloo-kcmadv zum Vorschein. Neben einer Blacklist zum Ausschluss gibt es hier auch eine Whitelist sowie die Möglichkeit, per Datei- und MIME-Filter [8] Dateitypen auszuschließen (Abbildung 2).
Welche der beiden Masken künftig den Standard darstellen soll, ist bislang noch unklar.
Vom Suchen und Finden
Die Suche stoßen Sie auch künftig wie gehabt über die Suchmaske im Dateimanager Dolphin an (Abbildung 3). Zusätzlich gibt es aber mit Milou [9] jetzt ein grafisches Werkzeug, das neben der Aufbereitung der Suchergebnisse noch mehr bietet.
Das als Plasmoid ausgelegte Milou integriert sich in die Kontrollleiste. Der Paketname zur Installation lautet plasma-widget-milou, die meisten Distributionen führen es mittlerweile in ihren Paketbeständen. Nach der Installation fügen Sie das Plasmoid über einen Klick auf Mini-Programme nachinstallieren in die Kontrollleiste ein.
Nach einem Klick auf das neue Icon zeigt sich zunächst lediglich eine Eingabezeile für Suchbegriffe. Bereits während der Eingabe eines oder mehrerer Suchbegriffe klappt eine Liste mit entsprechenden Fundstücken auf. Milou zeigt E-Mail, Bilder, Dokumente, Ordner, Audio- und Videodateien, Anwendungen und Rechner an. Die Reihenfolge dürfen Sie per Rechtsklick verändern, nach dem Entfernen des Häkchens vor einem Dateityp erscheint dieser bei künftigen Suchen nicht mehr.
Milou beherrscht eine Vorschau, die bei der Identifizierung von Fundstücken hilft (Abbildung 4). Derzeit unterstützt die Preview noch nicht alle Dateitypen, für PDF- und ODT-Dokumente etwa erscheinen lediglich Icons. Die Inhalte von E-Mails und Fotos sowie Dateien im TXT-Format stellt die Vorschau dagegen dar.
Bislang kommt Milou nur mit den E-Mail-Beständen von Kmail klar, da nur diese standardmäßig indiziert werden. Thunderbird und andere Mailclients binden Sie bei Bedarf ein, indem Sie ihnen in der Akonadi-Konsole etwa eine Mbox-Ressource zuweisen.
Ein Klick auf ein Fundstück öffnet dieses in der zugehörigen Applikation. Somit lässt sich Milou im Stil von Krunner auch als Programmstarter nutzen, indem Sie den Programmnamen in die Suchmaske eingeben. Zudem kann Milou ein wenig rechnen. Die Bibliothek hinter Milou ist ansonsten noch recht beschränkt.
Krunner als Mädchen für alles [10] steht am Ende seines Lebenszyklus. Im Hintergrund steht für Milou allerdings schon eine neue leistungsfähige Bibliothek namens Sprinter bereit, die zukünftig das Applet steuern soll. Weitere Hintergründe dazu liefert ein Blogeintrag von Plasma-Entwickler Aaron Seigo [11].
Umzugshelfer
Bei der Installation von oder der Aktualisierung auf KDE SC 4.13 werden bestehende Nepomuk-Datenbanken meist automatisch konvertiert. Das zeigt sich in der Datei ~/.kde4/share/config/nepomukserverrc, an deren Kopf dann der Eintrag [Baloo] migrated=true steht. Fehlt er, so können Sie das Umwandeln auch manuell anschieben. Dazu verwenden Sie das im Paket nepomuk-core-runtime enthaltene Skript nepomukbaloomigrator.
Zuerst prüfen Sie mittels des Befehls nepomukctl status, ob Nepomuk läuft. Als Ergebnis sollte zumindest die Zeile Nepomuk Server is running erscheinen. Ist das nicht der Fall, starten Sie den Server per nepomukctl start. Danach besorgt der Befehl nepomukbaloomigrator das Umwandeln der Daten ins Baloo-Format. Anschließend liegen die umgewandelten Daten je nach Distribution unter ~/.kde/share/apps/baloo oder ~/.local/share/baloo.
Fazit und Ausblick
Baloo löst das ein, was Nepomuk einst versprach: Eine Indexierung, die im Hintergrund abläuft, dank Milou kombiniert mit einer komfortablen Suche in den Datenbeständen. Derzeit profitieren die PIM-Suite Kontact, Dolphin und Gwenview bereits von der semantischen Suche. Digikam arbeitet ebenfalls bereits mit Baloo zusammen, wenn auch noch nicht alle Distributionspakete von Nepomuk auf Baloo umgestellt sind. Amarok dagegen bleibt derzeit noch außen vor.
Insgesamt kann sich auf Dauer der Arbeitsfluss mehr an Activities [12] ausrichten, wenn sich ab KDE SC 4.14 wieder Dateien mit Aktivitäten verknüpfen lassen. Die Verknüpfung von verschiedenen Dateitypen im Index erleichtert die tägliche Arbeit – etwa indem zu einem Kontakt im Adressbuch das Gesicht aus der Fotosammlung erscheint, dazu der E-Mail-Verkehr und weitere Dokumente.
Kurz vor dem Eintritt in den fünften Zyklus der KDE SC wird damit aus einem bislang oft unbenutzbaren Werkzeug ein brauchbarer Dienst, der unbemerkt im Hintergrund seine Arbeit verrichtet. Die übersichtliche grafische Präsentation der Suchergebnisse in Milou dürfte zukünftig, mit einer neuen Bibliothek im Hintergrund, noch neue Tricks erlernen. Somit spricht alles dafür, dass kommende KDE-Releases dem Begriff Semantik mehr Leben einhauchen.
Infos
[1] Semantischer Desktop: https://de.wikipedia.org/wiki/Semantischer_Desktop
[2] Nepomuk: http://nepomuk.semanticdesktop.org
[3] Ontologie: https://de.wikipedia.org/wiki/Ontologie_(Informatik)
[4] RDF: https://de.wikipedia.org/wiki/Resource_Description_Framework
[5] Akonadi: http://community.kde.org/KDE_PIM/Akonadi
[6] Baloo: http://dot.kde.org/2014/02/24/kdes-next-generation-semantic-search
[7] Xapian: http://xapian.org
[8] MIME: https://de.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions
[9] Milou: http://vhanda.in/blog/2014/03/introducing-milou/
[10] Krunner: http://aseigo.blogspot.de/2014/01/krunner-beyond-2013.html
[11] Krunner, Sprinter und Milou: http://aseigo.blogspot.de/2014/03/krunner-sprinter-and-milou-sorting-it.html
[12] Activities: http://docs.kde.org/stable/de/kde-workspace/plasma-desktop/zooming-user-interface.html









