mimetype이 pdf 파일을 식별하지 못함: mime hell

mimetype이 pdf 파일을 식별하지 못함: mime hell

최근까지 PDF 파일을 열 때 문제가 발생한 적이 없습니다. 그런 다음 TeX용 xcolor 패키지를 읽고 다음 명령을 입력했습니다.

texdoc xcolor

이 방법은 항상 효과가 있었고 제가 선호하는 PDF 뷰어인 qpdfview에서 문서를 열었습니다. 하지만 이제 qpdfview로 열려고 시도하지만 qpdfview에 오류가 표시됩니다.

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

그리고 터미널에서 다음과 같은 오류 메시지가 나타납니다.

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

Ubuntu 21.04에서 i3 타일링 창 관리자를 실행 중이고 $XDG_CURRENT_DESKTOP 및 $DESKTOP_SESSION이 'i3'으로 설정되어 있습니다.

그래서 알려진 좋은 PDF 파일에 다음을 입력했습니다.

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

그렇지만,

$ file --mime-type
application/pdf

옳은.

그래서 나는 노력했다.

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

좋아요, 어쩌면 gio가 제대로 설정되지 않았을 수도 있습니다.

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

핸들러를 설정해 보았습니다.

$ xdg-mime default qpdfview.desktop application/pdf

하지만 내가 쿼리하면 :

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

그것은 변형이지만 제가 설정하지 않은 것입니다. 어떤 경우에도 xdg-open에는 영향을 미치지 않습니다.

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

나는 무엇이 잘못되고 있는지 혼란스러워하며 어디에서도 명확한 지침을 찾을 수 없으며 적어도 작동하는 지침은 없습니다.

우분투에서 파일 유형을 핸들러와 연결하는 전체 생태계는 저를 혼란스럽게 합니다. 따라서 다음 간의 관계를 설명하는 멋진 개요 튜토리얼에 감사하겠습니다.

MIME 유형 xdg-open gio

Gnome이나 KDE가 아닌 시스템을 수정하는 데 도움이 되는 기타 모든 것.

업데이트

@steeldriver의 제안에 따라 다음을 실행했습니다.

$ 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

~/.local/share에는 흥미로운 내용이 없지만 다음은 표시됩니다.

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

답변1

문제를 발견했습니다. mimetype --debug를 실행하면 힌트가 제공되었지만 표시되지 않았습니다. (@steeldriver에게 감사드립니다) 동일한 파일에 대해 루트와 동일한 명령을 시도했는데 정답이 나왔습니다.

어떤 이유로 XDG_DATA_DIRS 환경 변수에 대한 설정이 내 쉘 구성 파일에 들어가고 기본 디렉터리가 제외된 것으로 나타났습니다.

에 따르면XDG 사양, 기본적으로 "/usr/local/share:/usr/share"로 설정되어 있으며 내 설정이 이를 재정의했기 때문에 /usr/share/mime/freedesktop.org.xml의 기본 MIME 데이터베이스를 읽지 못했습니다. 마임 감지 시스템에 들어갑니다.

잘못된 설정으로 인해 flatpak 관련 디렉터리가 추가되었으므로 flatpak을 시험해 보는 것과 관련하여 설정을 추가했음이 틀림없지만 그런 작업을 수행한 기억이 없으므로 설정이 내 뒤에서 config.fish 파일에 추가되었을 수 있습니다. .

어쨌든, 이것이 미래에 누군가에게 도움이 되기를 바랍니다.

관련 정보