Wie funktioniert xdg-open?

27

Öffnet laut Manpage xdg-openeine Datei mit der vom Benutzer konfigurierten Anwendung. Aber wie wird diese Anwendung tatsächlich bestimmt? Ich kann keine Konfigurationsdateien sehen xdg-utils, also wo werden meine Einstellungen gespeichert und wie kann ich sie ändern? Wenn ich sehe, wie eine einfache PNG-Datei Internet Explorer mit Wine öffnet, muss ich diese Einstellungen ändern.

MvG
quelle

Antworten:

27

Wenn Sie sich den Inhalt der xdg-openDatei ansehen, werden Sie feststellen, dass es sich um ein einfaches Shell-Skript handelt. Die Hauptaufgabe besteht darin, die verwendete Desktop-Umgebung zu identifizieren, die dann zum Delegieren der Aufgabe an ein bestimmtes Tool verwendet wird:

  • KDE- Delegierte an kde-openoderkfmclient
  • Gnome- Delegierte an gvfs-openodergnome-open
  • Stellvertreter zu gvfs-openodermate-open
  • XFCE- Delegierte anexo-open
  • LXDE delegiert an pcmanfm, wobei für die meisten URLs auf "generisch" zurückgegriffen wird
  • Aufklärung delegiert anenlightenment_open
  • Alles andere wird als " generisch " bezeichnet, und das Skript versucht sein eigenes Glück

Die Kernbotschaft lautet also: In den meisten Situationen erledigt einer dieser Delegierten die eigentliche Arbeit. Überprüfen Sie daher, wie diese konfiguriert sind.

Ich führe zum Beispiel XFCE aus, also xdg-openAnrufe, exo-opendie die XFCE-Einstellungen verwenden, die über die Benutzeroberfläche für die XFCE-Einstellungen verfügbar und in gespeichert sind ~/.local/share/applications/mimeapps.list.

Einzelheiten zu den verwendeten Konfigurationsdateien strace -e filekönnen hilfreich sein. Und wenn Sie sich in der „allgemeinen“ Situation befinden und sehen möchten, was sich xdg-openselbst tut, können Sie es versuchen sh -x `which xdg-open` file.name.

MvG
quelle
2
Ähnliche Antwort für andere Frage. :-)
patryk.beza