GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Woher weiß der Befehl Xdg-open, welche Anwendung zum Öffnen einer Datei verwendet werden soll?

Ich würde erwarten, dass der Befehl xdg-open dieselbe Anwendung verwendet, die geöffnet wird, wenn ich im Standard-Dateimanager auf die Datei doppelklicke, aber das ist nicht immer der Fall.

Zum Beispiel ist mein DE XFCE, mein Dateimanager ist Thunar und mein Standard-Bildbetrachter ist Ristretto. Allerdings xdg-open example.png öffnet die Beispiel-PNG-Datei in Pinta. Warum?

Akzeptierte Antwort:

xdg-open ist ein Desktop-unabhängiges Tool zum Konfigurieren der
Standardanwendungen eines Benutzers. Viele Anwendungen rufen den xdg-open-Befehl
intern auf. Innerhalb einer Desktop-Umgebung (wie GNOME, KDE oder Xfce) gibt
xdg-open einfach die Argumente an die
Dateiöffner-Anwendung dieser Desktop-Umgebung weiter (z. B. gvfs-open, kde-open oder exo -offen). was
bedeutet, dass die Assoziationen der Desktop-Umgebung überlassen bleiben.
Wenn keine Desktop-Umgebung erkannt wird (zum Beispiel wenn man einen
eigenständigen Fenstermanager wie zB Openbox ausführt), xdg-open verwendet seine eigenen
Konfigurationsdateien.

aus Archwiki

Spezifisch für Ihre Frage könnten Sie dies versuchen, um die mit der PNG-Datei verknüpfte Standardanwendung festzulegen:

xdg-mime default <ristretto.desktop> image/png

Sie müssen herausfinden, wie genau die Desktop-Datei von Ristretto heißt.
Anschließend können Sie dies folgendermaßen überprüfen:

xdg-mime query default image/png

Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. Wie verwende ich den basename-Befehl?

  4. Wie berechnet der Befehl stat die Blöcke einer Datei?

  5. Wie verwende ich die Zeilen einer Datei als Argumente eines Befehls?

So verwenden Sie den Linux-Kopfbefehl

So verwenden Sie den Linux-diff-Befehl

Linux-Dateibefehl:Was macht er und wie wird er verwendet?

So verwenden Sie Sudo und die Sudoers-Datei

Wie verwende ich den Gzip-Befehl unter Linux?

So verwenden Sie den which-Befehl in Linux