Znajdź domyślną aplikację dla określonego rozszerzenia

12

Biorąc pod uwagę xdg-open i rozszerzenie, czy istnieje sposób na uzyskanie aplikacji, dla której xdg-open jest ustawiony dla tego konkretnego rozszerzenia?

Na przykład podany xdg-openi .jpgwynik to eog.

sjsam
źródło
1
Z jakiego systemu operacyjnego korzystasz?
heemayl
To jest Ubuntu Trusty.
sjsam

Odpowiedzi:

13

AFAIK wybór akcji opiera się na typie pliku, a nie jego rozszerzeniu.

Przynajmniej w Ubuntu powinieneś być w stanie użyć queryakcji, xdg-mimeaby wyświetlić domyślną aplikację dla określonego typu mimetycznego

$ xdg-mime query default image/jpeg
eog.desktop

Możesz sprawdzić typ mimet dla konkretnego pliku, używając xdg-mime query filetypenp

$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg

lub za pomocą filepolecenia npfile --mime-type <file>

Zobacz man xdg-mimedalsze informacje na temat użytkowania.

steeldriver
źródło
prawdopodobnie warto wspomnieć OP, że sposób uzyskania typu MIME dla typu pliku JPEG toxdg-mime query filetype <file_you_want_the_mimetype_of>
the_velour_fog
@the_velour_fog good point - added
steeldriver 24.07.16
Niestety xdg-mime query defaultnie zawsze działa, jeśli xdg-openwywołuje narzędzie bazowe (np. pcmanfm); przykład użyty w odpowiedzi nic nie zwraca w moim systemie LXDE.
Stephen Harris,
Dziękuję, var="xdg-mime query default image/jpeg" && $(${var%.desktop})
wybrałbym
5

Aby zapytać o typ MIME używany przez istniejący plik przy użyciu xdg-utils, działa on jako:

$ xdg-mime query filetype yourfile.xxx

Możesz także ustawić nową wartość domyślną, na przykład zmienić skojarzony wpis pulpitu, ustawiając Thunar - nowoczesny menedżer plików dla środowiska Xfce Desktop - jako domyślną przeglądarkę plików, którą powinieneś wprowadzić:

$ xdg-mime default Thunar.desktop inode/directory

Lub na przykład, aby ustawić domyślną aplikację dla http(s)://protokołów internetowych, możesz użyć:

$ xdg-mime default midori.desktop x-scheme-handler/http

OR

$ xdg-mime default midori.desktop x-scheme-handler/https
FarazX
źródło
Nie ogranicza się to do rpmsystemów opartych; jest częścią standardowego pulpitu i działa na Debianie (na przykład). Niestety w ten sposób można ustawić wartość domyślną; nie mówi, jak znaleźć ustawioną wartość. I xdg-mime query defaultnie zawsze zgłasza, co zrobi, jeśli wywoła xdg-openpodstawowy program komputerowy (np. pcmanfmNa LXDE).
Stephen Harris,
@StephenHarris Myślałem, że opcje mogą być inne. Dzięki, że mi powiedziałeś.
FarazX
To powinna być zaakceptowana odpowiedź.
navigaid