Quando não tenho defaults.list
e mimeapps.list
, xdg-open
abre text/plain
com gvim
. Mas quando eu criar defaults.list
em /usr/share/applications/
e adicione as seguintes linhas:
[Default Applications]
text/plain=emacs.desktop
abre arquivos de texto com o Firefox.
No entanto, se eu mudar /usr/share/applications/defaults.list
para ~/.local/share/applications/mimeapps.list
, ele abre arquivos de texto com emacs
o esperado.
Minhas perguntas:
- Como
xdg-open
determina qual aplicativo iniciar quando não existedefaults.list
emimeapps.list
? - Por
xdg-open
que estou usando o firefox quando simplesmente escrevo/usr/share/applications/defaults.list
?
Estou usando o Arch linux.
arch-linux
freedesktop
defaults
Gradiente
fonte
fonte
/usr/share/applications/mimecache.info
arquivo que parece listar os aplicativos padrão. Ele é ainda mais confusa ...~/.config/mimeapps.list
Respostas:
Se estiver usando
xdg-open
para abrir aplicativos, usexdg-mime
para definir o aplicativo padrão para um determinado tipo mime (normalmente, a instalação do xdg-utils fornece o xdg-mime e os programas relacionados).Por exemplo, para ver o "tipo de arquivo" (tipo MIME, se desejar) do arquivo fornecido:
Exemplo de alteração do gerenciador de arquivos padrão para abrir diretórios (pode escolher caja.desktop (padrão para mint), nautilus.desktop (ubuntu), etc:
E também faça
locate -i foo.desktop
para verificarfoo.desktop
se realmente existe.Mais precisamente, para ver qual é o editor de texto padrão,
Para usar um editor de texto padrão diferente (novamente, verificando se o arquivo ".desktop" existe):
Agora, clique duas vezes em "foo.txt" (no gerenciador de arquivos da GUI) ou em execução
xdg-open foo.txt
será usado emgvim
vez degedit
.Solução de problemas: verifique se o arquivo ".desktop" de um determinado aplicativo pode ser encontrado, pois ele deve ser usado com o
xdg-mime
utilitário; por exemplo,Além disso, isso silenciosamente falha ao funcionar como esperado se o arquivo ".desktop" não existir:
O arquivo ".desktop" do emacs (no meu ambiente):
Veja também: https://wiki.archlinux.org/index.php/xdg-open
fonte