Почему в Firefox файл открывается с неправильной программой и как это исправить?

Вопрос или проблема

Я размещаю это здесь, потому что это происходит только в Linux. Я думаю, что впервые увидел это, когда начал использовать Linux, это было почти 10 лет назад. Мне уже тогда нравился Firefox, и он до сих пор мне нравится. Я хочу продолжать использовать Firefox как браузер по умолчанию, но это осложняет ситуацию.

Скачанные файлы можно дважды щелкнуть/открыть в списке загрузок, и они должны открываться в приложении, установленном на уровне системы, или хотя бы в том, которое имеет смысл. Как насчет jpeg файлов, загруженных с Firefox, открывающихся в браузере Vivaldi? Или deb файлов, открывающихся в Ark archiver? ‘Показать в папке’ открыл Qmmp player или Audacious в какой-то момент.

Я знаю, что могу (и делал) редактировать/настраивать ~/.local/share/Applications/defaults.list, ~/.local/share/Applications/mimeapps.list, /.local/share/Applications/mimeinfo.cache и так далее, но я устал от этого.

В настройках Firefox, в приложениях, у проблемных файлов установлена опция “Всегда спрашивать”. Однако, Vivaldi появляется как “по умолчанию”. Почему это произошло, и почему только Firefox считает Vivaldi по умолчанию для jpeg, в то время как Chrome и другие браузеры используют ожидаемый просмотрщик изображений? Почему это происходит только в Firefox и в Linux?

Какова основная причина?

(В какой-то момент я винил различные программы и их возможную агрессивную политику навязывания себя или маскировки под программы по умолчанию. Но почему только Firefox уловляется на это?)

Можно ли предотвратить эту проблему?

Быстрое решение — удалить ложную программу “по умолчанию”; менее быстрое — вручную редактировать файлы с сотнями строк. Проблема обычно связана с недавно установленной программой. “Исправление” может быть в установке новой программы и использовании её как “по умолчанию”, что странно. Или удаление и повторная установка правильной программы! — Но я хочу предотвратить такие “решения”.

Я надеюсь на что-то вроде настройки в about:config, которая говорит “использовать ассоциации файлов системы”, что при включении будет игнорировать параметры в Настройки/Основные/Приложения или делать их копию на уровне системы.

Не только настройка Firefox, которую могут изменить другие программы, довольно бессмысленна, но эта настройка даже не соблюдается; Vivaldi также открывал pdf файлы; удалив Vivaldi и выбрав “Системное приложение по умолчанию”, pdf файл открывается в …Chrome! Изменение на —хорошо!— Okular, происходит то же самое…


ИЗМЕНЕНИЕ:

Этот вопрос касается того, как избежать ситуации, когда Firefox открывает скачанные файлы в неожиданных программах. О том, какие файлы/настройки можно отредактировать, чтобы исправить эту проблему: смотрите этот вопрос.

Согласно этому вопросу, в KDE ассоциации приложений по умолчанию хранятся в следующих файлах и ищутся в следующем порядке:

.config/kde-mimeapps.list
.config/mimeapps.list
/etc/xdg/kde-mimeapps.list
/etc/xdg/mimeapps.list
/usr/share/applications/mimeapps.list

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

Вы можете выполнить эту задачу, используя chattr +i /path/to/file. Это устанавливает атрибут неизменяемости на файл, что означает, что он не может быть отредактирован до тех пор, пока этот атрибут не будет удален. Это должно остановить любую программу от перезаписи файлов mimeapps.list. Однако вы не сможете изменить свои приложения по умолчанию, если не удалите атрибут неизменяемости.

2025: Делюсь обходным решением, которое сделало так, что Firefox открывает файлы в правильном приложении.

Начальная ситуация: xlsx установлен для открытия в LibreOffice и Ark (в этом порядке) в настройках KDE. Dolphin и Chromium это учитывают и открываются в LibreOffice. Firefox по какой-то причине открывается в Ark.

