mimetype no identifica archivos pdf: mime hell

mimetype no identifica archivos pdf: mime hell

Nunca he tenido problemas para abrir archivos PDF hasta hace poco. Luego, quise leer sobre el paquete xcolor para TeX e ingresé el siguiente comando:

texdoc xcolor

Esto siempre ha funcionado, abriendo la documentación en mi visor de pdf preferido, qpdfview. Pero ahora intenta abrirlo con qpdfview, pero qpdfview muestra un error:

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

Y en la terminal me sale el siguiente mensaje de error:

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

Estoy ejecutando el administrador de ventanas en mosaico i3 en Ubuntu 21.04 y mis $XDG_CURRENT_DESKTOP y $DESKTOP_SESSION están configurados en 'i3'.

Entonces, en un archivo pdf en buen estado, ingresé:

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

Aunque,

$ file --mime-type
application/pdf

Correcto.

Así que lo intenté

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

Bien, tal vez gio no esté configurado correctamente:

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

Intenté configurar el controlador con

$ xdg-mime default qpdfview.desktop application/pdf

Pero cuando lo consulto:

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

Esa es una variante, pero no la configuré. En cualquier caso, no tiene ningún efecto sobre xdg-open:

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

No sé qué está pasando mal y no puedo encontrar una guía clara en ninguna parte, al menos ninguna que funcione.

Todo el ecosistema de asociación de tipos de archivos con controladores en Ubuntu me desconcierta, por lo que agradecería un buen tutorial general que explique las relaciones entre:

tipo mime xdg-open gio

y cualquier otra cosa relevante que me ayude a arreglar mi sistema que no es Gnome ni KDE.

Actualizar

Por sugerencia de @steeldriver, ejecuté:

$ 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

No veo nada interesante en ~/.local/share, pero sí veo esto:

$ 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;

Respuesta1

Encontré el problema. Ejecutar mimetype --debug dio una pista, pero no la veía. (Gracias @steeldriver) Probé el mismo comando como root en el mismo archivo y me dio la respuesta correcta.

Resultó que, por alguna razón, una configuración para la variable de entorno XDG_DATA_DIRS entró en mi archivo de configuración de shell y excluyó los directorios predeterminados.

De acuerdo ala especificación XDG, está configurado en "/usr/local/share:/usr/share" de forma predeterminada, y mi configuración los anulaba, por lo que la base de datos mime predeterminada en /usr/share/mime/freedesktop.org.xml no se leía en el sistema de detección de mimos.

Dado que la configuración errónea agregó algunos directorios relacionados con Flatpak, debo haber agregado la configuración en relación con la prueba de Flatpaks, pero no recuerdo haber hecho tal cosa, por lo que tal vez la configuración se agregó a mi archivo config.fish a mis espaldas. .

De todos modos, espero que esto ayude a alguien en el futuro.

información relacionada