Jak otworzyć plik z domyślnym programem z wiersza poleceń?

10

Jeśli kliknę plik w eksploratorze plików GUI, do jego otwarcia użyty zostanie domyślny program. Jest to przydatne w przypadku plików, których nie wiem jak otworzyć z wiersza poleceń.

Czy istnieje sposób otwarcia pliku za pomocą domyślnego programu zamiast wiersza polecenia?

Alternatywnie, czy istnieje sposób, biorąc pod uwagę rozszerzenie pliku, określenie polecenia, aby je otworzyć?

Gradient
źródło

Odpowiedzi:

15

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.

  • Składnia do otwierania pliku w domyślnej aplikacji:

    xdg-open {file}
    

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-mimezaró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ę .pngjest prawidłowym obrazem PNG.

Dennis
źródło
Dokładnie tego szukałem! Czy wiesz, czy xdg-open może powiedzieć polecenie użyte do otwarcia, na przykład plików PNG?
Gradient
Zaktualizowałem swoją odpowiedź.
Dennis