Não existe realmente um recurso centralizado que você possa apenas "consultar" para obter essas informações. Em vez disso, ele é mantido em alguns arquivos de texto que você pode analisar manualmente se souber onde procurar ou usar a ferramenta xdg-mime
para construir os relacionamentos.
Exemplo
Digamos que eu tenha um arquivo PNG no disco. Eu posso descobrir o seu tipo MIME assim.
$ xdg-mime query filetype DSCN4747_DSCN4061_800x600.PNG
image/png
Eu posso então consultar xdg-mime
perguntando qual é a associação para esse tipo MIME em particular.
$ xdg-mime query default image/png
shotwell-viewer.desktop shutter.desktop
Olhando através do mimeinfo.cache
no meu sistema eu posso descobrir um pouco mais sobre associações para um dado tipo MIME usando o seguinte comando:
$ grep 'image/png' /usr/share/applications/mimeinfo.cache
image/png=shutter.desktop;gpicview.desktop;gimp.desktop;eog.desktop;geeqie.desktop;shotwell-viewer.desktop;
As definições da área de trabalho no arquivo mimeinfo.cache
são armazenadas aqui:
$ locate shotwell-viewer.desktop
/usr/share/applications/shotwell-viewer.desktop
E contém o nome dos executáveis que você está perguntando:
$ grep 'Exec=' !$
grep 'Exec=' /usr/share/applications/shotwell-viewer.desktop
Exec=shotwell %f
Muitas vezes, se eu quiser lançar algo, usarei a ferramenta xdg-open <file|URL>
para abrir um arquivo, em vez de lançá-lo primeiro e depois abrir o arquivo.