Baloo
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Baloo 🇬🇧 ist ein Hintergrunddienst, welcher unter dem KDE Plasma Desktop zur Dateiindizierung und -suche verwendet wird.
Die drei Kern-Plugins sind der Datenspeicher (Data Stores), Suchspeicher (Search Stores) und die Beziehungen (Relations). Diese Unterteilung erlaubt Stichwörter, Suchbegriffe und Zusammenhänge unabhängig von den Original-Daten zu speichern und somit permanent im Datenspeicher zur Verfügung zu stellen.
Die "TagRelations" verbinden dabei Daten aus verschiedenen Quellen. So wird es beispielsweise möglich, von Akonadi bereitgestellte - und auch weiterhin verwaltete - PIM-Daten mit lokalen Dateien aus dem Dateisystem zu verknüpfen.
Gespeichert werden die Informationen in einer Kombination zwischen Xapian und SQLite. Xapian ist eine Suchmaschinenbibliothek, welche unter der GPL v2+ veröffentlich wurde.
Installation¶
Unter dem KDE Plasma Desktop ist Baloo bereits vorinstalliert und aktiviert. Das Metapaket baloo
wurde in neueren Versionen (ab Xenial) ersatzlos gestrichen, eine Nachinstallation ist über das Paket baloo-kf5
möglich.
baloo-kf5 (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install baloo-kf5
Oder mit apturl installieren, Link: apt://baloo-kf5
Vorgehensweise¶
Baloo macht sich selbst zur Aufgabe mit möglichst wenig Speicherbedarf eine extrem schnelle Suche zu gewährleisten. Ebenfalls werden zusätzliche Metadaten durch die Erweiterung von Dateiattributen ermöglicht. So können beliebige Dateien mit weiteren Schlagworten und auch Kommentaren versehen werden.
Baloo baut dabei einerseits auf einen Datenspeicher, so wie auf einen Suchspeicher auf. Der Datenspeicher kann ein freies Format und eine freie Schnittstelle (API) haben, so dass für die entsprechenden zu speichernden Daten die jeweils beste Speicherform gewählt werden kann.
Der Suchspeicher wird mittels Plugins realisiert, dessen Sucheigenschaften speziell auf festgelegte Datentypen ausgerichtet sind. Standardmäßig bringt Baloo drei Plugins für folgende Typen mit:
Dateisuche
Emailsuche
Kontaktsuche
Auch hier kann jedes Plugin seine eigene Schnittstelle mitbringen.
Benutzung¶
Baloo wird hauptsächlich von anderen Programmen zur Präsentation von Suchergebnissen verwendet. Beispielhaft wären der KRunner und Dolphin zu nennen. Ebenso gibt es Milou, welches als Plasmoid-Suchschnittstelle einsetzbar ist. Um auf der Kommandozeile zu suchen oder Informationen anzuzeigen liefert Baloo die Programme balooshow
und baloosearch
mit.
balooshow¶
Balooshow zeigt Informationen über die ausgewählte Datei. Allgemeine Syntax:
balooshow [OPTIONEN] Datei
Beispiele:
balooshow Bilder/Beispielbild.png
Keine Indexinformationen gefunden
bedeutet, diese Bild wurde noch nicht indiziert.
balooshow Bilder/Beispielbild.png
36048747142053933 45 8393253 /home/user/Bilder/Beispielbild.png Breite: 1920 Höhe: 1080
Ausgabe nach der Indizierung, welche durch balooctl index Bilder/Beispielbild.png
gestartet wurde.
baloosearch¶
Baloosearch ist das Kommandozeilen-Tool für die Suche. Alle indizierten Dateien lassen sich damit per Stichwortsuche finden.
Die allgemeine Syntax lautet:
baloosearch [OPTIONEN] ABFRAGE
Anwendungsbeispiele¶
Hier dient als Beispiel die tag-Suche. Verwendet man, z.B. unter Dolphin, die Funktion "Stichwörter hinzufügen", landen diese in der Datei-Datenbank. Um gezielt nach diesen zu suchen bietet sich der Parameter //?query=EIGENSCHAFT:
an. Mit diesem lassen sich gezielt Stichworte, Dateinamen, Künstler, etc. suchen und die damit gekennzeichneten Dateien ausgeben.
baloosearch //?query=EIGENSCHAFT:SUCHBEGRIFF
Der Suchbegriff ist "case-insensitiv" (heißt, Groß-/Kleinschreibung wird ignoriert), kann dabei mit dem Asterisk(*) vervollständigt, aber nicht als genereller Joker verwendet werden. Es muss mindestens der Anfangsbuchstabe vorgegeben werden und nach dem Asterisk darf kein Zeichen mehr folgen. Die Verknüpfung von mehreren Suchbegriffen wird mittels OR
oder AND
realisiert.
Einige Beispiele:
#Suche nach Stichwort baloosearch //?query=tag:Urlaubsbild #Suche nach Stichwort und Breite baloosearch //?query=tag:Urlaubsbild AND width:100 #Suche nach mehreren Stichworten baloosearch //?query=tag:Urlaubsbild AND tag:Familie #Suche nach Künstler UND Stichwort laut baloosearch //?query=artist:Iron* AND tag:laut #Suche nach allen Künstlern, die mit A beginnen und baloosearch //?query=artist:A* AND title:B* #Suche nach Künstler und Genre baloosearch //?query=artist:M* AND genre:Hörbuch
Einstellungen¶
per GUI¶
Mit der grafischen Oberfläche lassen sich absichtlich nur wenige Einstellungen vornehmen.
In der Dateisuche können Ordner aus der Indizierung ausgeschlossen werden.
balooctl¶
Balooctl ist das Kontrollprogramm für Baloo. Es bietet verschiedene Möglichkeiten die Konfiguration auf der Kommandozeile einzustellen oder Informationen abzufragen.
Allgemeine Syntax:
balooctl [Optionen] ARGUMENTE
mögliche Argumente:
Befehl | Beschreibung |
status | Status der Indizierung anzeigen |
enable | Datei-Indizierung aktivieren |
disable | Datei-Indizierung deaktivieren |
purge | Datenbank entfernen |
suspend | Datei-Indizierung aussetzen |
resume | Datei-Indizierung wieder aufnehmen |
check | Nach nicht indizierten Dateien suchen und indizieren |
index | Angegebene Dateien indizieren |
clear | Angegebene Dateien nicht mehr indizieren |
config | Baloo-Einstellungen bearbeiten |
monitor | Echtzeitüberwachung starten |
indexSize | Verwendeten Speicherplatz anzeigen |
failed | Dateien mit fehlgeschlagener Indizierung auflisten |
balooctl config¶
Die Option balooctl config
bietet folgende Optionen:
Befehl | Beschreibung | Beispiel |
add | Fügt den Wert eines Einrichtungs-Parameters hinzu. Im Beispiel wird der Pfad /var/log indiziert. | balooctl config add includeFolders /var/log/ |
rm | remove | Entfernt den Wert eines Einrichtungs-Parameters. Im Beispiel wird der obige Eintrag wieder entfernt. | balooctl config remove includeFolders /var/log |
list | ls | show | Zeigt den Wert eines Einrichtungs-Parameters | balooctl config ls includeFolders |
set | Setzt den Wert eines Einrichtungs-Parameters. Im Beispiel wird die Indizierung versteckter Orte erlaubt. | balooctl config set hidden true |
Datenbanken löschen¶
Balooctl bietet Optionen zur Löschung an. Es können Daten selektiv aus dem Index gelöscht oder wahlweise die ganze Datenbank vernichtet werden. Alle Zusatzinformationen gehen dabei verloren!
selektiv¶
balooctl clear ~/vergiss.mich balooctl clear ~/Musik/NieWiederHören/
vernichtend¶
balooctl purge
manuell¶
Der manuelle Weg für ältere Plasma-Versionen:
1 2 3 4 5 6 7 8 9 10 11 | # Indexdienst beenden balooctl disable #Datenbank manuell löschen rm ~/.local/share/baloo/index* #Wert für Initialisierung setzen kwriteconfig5 --group General --key "first run" --type bool true #Indexdienst neu starten balooctl enable |
Problembehebung¶
baloo_file benötigt 100% CPU¶
Die Indizierung der Dateien benötigt beim ersten Start - oder nach dem Neuaufbau der Informationen - sehr viel Rechenleistung. Für gewöhnlich dauert dieser Vorgang nur einige Minuten. Sollte dieser jedoch länger anhalten, kann ein Neuaufbau der Datenbank helfen. In jedem Fall sollte ein Fehlerbericht unter bugs.kde.org eingereicht werden.
baloo hängt bei einer Datei¶
Sollte die Indexierung bei einer einzelnen Datei hängen, so kann man diese mit
qdbus org.kde.baloo /fileindexer org.kde.baloo.fileindexer.currentFile
ermitteln.
Links¶
intern¶
extern¶