[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [https://community.kde.org/Baloo Baloo] {en} ist ein [:Dienste:Hintergrunddienst], welcher unter dem [:Plasma: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 - [wikipedia:Personal_Information_Manager:PIM]-Daten mit lokalen Dateien aus dem Dateisystem zu verknüpfen. Gespeichert werden die Informationen in einer Kombination zwischen [https://xapian.org/ Xapian] und [:SQLite:]. Xapian ist eine Suchmaschinenbibliothek, welche unter der [https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html 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. {{{#!vorlage Paketinstallation baloo-kf5, universe }}} =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 [wikipedia:Programmierschnittstelle: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 [packages:milou: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: {{{#!vorlage befehl balooshow [OPTIONEN] Datei }}} Beispiele: {{{#!vorlage befehl balooshow Bilder/Beispielbild.png}}} {{{ Keine Indexinformationen gefunden }}} bedeutet, diese Bild wurde noch nicht indiziert. {{{#!vorlage befehl 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: {{{#!vorlage befehl 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. {{{#!vorlage befehl 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. [[Bild(dateisuche.png,200)]] In der Dateisuche können Ordner aus der Indizierung ausgeschlossen werden. [[Bild(plasmasuchplugins.png,200)]] Die Plasmasuche beinhaltet alle einstellbaren Such-Module. =balooctl= Balooctl ist das Kontrollprogramm für Baloo. Es bietet verschiedene Möglichkeiten die Konfiguration auf der Kommandozeile einzustellen oder Informationen abzufragen. Allgemeine Syntax: {{{#!vorlage befehl balooctl [Optionen] ARGUMENTE }}} mögliche Argumente: {{{#!vorlage Tabelle 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: {{{#!vorlage Tabelle 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=== {{{#!vorlage befehl balooctl clear ~/vergiss.mich balooctl clear ~/Musik/NieWiederHören/ }}} ===vernichtend=== {{{#!vorlage befehl balooctl purge }}} ===manuell=== Der manuelle Weg für ältere Plasma-Versionen: {{{#!code bash # 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 [https://bugs.kde.org/enter_bug.cgi?product=Baloo&format=guided 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 {{{#!vorlage befehl qdbus org.kde.baloo /fileindexer org.kde.baloo.fileindexer.currentFile}}} ermitteln. =Links= ==intern== * [:Desktopsuchmaschinen:] ==extern== * [https://community.kde.org/Baloo KDE-Community Wiki: Baloo]{en} #tag: System, Indizierung, KDE, Plasma