Puncte:3

mimetype nu identifică fișierele pdf: mime hell

drapel cl

Nu am avut niciodată probleme cu deschiderea fișierelor pdf până de curând. Apoi, am vrut să citesc pachetul xcolor pentru TeX și am introdus următoarea comandă:

texdoc xcolor

Acest lucru a funcționat întotdeauna, deschizând documentația în vizualizatorul meu preferat de pdf, qpdfview. Dar acum, încearcă să-l deschidă cu qpdfview, dar qpdfview afișează o eroare:

Nu s-a putut deschide „/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf”.

Și la terminal, primesc următorul mesaj de eroare:

Tip MIME necunoscut: ""
„Nu s-a putut potrivi tipul de fișier „/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf”!”

Rulez managerul de ferestre de tiling i3 sub Ubuntu 21.04 și $XDG_CURRENT_DESKTOP și $DESKTOP_SESSION sunt setate la „i3”.

Deci, pe un fișier pdf cunoscut, am introdus:

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

Deşi,

$ fișier --mime-type
aplicație/pdf

Corect.

Deci, am încercat

$ xdg-open TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: Nicio aplicație nu este înregistrată pentru a gestiona acest fișier

OK, deci poate gio nu este setat corect:

$ gio mime TrigLocal.pdf
Nu există aplicații implicite pentru âTrigLocal.pdfâ

Am încercat să setez handlerul cu

$ xdg-mime implicit qpdfview.desktop application/pdf

Dar când îl întreb:

$ xdg-mime interogare aplicație implicită/pdf
qpdfview-chromium.desktop

Este o variantă, dar nu am stabilit-o. În orice caz, nu are niciun efect asupra xdg-open:

$ xdg-open TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: Nicio aplicație nu este înregistrată pentru a gestiona acest fișier

Nu știu ce nu merge bine și nu găsesc nicăieri îndrumări clare, cel puțin nici una care să funcționeze.

Întregul ecosistem de asociere a tipurilor de fișiere cu handlere sub ubuntu mă încurcă, așa că aș aprecia un tutorial frumos de prezentare generală care explică relațiile dintre:

tip mimic xdg-deschis gio

și orice altceva relevant pentru a mă ajuta să repar sistemul meu non-Gnome, non-KDE.

Actualizați

La sugestia lui @steeldriver, am alergat:

$ mimetype --debug TrigLocal.pdf
> Dir-urile de date sunt: ​​/home/ded/.local/share, /var/lib/flatpak/exports/share /home/ded/.local/share /flatpak/exports/share
> Verificarea tipului de inod
> Verificarea globurilor pentru numele de bază „TrigLocal.pdf”
> Se verifică extensia „.pdf”
> Verificarea globurilor pentru numele de bază „triglocal.pdf”
> Se verifică extensia „.pdf”
> Fișierul există, încercând metoda implicită
TrigLocal.pdf: text/plain

Nu văd nimic interesant în ~/.local/share, dar văd asta:

$ cat ~/.local/share/applications/mimeapps.list 
[Aplicații implicite]
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

[Asociații adăugate]
application/pdf=evince.desktop;zathura-pdf-poppler.desktop;
drapel hr
`mimetype --debug TrigLocal.pdf` oferă vreo ieșire utilă?
Daniel Doherty avatar
drapel cl
@steeldriver, poate. Obțin următoarea ieșire: > Dir-urile de date sunt: ​​/home/ded/.local/share, /var/lib/flatpak/exports/share /home/ded/.local/share/flatpak/exports/share > Verificarea tipului de inod > Verificarea globurilor pentru numele de bază „TrigLocal.pdf” > Se verifică extensia „.pdf” > Verificarea globurilor pentru numele de bază „triglocal.pdf” > Se verifică extensia „.pdf” > Fișierul există, încercând metoda implicită TrigLocal.pdf: text/plain
Puncte:0
drapel cl

Am gasit problema. Rularea mimetype --debug a dat un indiciu, dar nu îl vedeam. (Mulțumesc @steeldriver) Am încercat aceeași comandă ca root pe același fișier și a dat răspunsul corect.

S-a dovedit că, din anumite motive, o setare pentru variabila de mediu XDG_DATA_DIRS a intrat în fișierul meu de configurare shell și a exclus directoarele implicite.

Conform specificația XDG, este setat la „/usr/local/share:/usr/share” în mod implicit, iar setarea mea le-a înlocuit pe acestea, așa că baza de date mime implicită de la /usr/share/mime/freedesktop.org.xml nu a fost citită în sistemul de detectare a mimei.

Deoarece setarea errată a adăugat niște directoare legate de flatpak, trebuie să fi adăugat setarea în legătură cu încercarea flatpak-urilor, dar nu-mi amintesc să fi făcut așa ceva, așa că poate că setarea a fost adăugată la fișierul meu config.fish la spatele meu. .

Oricum, sper ca asta să ajute pe cineva în viitor.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.