mimetype não identifica arquivos pdf: mime hell

mimetype não identifica arquivos pdf: mime hell

Nunca tive problemas ao abrir arquivos PDF até recentemente. Então, eu queria ler o pacote xcolor para TeX e digitei o seguinte comando:

texdoc xcolor

Isso sempre funcionou, abrindo a documentação no meu visualizador de PDF preferido, qpdfview. Mas agora ele tenta abri-lo com qpdfview, mas qpdfview exibe um erro:

Could not open '/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf'.

E no terminal recebo a seguinte mensagem de erro:

Unknown MIME type: ""
"Could not match file type of '/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf'!"

Estou executando o gerenciador de janelas lado a lado i3 no Ubuntu 21.04 e meus $XDG_CURRENT_DESKTOP e $DESKTOP_SESSION estão definidos como 'i3'.

Então, em um arquivo PDF em bom estado, digitei:

$ mimetype TrigLocal.pdf
TrigLocal.pdf: text/plain

No entanto,

$ file --mime-type
application/pdf

Correto.

Então, eu tentei

$ xdg-open TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: No application is registered as handling this file

OK, talvez o gio não esteja configurado corretamente:

$ gio mime TrigLocal.pdf
No default applications for “TrigLocal.pdf”

Eu tentei definir o manipulador com

$ xdg-mime default qpdfview.desktop application/pdf

Mas quando eu consulto:

$ xdg-mime query default application/pdf
qpdfview-chromium.desktop

Essa é uma variante, mas eu não defini. De qualquer forma, não tem efeito no xdg-open:

$ xdg-open TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: No application is registered as handling this file

Não sei o que está errado e não consigo encontrar nenhuma orientação clara em lugar nenhum, pelo menos nenhuma que funcione.

Todo o ecossistema de associação de tipos de arquivos com manipuladores no Ubuntu me confunde, então eu apreciaria um bom tutorial de visão geral que explicasse as relações entre:

tipo mime xdg-open gio

e qualquer outra coisa relevante para me ajudar a consertar meu sistema não-Gnome e não-KDE.

Atualizar

Por sugestão do @steeldriver, executei:

$ mimetype --debug TrigLocal.pdf
> Data dirs are: /home/ded/.local/share, /var/lib/flatpak/exports/share /home/ded/.local/share /flatpak/exports/share
> Checking inode type
> Checking globs for basename 'TrigLocal.pdf'
> Checking for extension '.pdf'
> Checking globs for basename 'triglocal.pdf'
> Checking for extension '.pdf'
> File exists, trying default method
TrigLocal.pdf: text/plain

Não vejo nada de interessante em ~/.local/share, mas vejo isto:

$ cat ~/.local/share/applications/mimeapps.list 
[Default Applications]
application/pdf=qpdfview.desktop
application/html=google-chrome.desktop
text/html=google-chrome.desktop
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop
x-scheme-handler/about=google-chrome.desktop
x-scheme-handler/unknown=google-chrome.desktop

[Added Associations]
application/pdf=evince.desktop;zathura-pdf-poppler.desktop;

Responder1

Eu encontrei o problema. Executar mimetype --debug deu uma dica, mas eu não estava vendo. (Obrigado @steeldriver) Tentei o mesmo comando do root no mesmo arquivo e deu a resposta correta.

Acontece que, por algum motivo, uma configuração para a variável de ambiente XDG_DATA_DIRS entrou no meu arquivo de configuração do shell e excluiu os diretórios padrão.

De acordo coma especificação XDG, ele está definido como "/usr/local/share:/usr/share" por padrão, e minha configuração estava substituindo-os, então o banco de dados mime padrão em /usr/share/mime/freedesktop.org.xml não estava sendo lido no sistema de detecção de mímica.

Como a configuração errada adicionou alguns diretórios relacionados ao flatpak, devo ter adicionado a configuração em conexão com o teste de flatpaks, mas não me lembro de ter feito tal coisa, então talvez a configuração tenha sido adicionada ao meu arquivo config.fish pelas minhas costas .

De qualquer forma, espero que isso ajude alguém no futuro.

informação relacionada