Se estiver usando xdg-open
para abrir aplicativos, use xdg-mime
para definir o aplicativo padrão para um determinado tipo de mimo (normalmente, instalar o xdg-utils fornece o xdg-mime e programas relacionados).
Por exemplo, para ver o "tipo de arquivo" (tipo mime, se desejar) de um determinado arquivo:
$ xdg-mime query filetype tmp.txt
text/plain
$ xdg-mime query filetype foo.pdf
application/pdf
$ xdg-mime query filetype $PWD
inode/directory
Exemplo de alteração do gerenciador de arquivos padrão para abrir diretórios (pode-se escolher caja.desktop (padrão para mint), nautilus.desktop (ubuntu), etc:
$ xdg-mime default Thunar.desktop inode/directory
E também locate -i foo.desktop
para verificar se foo.desktop
existe de fato.
Mais ao ponto, para ver qual é o editor de texto padrão,
$ xdg-mime query default text/plain
gedit.desktop
Para usar um editor de texto padrão diferente (novamente, verificando se o arquivo ".desktop" existe):
$ locate -i vim.desktop
/usr/share/applications/gvim.desktop
$ xdg-mime default gvim.desktop text/plain
Agora, se você clicar duas vezes em "foo.txt" (no gerenciador de arquivos da GUI) ou executar xdg-open foo.txt
, usará gvim
em vez de gedit
.
Solução de problemas: certifique-se de que o arquivo ".desktop" para um determinado aplicativo possa ser encontrado, desde que ele tenha que ser usado com o utilitário xdg-mime
; por exemplo,
$ xdg-mime default emacs text/plain
xdg-mime: malformed argument 'emacs', expected *.desktop
Além disso, isso silenciosamente não funciona como esperado se o arquivo ".desktop" não existir:
$ locate -i emacs.desktop
(none)
$ xdg-mime default emacs.desktop text/plain # won't work
O arquivo emacs ".desktop" real (no meu env):
$ locate -r 'emacs.*\.desktop'
/usr/share/applications/emacs24.desktop
$ xdg-mime default emacs24.desktop text/plain # does work
Veja também: link