Czy istnieje sposób otwarcia pliku za pomocą domyślnego programu zamiast wiersza polecenia?
To jest praca dla xdg-open
:
xdg-open otwiera plik lub adres URL w preferowanej aplikacji użytkownika. Jeśli zostanie podany adres URL, zostanie on otwarty w preferowanej przeglądarce użytkownika. Jeśli plik zostanie podany, zostanie on otwarty w preferowanej aplikacji dla plików tego typu. xdg-open obsługuje adresy URL plików, ftp, http i https.
xdg-open jest fabrycznie zainstalowany w Ubuntu.
Alternatywnie, czy istnieje sposób, biorąc pod uwagę rozszerzenie pliku, określenie polecenia, aby je otworzyć?
W związku z tym nie. Domyślna aplikacja jest wybierana na podstawie typu MIME, a nie rozszerzenia. Linux nie ma „rozszerzeń”.
W przypadku określonego pliku można użyć xdg-mime
zarówno do określenia typu MIME pliku, jak i domyślnej aplikacji z nim powiązanej:
Składnia do wyświetlania typu MIME pliku:
xdg-mime query filetype {file}
Składnia do wyświetlania domyślnej aplikacji typu MIME:
xdg-mime query default {mimetype}
Składnia do wyświetlania domyślnej aplikacji pliku:
xdg-mime query default "$(xdg-mime query filetype {file})"
Jako (zhackowane) obejście można użyć polecenia
xdg-mime query default \
`xdg-mime query filetype "$(find ~ / -iname '*.png' -print -quit)"`
aby wyświetlić domyślną aplikację np. do obrazów PNG.
Działa to wtedy i tylko wtedy, gdy masz na komputerze obraz PNG, a pierwszy znaleziony plik kończący się .png
jest prawidłowym obrazem PNG.