Вопрос или проблема
Задавая этот вопрос, я думал, что знаю, о чем идет речь. Вопрос касался того, как предотвратить открытие файлов из списка загрузок Firefox с помощью неправильных программ. Я все еще хочу узнать это, но теперь понимаю, что не знаю больше, чем просто это.
Я думал, что программы, задействованные в открытии файлов из списка загрузок Firefox, определяются в разделе Настройки/Основные/Программы. Это неправильно. Как сказано здесь, это предназначено для действий с загрузками: выбор между сохранением, открытием в Firefox, в другой программе или вопросом о том, что делать с файлом, пока он еще не загружен. Это не касается открытия в определенной программе уже загруженного файла.
Я также думал, что настройки отражены в файлах конфигурации usr/share/applications/defaults.list
и/или /usr/share/applications/mimeinfo.cache
. Но они не показывают одни и те же параметры. Какой из них решающий — если он существует?
Например, у меня есть этот список загрузок Firefox:
Ранее jpg и pdf открывались (при двойном щелчке) в Vivaldi. После его удаления изображение правильно открывается в Gwenview, но pdf открывается в Chrome.
Проверяя usr/share/applications/defaults.list
, я вижу строку: application/pdf=org.gnome.Evince.desktop;vivaldi-stable.desktop;google-chrome.desktop
. Я не знаю, что делает Evince там, учитывая, что я использую KDE Plasma и Evince никогда не был установлен, в то время как Okular является очевидным программой для просмотра PDF по умолчанию. Поскольку из трех перечисленных приложений установлено только Chrome, это, похоже, объясняет проблему. (/usr/share/applications/mimeinfo.cache
содержит строку application/pdf=calibre-ebook-viewer.desktop;calibre-gui.desktop;google-chrome.desktop;libreoffice7.1-draw.desktop;okularApplication_pdf.desktop;
.)
Но не совсем, поскольку при двойном щелчке по файлу docx в этом списке он открывается в просмотрщике Calibre. usr/share/applications/defaults.list
показывает строку application/vnd.openxmlformats-officedocument.wordprocessingml.document=textmaker-free21.desktop;textmaker-free21.desktop;libreoffice-writer.desktop
. Textmaker не установлен. Но, заглянув в /usr/share/applications/mimeinfo.cache
, я вижу application/vnd.openxmlformats-officedocument.wordprocessingml.document=calibre-ebook-edit.desktop;calibre-ebook-viewer.desktop;calibre-gui.desktop;libreoffice7.1-writer.desktop;
, что, похоже, объясняет это.
Какой именно файл определяет, какое приложение используется для открытия файла при двойном щелчке по нему в списке загрузок Firefox?
Файл ~/.config/mimeapps.list
содержит те же настройки, что и в Dolphin для приложений по умолчанию:
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice7.1-writer.desktop;appimagekit_8acd77348a35b868ae7504c49d51d65c-ONLYOFFICE_Desktop_Editors.desktop;calibre-ebook-edit.desktop;calibre-gui.desktop;org.kde.ark.desktop;
Чтобы задать обсуждаемую здесь опцию в Firefox, сначала проверьте этот файл. (Это не значит, что этот файл имеет приоритет перед другими; на самом деле, я видел здесь много неправильных настроек, которые не влияли на Firefox; но когда Firefox на это влияет, есть вероятность, что они берутся оттуда.)
Если это не сработает, отредактируйте ~/.local/share/applications/mimeinfo.cache
.
Только если вышеуказанное не сработает, отредактируйте usr/share/applications/defaults.list
, а также /usr/share/applications/mimeinfo.cache
.
Некоторые частные случаи могут потребовать другого решения, например для Thunar: здесь.
2025: Поделюсь обходным путем, который помог мне открывать файлы в Firefox с помощью правильного приложения.
Начальная ситуация: xlsx настроен на открытие в LibreOffice и Ark (в этом порядке) в ассоциациях файлов KDE. Dolphin и Chromium соблюдают это правило, открывают в LibreOffice. Firefox по какой-то причине открывает в Ark.
Корректировка: я временно добавил другую программу (текстовый редактор) между LibreOffice и Ark в ассоциациях файлов KDE. Нажал «Применить». Я даже не изменял 1-ую позицию LibreOffice. Вуаля, после перезагрузки Firefox по какой-то причине выбрал правильную ассоциацию. После удаления временного элемента из списка Firefox сохранил правильное поведение (будем надеяться, что надолго).
Вывод: похоже, это действительно проблема Firefox, попробуйте это, прежде чем копаться во всех потоках mime/XDG/mailcap и редактировать текстовые файлы.
P.S. В моей системе даже нет defaults.list
и mimeinfo.cache
в /usr/share/applications/
. Похоже, дистрибутивы действительно разные.
.
Ответ или решение
Настройка программы для открытия файлов из списка загрузок Firefox в Linux включает несколько уровней конфигурации, учет которых важен для корректной работы. Дело в том, что Linux использует систему MIME-типов (Multipurpose Internet Mail Extensions) для определения того, какие программы должны обрабатывать определенные типы файлов. Настройки ассоциации файлов могут варьироваться в зависимости от рабочей среды и файлов конфигурации конкретного дистрибутива Linux.
Теоретический аспект (Theory)
Во-первых, стоит понять, что ассоциация MIME-типов в Linux управляется системой XDG (X Desktop Group), которая определяет, какие приложения должны использоваться для открытия разных типов файлов. Эти ассоциации хранятся в ряде файлов, каждый из которых имеет свое предназначение и приоритет.
Ключевыми файлами являются:
~/.config/mimeapps.list
: Пользовательский файл конфигурации, задающий предпочтения для конкретного пользователя.~/.local/share/applications/mimeinfo.cache
: Кешированный файл информации о MIME, созданный на основе локальных настроек пользователя./usr/share/applications/defaults.list
: Системный файл конфигурации, который может использоваться в некоторых дистрибутивах, но не всегда присутствует./usr/share/applications/mimeinfo.cache
: Глобальный кеш информации о MIME типах для системы.
Каждый из этих файлов может влиять на то, какая программа будет открывать файл по умолчанию. Стоит отметить, что приоритет отдается настройкам пользователя, так что изменения в ~/.config/mimeapps.list
обычно имеют первенство.
Пример (Example)
Рассмотрим ситуацию, описанную в вопросе. Пользователь обнаруживает, что файлы PDF открываются в Google Chrome вместо установленной по умолчанию программы просмотра PDF, Okular. Анализируя текущие настройки, он находит, что файл /usr/share/applications/mimeinfo.cache
для application/pdf
содержит google-chrome.desktop
, что объясняет такое поведение. Однако, это системный файл, и более приоритетным должен быть ~/.config/mimeapps.list
, если он настроен корректно.
В другой пример, файлы DOCX открываются в Calibre, хотя настройки Dolphin определяют обратное. Это происходит из-за того, что иконка для этого типа файла ассоциируется с calibre-ebook-viewer.desktop
в ~/.local/share/applications/mimeinfo.cache
.
Применение (Application)
Для того чтобы корректно настроить открытие файлов из списка загрузок Firefox, следует выполнить несколько шагов:
-
Проверка настроек пользователя: Откройте файл
~/.config/mimeapps.list
. Убедитесь, что требуемое приложение занимает первую строчку в списке для конкретного MIME-типа. Если изменений не происходит, удаление и повторное добавление программы может помочь обновить кэш и заставить Firefox принять изменения. -
Обновление кеша MIME: Измените и перезапустите Firefox, чтобы изменить имели эффект. Сделайте временные изменения в KDE File Associations, как в приведенном примере, чтобы заставить Firefox обновить поведение.
-
Редактирование системного кеша MIME: В случае, если пользовательские настройки не работают, можно попробовать изменить системные файлы, такие как
/usr/share/applications/mimeinfo.cache
. Однако это может потребовать привилегий администратора и не рекомендуется для неопытных пользователей. -
Документация и окружение рабочего стола: Убедитесь, что учитываются особенности вашего рабочего окружения и дистрибутива. Например, в KDE Plasma свои системные настройки могут иметь приоритет над стандартной системой XmasREF.
Чтобы гарантировать оптимальность и стабильность изменения, после правок рекомендуется проверить работоспособность файла и системы, а также документировать внесенные изменения для удобства последующей модификации.
Заключение
Понимание взаимодействия между различными конфигурационными файлами и системами рабочего окружения критически важно для корректной настройки программ, которые открывают файлы из списка загрузок Firefox. Быстрое тестирование и редактирование этих файлов позволит преодолеть трудности и настроить операционную систему в соответствии с вашими предпочтениями.