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.desktop
clonando 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 .desktop
arquivos 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 -u
remove as linhas redundantes e são entregues xdg-mime
para definir os novos padrões.
(Se você quiser testar isso antes de executá-lo ao vivo, mude xargs
para xargs echo
e 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 .desktop
arquivo (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
.desktop
arquivos, existe um comando para recriar esse banco de dados MIME para ver novas associações em ação?