Eu gostaria de obter uma compreensão mais profunda dos tipos mime. Até agora eu entendo o seguinte graças a @munzir-taha
É normal ter diferentes associações de arquivos do tipo mime em sistemas diferentes, mesmo quando esses sistemas estão executando a mesma versão da mesma distribuição e mesmo se o usuário não personalizou nenhuma associação mime . Isso porque as associações dependem dos pacotes instalados em cada sistema e talvez da ordem em que foram instalados.
Também entendo que um usuário pode adicionar ou remover associações do tipo mime com um destes métodos:
editar manualmente
~/.config/mimeapps.list
usando ferramentas GUI. No KDE, isso pode ser feito nas configurações do sistema ou via Dolphin (por exemplo, clique com o botão direito do mouse no arquivo > Propriedades > Opções de tipo de arquivo e associe o tipo de arquivo ao aplicativo desejado)
No entanto, gostaria de me aprofundar nisso. Estou executando o Arch Linux e o KDE. Criei uma nova conta de usuário para teste. Possui as seguintes propriedades:
O pacote shared-mime-info está instalado:
sudo pacman -Qs shared-mime-info
local/shared-mime-info 1.15-2
Freedesktop.org Shared MIME Info
As chaves públicas têm o texto/simples do tipo mime:
$ xdg-mime query filetype id_rsa_test.pub
text/plain
O manipulador padrão para text/plain é o editor Atom:
$ xdg-mime query default text/plain
atom.desktop
Não existe mimeapps.list
para este usuário. O arquivo típico não está presente (como mostrado abaixo) e não há outros mimeapps.list
arquivos nesta conta de usuário.
$ less ~/.config/mimeapps.list
/home/deleteme/.config/mimeapps.list: No such file or directory
O sistema parece ter uma associação de todo o sistema para .pub
arquivos com o tipo mime application/vnd.ms-publisher
. Este arquivo está presente no sistema:
/usr/share/mime/application/vnd.ms-publisher.xml
O conteúdo do arquivo acima inclui um padrão glob para .pub
arquivos:
<?xml version="1.0" encoding="utf-8"?>
<mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="application/vnd.ms-publisher">
<!--Created automatically by update-mime-database. DO NOT EDIT!-->
<sub-class-of type="application/x-ole-storage"/>
<glob pattern="*.pub"/>
</mime-type>
Por que o tipo mime acima não determina o resultado dessa consulta?
$ xdg-mime query filetype id_rsa_test.pub
text/plain
Pelo que eu já sei, eu esperaria que um mimeapps.list local para o usuário fosse responsável por essa associação, mas não existe esse arquivo.
Não encontro nenhuma outra associação para .pub
arquivos neste sistema. Como mencionei, não há mimeapps.list para esta nova conta de usuário.
Você não forneceu nenhuma prova para isso. Pelo contrário, você
xdg-mime query filetype id_rsa_test.pub
mostroutext/plain
qual é a associação de todo o sistema se este for realmente um usuário recém-criado sem qualquer personalização.Dependendo dos pacotes instalados em seu sistema e das configurações, seu sistema decidirá como reconhecer o tipo MIME. No seu caso, seu sistema provavelmente determinou o tipo não verificando a extensão '.pub' , mas verificando o código mágico que é o conteúdo do arquivo.