Рейтинг:3

mimetype не идентифицирует pdf-файлы: mime hell

флаг cl

До недавнего времени у меня никогда не было проблем с открытием файлов PDF. Затем я хотел прочитать пакет xcolor для TeX и ввел следующую команду:

текстовый документ

Это всегда работало, открывая документацию в моей любимой программе просмотра PDF, qpdfview. Но теперь он пытается открыть его с помощью qpdfview, но qpdfview выдает ошибку:

Не удалось открыть «/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf».

И в терминале я получаю следующее сообщение об ошибке:

Неизвестный тип MIME: ""
"Не удалось сопоставить тип файла "/usr/share/texlive/texmf-dist/doc/latex/xcolor/xcolor.pdf"!"

Я запускаю оконный менеджер плиток i3 под Ubuntu 21.04, а для моих $ XDG_CURRENT_DESKTOP и $ DESKTOP_SESSION установлено значение «i3».

Итак, в заведомо хорошем pdf-файле я ввел:

$ mimetype TrigLocal.pdf
TrigLocal.pdf: текстовый/обычный

Хоть,

$ файл --mime-тип
приложение/pdf

Правильный.

Итак, я попытался

$ xdg-open TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: ни одно приложение не зарегистрировано для обработки этого файла

Итак, возможно, gio не установлен должным образом:

$ мим TrigLocal.pdf
Нет приложений по умолчанию для «TrigLocal.pdf».

Я попытался установить обработчик с помощью

$ xdg-mime по умолчанию qpdfview.desktop application/pdf

Но когда я его запрашиваю:

$ xdg-mime запрос приложение по умолчанию/pdf
qpdfview-chromium.desktop

Это вариант, но я его не ставил. В любом случае это не влияет на xdg-open:

$ xdg-open TrigLocal.pdf
gio: file:///home/ded/TeXexamples/TrigLocal.pdf: ни одно приложение не зарегистрировано для обработки этого файла

Я не понимаю, что происходит не так, и нигде не могу найти четких указаний, по крайней мере, тех, которые работают.

Вся экосистема связывания типов файлов с обработчиками в Ubuntu меня озадачивает, поэтому я был бы признателен за хороший обзорный учебник, в котором объясняются отношения между:

тип пантомимы xdg-открыть Джио

и все остальное, что может помочь мне исправить мою систему, не относящуюся к Gnome, не относящуюся к KDE.

Обновлять

По предложению @steeldriver я запустил:

$ mimetype --debug TrigLocal.pdf
> Каталоги данных: /home/ded/.local/share, /var/lib/flatpak/exports/share /home/ded/.local/share /flatpak/exports/share
> Проверка типа инода
> Проверка глобусов на наличие базового имени «TrigLocal.pdf»
> Проверка на расширение '.pdf'
> Проверка глобусов на наличие базового имени "triglocal.pdf"
> Проверка на расширение '.pdf'
> Файл существует, пробуем метод по умолчанию
TrigLocal.pdf: текстовый/обычный

Я не вижу ничего интересного в ~/.local/share, но я вижу это:

$ cat ~/.local/share/applications/mimeapps.list 
[Приложения по умолчанию]
приложение/pdf=qpdfview.desktop
приложение/html=google-chrome.desktop
text/html=google-chrome.desktop
x-схема-обработчик/http=google-chrome.desktop
x-схема-обработчик/https=google-chrome.desktop
x-scheme-handler/about=google-chrome.desktop
x-scheme-handler/unknown=google-chrome.desktop

[Добавлены ассоциации]
application/pdf=evince.desktop;zathura-pdf-poppler.desktop;
флаг hr
Предоставляет ли `mimetype --debug TrigLocal.pdf` какой-либо полезный вывод?
Daniel Doherty avatar
флаг cl
@steeldriver, возможно. Я получаю следующий вывод: > Каталоги данных: /home/ded/.local/share, /var/lib/flatpak/exports/share /home/ded/.local/share/flatpak/exports/share > Проверка типа инода > Проверка глобусов на наличие базового имени «TrigLocal.pdf» > Проверка на расширение '.pdf' > Проверка глобусов на наличие базового имени "triglocal.pdf" > Проверка на расширение '.pdf' > Файл существует, пробуем метод по умолчанию TrigLocal.pdf: текстовый/обычный
Рейтинг:0
флаг cl

Я нашел проблему. Запуск mimetype --debug дал подсказку, но я ее не видел. (Спасибо @steeldriver) Я попробовал ту же команду от root в том же файле, и она дала правильный ответ.

Оказалось, что по какой-то причине в мой файл конфигурации оболочки попала настройка переменной среды XDG_DATA_DIRS, и она исключила каталоги по умолчанию.

Согласно с Спецификация XDG, по умолчанию установлено значение «/usr/local/share:/usr/share», и мои настройки переопределяли их, поэтому база данных mime по умолчанию в /usr/share/mime/freedesktop.org.xml не читалась. в систему обнаружения пантомимы.

Поскольку ошибочный параметр добавил некоторые каталоги, связанные с плоскими пакетами, я, должно быть, добавил параметр в связи с опробованием плоских пакетов, но я не помню, чтобы делал что-либо подобное, поэтому, возможно, параметр был добавлен в мой файл config.fish за моей спиной. .

В любом случае, я надеюсь, что это поможет кому-то в будущем.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.