Регулировка: Я временно добавил другую программу (текстовый редактор) между LibreOffice и Ark в ассоциациях файлов KDE. Нажал “Применить”. Я даже не изменил первое место LibreOffice. Voilà, после перезагрузки почему-то Firefox выбрал правильную ассоциацию. После того, как я удалил временный элемент из списка, Firefox сохранил правильное поведение (посмотрим, насколько долго).

Заключение: кажется, это действительно проблема Firefox, попробуйте это, прежде чем рыться в всех темах mime/XDG/mailcap.

Ответ или решение

Обзор проблемы с открытием файлов в Firefox на Linux

Вы столкнулись с неприятной ситуацией: при использовании браузера Firefox на Linux файлы, загруженные с помощью браузера, могут открываться в неожиданных приложениях. Например, фотографии JPEG открываются в браузере Vivaldi, а пакеты DEB в архиваторе Ark. Проблема также проявляется при использовании функции "Показать в папке": каталог открывается в музыкальных плеерах Qmmp или Audacious. Это создает значительные неудобства при работе.

Причина проблемы

Эта проблема преимущественно возникает из-за особенностей управления MIME-типами и ассоциациями приложений в среде Linux. В отличие от Windows или macOS, где эти настройки централизованы, в Linux они могут сильно варьироваться в зависимости от используемой среды рабочего стола и конфигураций. Проблема обостряется, если система не синхронизирована с конфигурацией самого Firefox.

  1. Неправильные ассоциации MIME-типов: В Linux ассоциации файлов управляются конфигурациями MIME-типов, которые могут изменяться при установке новых приложений. Например, установки приложений через пакетные менеджеры могут не обновлять глобальные настройки, а только пользовательские.

  2. Настройки в Firefox: Браузер Firefox может использовать собственные настройки для обработки файлов, загруженных из интернета. Эти настройки иногда вступают в конфликт с системными привязками, что и вызывает описанное поведение.

  3. Изменения в конфигурации среды: В KDE, например, настройки по умолчанию хранятся в .config/mimeapps.list и /etc/xdg/mimeapps.list, и если эти файлы изменяются при обновлении системы или установке нового ПО, проблемы в привязках неизбежны.

Решение проблемы

Для предотвращения подобных проблем рекомендуется следующая пошаговая стратегия:

  1. Проверка и редактирование системных файлов ассоциаций: Убедитесь, что настройки файловых ассоциаций актуальны. Системные файлы, такие как .config/mimeapps.list и /etc/xdg/mimeapps.list, должны содержать правильные ассоциации. Вы можете отредактировать их вручную, гарантируя, что верные приложения установлены в нужные позиции.

  2. Защита файлов конфигурации от изменения: Используйте команду chattr +i /path/to/file, чтобы сделать критические для конфигурации файлы неизменяемыми, предотвращая случайные изменения ассоциаций файлов со стороны новых установленных приложений. Для редактирования этой защиты нужно будет использовать ту же команду с флагом -i.

  3. Настройка Firefox: В меню настроек Firefox перейдите в меню "Приложения" и проверьте, какие действия назначены для различных типов файлов. Убедитесь, что для всех проблемных форматов файлов выбрано "Всегда спрашивать" или "Использовать системное по умолчанию". Это позволит Firefox использовать системные настройки ассоциаций.

  4. Проверка результатов: Сделайте проверку путем загрузки и последующего открытия различных типов файлов — JPEG, PDF и других. Это поможет убедиться, что изменения вконец привели к ожидаемому поведению.

  5. Применение временных изменений для фокуса внимания: Пользователь выше отметил, что временное добавление другого приложения (например, текстового редактора) в список ассоциаций файлов в KDE привело к обновлению конфигурации, позволяя Firefox выбрать правильное приложение при следующем открытии файла.

Заключение

Проблема неверной привязки приложений для открытия файлов из Firefox в Linux — это сложная проблема, связанная с особенностями архитектуры и управления системой MIME-типов в Linux. Хотя полная автоматизация решения может быть ограничена, следуя предложенным шагам, вы сможете значительно уменьшить риск возникновения подобных проблем и обеспечить соответствующее поведение ПО в вашей системе.

Оцените материал
Добавить комментарий

Капча загружается...