Encontre o aplicativo padrão para uma determinada extensão


12

Dado o xdg-open e uma extensão, existe uma maneira de obter o aplicativo para o qual o xdg-open está definido para essa extensão específica?

Por exemplo, dado xdg-opene .jpgo resultado é eog.


1
Qual sistema operacional você está usando?
heemayl

Este é o Ubuntu Trusty.
Sjsam

Respostas:


13

AFAIK, a escolha da ação é baseada no tipo de mimet do arquivo e não na sua extensão.

Pelo menos no Ubuntu, você deve poder usar a queryação de xdg-mimepara mostrar o aplicativo padrão para um tipo de mim específico

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

Você pode verificar o tipo de mimet para um arquivo específico usando, xdg-mime query filetypepor exemplo,

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

ou usando o filecomando, por exemplofile --mime-type <file>

Veja man xdg-mimepara mais informações de uso.


provavelmente vale a pena mencionar ao OP que o modo como você obtém o tipo MIME para o tipo de arquivo jpeg éxdg-mime query filetype <file_you_want_the_mimetype_of>
the_velour_fog

@the_velour_fog good point - adicionado
steeldriver

Infelizmente xdg-mime query default, nem sempre funciona se xdg-openapenas chama uma ferramenta subjacente (por exemplo pcmanfm); o exemplo que você usou na sua resposta não retorna nada no meu sistema LXDE.
Stephen Harris

Obrigado, eu iria primeira opção aqui,var="xdg-mime query default image/jpeg" && $(${var%.desktop})
sjsam

5

Para consultar o tipo mime usado por um arquivo existente usando xdg-utils, ele funciona como:

$ xdg-mime query filetype yourfile.xxx

Você também pode definir um novo padrão, por exemplo, para alterar uma entrada da área de trabalho associada, configurando Thunar - um gerenciador de arquivos moderno para o Xfce Desktop Environment - como o navegador de arquivos padrão que você deve inserir:

$ xdg-mime default Thunar.desktop inode/directory

Ou, por exemplo, para definir o aplicativo padrão para http(s)://protocolos da Internet, você pode usar:

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

OR

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

Isso não se limita a rpmsistemas baseados; faz parte da área de trabalho padrão e funciona no Debian (por exemplo). Infelizmente, é assim que se define um valor padrão; não diz como encontrar qual valor está definido. E xdg-mime query defaultnem sempre informa o que fará se xdg-openchamar um programa de desktop subjacente (por exemplo, pcmanfmno LXDE).
Stephen Harris

@StephenHarris Eu pensei que as opções poderiam ser diferentes. Obrigado por me dizer.
FarazX 24/07

Essa deve ser a resposta aceita.
Navigaid
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.