O Freedesktop.org (anteriormente chamado de X Desktop Group, portanto, a abreviatura "XDG") é o grupo que atualmente dirige padrões X como este ( saiba mais na Wikipedia ).
A resposta de warvariuc já menciona o uso do xdg-mime como:
xdg-mime default xnview.desktop image/jpeg
Depois de brincar muito com editores e visualizadores de imagens, acabei com visualizadores diferentes para diferentes tipos de imagem com quase nenhuma consistência, especialmente entre os tipos de imagem mais raros.
Peguei o comando acima e o atribuí a cada um dos tipos MIME controlados pelos visualizadores de imagens e, em seguida, criei um novo image-viewer.desktopclonando um deles (isso é opcional, você pode simplesmente reutilizar o seu favorito). Em seguida, verifiquei manualmente que nenhum dos tipos MIME seria incompatível com meu novo aplicativo preferido. Por fim, defino esse aplicativo como padrão para todos os tipos MIME de outros aplicativos:
sed '/^MimeType=/!d; s///; s/;/\n/g' \
/usr/share/applications/{ristretto,geeqie,gthumb}.desktop |sort -u \
|xargs xdg-mime default image-viewer.desktop
Isso examina os .desktoparquivos de cada um dos visualizadores ( Ristretto , Geeqie e GThumb no meu caso), extrai a definição MIME (que é precedida por MimeType=e contém uma lista delimitada por ponto-e-vírgula), remove o rótulo de prefácio (correspondido anteriormente) e divide a lista em uma entrada por linha. sort -uremove as linhas redundantes e são entregues xdg-mimepara definir os novos padrões.
(Se você quiser testar isso antes de executá-lo ao vivo, mude xargspara xargs echoe ele imprimirá o comando resultante em vez de executá-lo.)
Essa técnica deve funcionar para qualquer coisa que você queira recuperar para um aplicativo de destino. Você nem precisa criar um novo .desktoparquivo (você pode usar um existente). Eu dei esse passo extra para que, quando eu inevitavelmente mudei minha fidelidade entre os visualizadores de imagens, eu apenas precisasse alterar esse arquivo.
/usr/share/applications.desktoparquivos, existe um comando para recriar esse banco de dados MIME para ver novas associações em ação?