pantomime
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
Hallo, ich bin auf der Suche nach einer Lösung, mit der ich auf einem Ubuntu (oder auch allgemein auf einem Linux-System) erstellte *.desktop-Dateien anhand der Werte im Feld "Keywords=" wieder finden kann. Wenn ich nach
Linux launcher find keywords .desktop entry suche, dann findet man eine Menge Treffer, bspw. In #693918 wurde angeregt und offensichtlich wurde die Anregung umgesetzt und jetzt gibt es eine Möglichkeit, zu prüfen, ob die .desktop-Datei den "Keywords="-Eintrag enthält. In Artikel auf linux.org behauptet der Autor sogar
To make application-searching more efficient (like in Unity), use "Keywords" to list words that the search will view when the user types in the search box. When using the desktop environment to search for an application, all fields in the file will be read. However, the "Keywords" field allows users to include words that are not in the other lines.
Die Appfinder, die ich getestet habe - xfce4-appfinder, KRunner - ignorieren die Werte in der Zeile "Keywords". Kennt jemand einen Programmstarter, einen Launcher, der den Text im Feld "Keywords=" in "Desktop entry" indiziert? gruss, pantomime
|
ChickenLipsRfun2eat
Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 11576
Wohnort: 10.10.10.50
|
pantomime schrieb: … KRunner - ignorieren die Werte in der Zeile "Keywords". Kennt jemand einen Programmstarter, einen Launcher, der den Text im Feld "Keywords=" in "Desktop entry" indiziert?
Da hast du was falsch gemacht. KRunner findet die Begriffe sofort. Da du „Ubuntu“ angegeben hast, nehme ich mal an du fährst keine Plasma-Oberfläche. Das könnte da der Grund sein. wofi finde die Begriffe auch. Prüfe mal deine Desktopfiles: desktop-file-validate ~/.local/share/applications/meindesktopfile.desktop
|
pantomime
(Themenstarter)
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
Danke für die Hilfe ChickenLipsRfun2eat 😊 Ich habe jetzt auf einem Debian 11.4 , wo KDE Plasma 5 installiert ist ausgeführt: ~$ desktop-file-validate ~/.local/share/applications/linux-org.desktop Zuvor meckerte, der Validator
key "Encoding" in group "Desktop Entry" is deprecated
Dann habe ich die Zeile mit "Encoding" entfernt und ich habe absichtlich unverwechselbare Zeichenfolge in der .desktop-Datei erfasst. [Desktop Entry]
Name=linux.org
Type=Link
URL=https://linux.org
Icon=org.xfce.settings.appearance
Comment=keywords linuxorg
Keywords=linwords keylinux Bei der Ausführung kbuildsycoca5 bekomme ich für meine wie oben aufgebaute .desktop-Dateien Meldungen
kf.service.services: The desktop entry file "~/.local/share/applications/filename.desktop" has Type= "Link" instead of "Application" or "Service" Die Keywords aus der .desktop-Datei, die keine Validierungsmeldungen verursacht hat, wurden mit KRunner gefunden. Also akzeptiert KRunner offensichtlich keine invalide .desktop-Dateien. Verhält sich damit anders im Vergleich zu Appfinder bei der Indexierung von .desktop-Dateien. Dann werde ich mich mal mit der freedesktop-Spezifikation näher befassen, um valide .desktop-Dateien zu erstellen.
|
ChickenLipsRfun2eat
Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 11576
Wohnort: 10.10.10.50
|
pantomime schrieb: Ich habe jetzt auf einem Debian 11.4 , wo KDE Plasma 5 installiert ist ausgeführt:
Da würde ich aufpassen, die Qt-Pakete und somit auch Plasma unterscheiden sich in Ubuntu und Debian. Teste das lieber auf dem angegebenen Ubuntu-System. …Dann werde ich mich mal mit der freedesktop-Spezifikation näher befassen, um valide .desktop-Dateien zu erstellen.
Schau mal nach, ich meine aber die Keywords müssen wie Kategorien durch ein Semikolon getrennt werden. Bei Type=link bin ich mir aber auch unsicher wo die hinsollen 😉 nach …/applications/… ist wie angemeckert nicht richtig. Eventuell kannst du da die Shebang #!/usr/bin/env xdg-open drübersetzen, vielleicht hilft das beim Meckern. Ansonsten lass ihn meckern, solange es funktioniert. Ist ja nur ein Validator, meist funktioniert mehr.
|
pantomime
(Themenstarter)
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
@ChickenLipsRfun2eat
Kannst du bitte irgendeine.desktop-Datei mit Keywords, die funktioniert, hier posten? Ich habe die Datei, die bereits gefunden wurde, geändert und jetzt wird diese nicht mehr gefunden.
|
ChickenLipsRfun2eat
Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 11576
Wohnort: 10.10.10.50
|
[Desktop Entry]
Categories=Utility;TextEditor
Comment=Edit text
Exec=env HOME=/home/common /home/common/.emacs.d/bin/doom run
GenericName=Emacs
Icon=emacs
Keywords=Text;Editor;Bier;
MimeType=text/x-tex;text/x-pascal;text/x-moc;text/x-makefile;text/x-java;text/x-csrc;text/x-chdr;text/x-c++src;text/x-c++hdr;text/tcl;text/plain;application/x-shellscript;
Name=Doom Emacs c
Path=/home/common/
StartupNotify=true
StartupWMClass=Emacs
Terminal=false
Type=Application
|
pantomime
(Themenstarter)
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
Du, ChickenLipsRfun2eat, du hast mir sehr geholfen. Mit KRunner habe ich den ersten, bis jetzt den einzigen Programmstarter erwischt, der den Text in Keywords= indiziert. Und dank dir habe ich jetzt mitbekommen, dass KRunner scheinbar sehr streng ist, was die Syntax angeht. In deinem Beispiel habe ich probeweise vor dem Wort "Tomaten1" ein Leerzeichen platziert - da werden die " Tomaten1" und "Tomaten1" nicht mehr gefunden. Mit Leerzeichen in "Keywords=" kann KRunner gar nichts anfangen. Sobald ein Leerzeichen vorkommt, wird danach scheinbar nichts mehr gefunden. Mit Leerzeichen zwischen den Wörtern und einem Komma für die Keywords-Trennung wäre es mir lieber, irgendwie lesefreundlicher, aber die Herren Entwickler vertreten hier scheinbar eine andere Meinung, was als KRunner-Keyword zu gelten hat. Hauptsache es funktioniert. Dafür findet KRunner bspw. so eine Zeichenfolge "Tomaten1,gehtsoungefähr" - wenn davor kein Leerzeichen steht. [Desktop Entry]
Name=Doom Emacs c -2
GenericName=Editor starten
Categories=Utility;TextEditor
Exec=env HOME=/home/common /home/common/.emacs.d/bin/doom run
Keywords=KingOfPop;yyeinText;grottenschlecht; Tomaten1;gehtsoungefähr
Comment=xxeinText;
Icon=emacs
Path=/home/common/
StartupNotify=true
StartupWMClass=Emacs
Terminal=false
MimeType=text/x-tex;text/x-pascal;text/x-moc;text/x-makefile;text/x-java;text/x-csrc;text/x-chdr;text/x-c++src;text/x-c++hdr;text/tcl;text/plain;application/x-shellscript;
|
ChickenLipsRfun2eat
Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 11576
Wohnort: 10.10.10.50
|
Leerzeichen machen bei Keywords ja auch nur bedingt Sinn. Anstatt Leerzeichen nimmst du ein Semikolon, dann werden beide Begriffe gefunden.
|
pantomime
(Themenstarter)
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
Aus der Sicht des Betriebssystems machen die Leerzeichen keinen Sinn. Aber die GUI und der PC werden doch von Menschen genutzt, für die die Lesefreundlichkeit nicht unwichtig ist. Und wenn wir beim "Sinn" sind - macht es Sinn, dass diese Zeichenfolge
Tomaten1,gehtsoungefähr scheinbar als Keyword gewertet wird? Man kann danach suchen und diese Zeichenfolge wird auch gefunden 😉. Wenn diese Tomaten1, gehtsoungefähr Zeichenfolge MIT Leerzeichen gefunden wäre, dann würde dies für mich Sinn machen, aber ohne ...
|
ChickenLipsRfun2eat
Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 11576
Wohnort: 10.10.10.50
|
keyWORD. Ein Wort. Nicht keySENTENCE oder keyEXPRESSION. Ein Leerzeichen ist in allen mir bekannten Sprachen ein Worttrenner, insofern würde ich das wie ein Semikolon interpretieren. Neues Wort, neuer Suchbegriff, bzw. alles nach dem Leerzeichen einfach bis zum nächsten Semikolon abschneiden und ignorieren. Könnte ja auch nur ein Kommentar sein. Daher würde ich in deinem Beispiel „Tomaten1;gehtsoungefähr“ verwenden. Wenn das ein einziger Begriff sein soll: „Tomaten1_gehtsoungefähr“ oder „Tomaten1GehtSoUngefähr“. Was konkret hast du denn da vor?
|
pantomime
(Themenstarter)
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
Das Beispiel mit
Tomaten1, gehtsoungefähr habe ich genannt gerade, weil KRunner das Leerzeichen NICHT als Semikolon interpretiert, dafür komischwerweise erfasst zwei mit Komma getrennte Wörter als ein Keyword. ChickenLipsRfun2eat schrieb: Was konkret hast du denn da vor?
Mir ist wichtig, dass die Werte in "Keywords=" in der Programmstarter-Suche berücksichtigt werden. Ich beabsichtige den einzelnen ".desktop"-Elementen, nicht zuletzt den Verweisen auf Webseiten oder auf die Dateien auf der Festplatte für mich aussagekräftige, sprechende Zeichenfolgen zuzuweisen, damit ich im Nachgang einzelne ".desktop"-Elemente oder auch mehrere davon durch die Eingabe bspw. "KingOfPop" zeitsparend filtern kann. Perfekt wäre, wenn ich die Sortierreihenfolge der Trefferliste noch steuern könnte.
|
ChickenLipsRfun2eat
Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 11576
Wohnort: 10.10.10.50
|
Dann wäre sowas wie Keywords=Musik;KingOfPop;Michael;Jackson;Dangerous;1991;
deine Ausgangslage. Dann kannst du nach allem von 1991 filtern oder nach allen Michaels oder generell nach Musik, etc. Mir kommt das eher so vor, als suchst du einen Indexierungsdienst, wie Baloo (Plasma) oder Tracker (GNOME). Den fütterst du mit diversen Informationen und bekommst dann eine Dateiliste zur Auswahl.
|
pantomime
(Themenstarter)
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
ChickenLipsRfun2eat schrieb: Mir kommt das eher so vor, als suchst du einen Indexierungsdienst, wie Baloo (Plasma) oder Tracker (GNOME). Den fütterst du mit diversen Informationen und bekommst dann eine Dateiliste zur Auswahl.
Die Programmstarter und Indexierungsdienste, wovon es eine Menge gibt, sind für meine Zwecke nicht geeignet, falls diese keine Möglichkeit bieten, nach exakten Zeichenfolgen zu suchen. xfce4-appfinder bspw. ist mit einer fuzzy-Suche unterwegs, Synapse beansprucht für sich "semantic launcher" zu sein und nutzt die Zeitgeist-Engine, die Using machine-learning algorithms, Zeitgeist can establish relationships between items based on similarity and usage patterns.
https://en.wikipedia.org/wiki/Zeitgeist_(free_software) Es kann sein, dass beide für bestimmte Aufgaben eine vernünftige Leistung bringen. Ich brauche aber für meine Zwecke ein Tool, dass bei der Eingabe vordefinierten Zeichenfolge nur die Treffer liefert, die im Feld "Keywords=" diese Zeichenfolge als Keyword enthalten. Ich habe bewusst versucht, einen Programmstarter dafür einzusetzen, weil der Treffer ja praktischerweise auch ein Programm sein kann 😊 .
|
ChickenLipsRfun2eat
Supporter
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 11576
Wohnort: 10.10.10.50
|
Hab gerade mal wieder kein Plasma greifbar, aber der KRunner hat einiges an Optionen. Du müsstest dann alles rausnehmen, was nicht der Suche entspricht, die dir vorschwebt. Also keine „zuletzt verwendete Dateien“, etc. Dann zeigt er auch nur die entsprechenden Matches an. Die Suche nach exakten Zeichenfolgen beinhalten eigentlich alle, nur die Erweiterungen/Plugins müssen dann deaktiviert werden, die den ganzen Rest mit abdecken. Ich meine man konnte beim KRunner auch eigene Worte definieren, die als Filter gelten, aber das ist sooo lange her… Neben den Keywords werden zudem auch immer die anderen Teile (Namen, Kategorien,…) mit ausgewertet. Keywords sind optional. Deswegen die Frage nach dem „Großen Ganzen“. Wenn du etwas strukturiert durchsuchen willst, gibt es dafür wie gesagt andere Werkzeuge wie Baloo mit denen du nach speziellen Kennzeichen (tag, name, artist/album, ähnlich wie bei ID-Tags) suchen kannst. Das kann sogar Dateiinhalte mit indizieren und außerhalb des eigenen Homeverzeichnis aktiv werden, wenn du es entsprechend konfigurierst. Der GNOME-Tracker ist das Pendant dazu. Wie der verwendet wird, weiß ich auch nicht genau. Möglich ist das mit allerlei Software. Ich bspw. nutze Emacs mit org-mode und diversen vordefinierten Suchmustern, um in meinem Wust an Dateien was zu finden. Funktioniert ebenfalls. Im Zweifelsfall find -exec grep 😉
|
pantomime
(Themenstarter)
Anmeldungsdatum: 20. März 2013
Beiträge: 230
|
ChickenLipsRfun2eat schrieb: Die Suche nach exakten Zeichenfolgen beinhalten eigentlich alle, nur die Erweiterungen/Plugins müssen dann deaktiviert werden, die den ganzen Rest mit abdecken.
Unglücklicherweise haben die xfce4-appfinder-Entwickler scheinbar so ein Feature wie fuzzy-Suche nicht als Erweiterung, sondern als Kernfeature umgesetzt, so dass nicht einmal der jetzige xfce4-appfinder-Entwickler sagen kann, wie man die Suche auf die Schlüsselwörter bzw. auf die Suche nach exakten Zeichenfolgen einschänken kann. S. dazu hier gitlab.xfce.org/xfce/xfce4-appfinder/-/issues/64: FRAGE: Gibt es eine Möglichkeit, in der Suchanfrage festzulegen, dass ich die Fuzzy-Funktionalität deaktivieren möchte und nur Treffer in der Trefferliste benötige, die genau übereinstimmende Zeichenfolgen enthalten, die im Suchfilter definiert sind?
ANTWORT: Ich weiß es ehrlich gesagt nicht, diese Logik war schon da, als ich anfing, diese App zu warten, es ist einfach, aber seltsam, ich brauche mehr Zeit, um zu debuggen und zu dokumentieren, wie es sich verhalten soll, lassen wir dieses Ticket bis dahin offen.
|