Gibt es eine Möglichkeit, eine Datei mit dem Standardprogramm stattdessen über die Befehlszeile zu öffnen?
Dies ist ein Job für xdg-open
:
xdg-open öffnet eine Datei oder URL in der vom Benutzer bevorzugten Anwendung. Wenn eine URL angegeben wird, wird die URL im bevorzugten Webbrowser des Benutzers geöffnet. Wenn eine Datei bereitgestellt wird, wird die Datei in der bevorzugten Anwendung für Dateien dieses Typs geöffnet. xdg-open unterstützt Datei-, FTP-, http- und https-URLs.
xdg-open ist in Ubuntu vorinstalliert.
Gibt es alternativ eine Möglichkeit, bei einer Dateierweiterung einen Befehl zum Öffnen zu bestimmen?
Durch die Erweiterung, nein. Die Standardanwendung wird basierend auf dem MIME-Typ und nicht auf der Erweiterung ausgewählt. Linux hat keine "Erweiterungen".
Für eine bestimmte Datei können Sie xdg-mime
sowohl den MIME-Typ der Datei als auch die damit verbundene Standardanwendung bestimmen:
Syntax zum Anzeigen des MIME-Typs einer Datei:
xdg-mime query filetype {file}
Syntax zum Anzeigen der Standardanwendung des MIME-Typs:
xdg-mime query default {mimetype}
Syntax zum Anzeigen der Standardanwendung einer Datei:
xdg-mime query default "$(xdg-mime query filetype {file})"
Als (hackige) Problemumgehung können Sie den Befehl verwenden
xdg-mime query default \
`xdg-mime query filetype "$(find ~ / -iname '*.png' -print -quit)"`
um die Standardanwendung für z. B. PNG-Bilder anzuzeigen.
Dies funktioniert genau dann, wenn Sie ein PNG-Bild auf Ihrem Computer haben und die erste gefundene Datei, die mit endet, .png
ein gültiges PNG-Bild ist.