Por que o 'xdg-mime query filetype…' não consegue encontrar um novo tipo de arquivo adicionado?

5

Eu instalei um novo tipo de arquivo para compartilhar o banco de dados MIME. Mas xdg-mime query filetype não pode informar o novo tipo. Este problema só acontece no meu sistema operacional Linux, que não usa o GNOME ou o KDE como área de trabalho. No Ubuntu, o mesmo processo funciona bem.

Descobri que xdg-mime query filetype usa "file -i filename" sob o capô do meu sistema operacional, mas usa o gnomevfs no Ubuntu.

Aqui estão os meus passos:

  1. escreveu um arquivo xml para meu novo tipo de arquivo my_file.xml
  2. xdg-mime install my_file.xml
  3. xdg-mime query filetype < nome do arquivo para consulta > .... sem saída: - (

Eu verifiquei /usr/share/mime/applications e achei a entrada xml gerada pelo update-mime-database lá. E a API C g_file_info_get_content_type() pode obter o tipo mime adequado.

Portanto, parece que as informações mime compartilhadas foram atualizadas com sucesso. Mas o comando "arquivo" ainda falha, por quê?

Aqui está o meu arquivo xml:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
    <mime-type type="application/vnd.xxx.xxx.xxx">
        <comment>xxxx</comment>
        <glob pattern="*.dcf"/>
    </mime-type>
</mime-info>
    
por Amanda 22.03.2011 / 03:13

2 respostas

3

Acho que encontro a resposta. No meu sistema "xdg-mime query filetype ..." usa o comando "file" para pegar o tipo de arquivo, enquanto no ubuntu usa "gnomevfs".

Parece que o comando "file" não verifica as entradas xml do shared-mime-info, mas examina o arquivo "/ user / share / file / magic" para obter o tipo MIME do arquivo.

Se eu usar o comando "file" no Ubuntu, ele também não poderá me dizer o tipo MIME correto.

Vou estudar como editar esse arquivo mágico.

    
por 22.03.2011 / 09:55
1

Tente instalar o link (ou o pacote da sua distro para isso) que contém o utilitário mimetype .

Após instalar este pacote, xdg-mime (testado versão 1.1.0 rc1 no Arch Linux) deve agora detectar que mimetype (que faz usar o banco de dados de informações mime compartilhado XDG) está disponível, e use isso em vez de voltar atrás em file -i .

    
por 23.02.2014 / 06:50