Вопрос или проблема
Я только что обновился с Ubuntu 20.04 до 22.04, и, похоже, с тех пор Firefox не может открыть файл. Когда я загружаю файл с веб-сайта, я получаю диалоговое окно “Открыть с помощью… Системный обработчик (по умолчанию)”. Я пробую это, и файл, похоже, загружается, но я не могу его открыть или даже получить доступ к папке, в которую он загружен. У меня Firefox 105.0.3 (64 бита) Mozilla Firefox Snap для Canonical-002 – 1.0
Вероятно, ваш Firefox установлен с помощью snap, и у него нет привилегий; простейшее решение — переустановить его с помощью пакета Ubuntu из репозитория Mozilla.
Вот что сработало для меня:
- Удалите установку snap Firefox:
sudo snap remove firefox
- Добавьте репозиторий Mozilla
sudo add-apt-repository ppa:mozillateam/ppa
3. Измените приоритет так, чтобы Ubuntu использовал репозиторий вместо snap
echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/mozilla-firefox
- Установите Firefox:
sudo apt install firefox
Эти шаги были взяты отсюда: https://fosspost.org/how-to-install-firefox-as-a-deb-package-on-ubuntu-22-04/
Пакеты snap используются для повышения безопасности несколькими способами. Части, которые помогают:
- пакет snap устанавливается в своем собственном окружении (окружении
chroot
) - зависимости snap должны быть установлены в его окружении (что позволяет избежать использования недопустимой / несовместимой / небезопасной версии пакета)
- доступ к файлам на вашей системе из пакета snap контролируется
apparmor
так что у вас есть несколько решений:
-
одно из них — найти обновленную версию .deb, но Ubuntu говорил, что они прекратят их производить… однако, похоже, есть PPAs с последними версиями
-
сохраняйте файлы в разных местах, чтобы иметь возможность их открыть; это должно работать из ваших папок (в вашем
/home/<login>
). Это может все же не сработать, если apparmor не позволяет Firefox запускать другие бинарные файлы. -
отредактируйте настройки apparmor, чтобы разрешить Firefox делать это или то; файлы apparmor не находятся в snap, поскольку они необходимы для основной системы apparmor; файлы для Firefox находятся здесь:
$ ls /var/lib/snapd/apparmor/profiles/snap.firefox.* /var/lib/snapd/apparmor/profiles/snap.firefox.firefox /var/lib/snapd/apparmor/profiles/snap.firefox.geckodriver /var/lib/snapd/apparmor/profiles/snap.firefox.hook.configure /var/lib/snapd/apparmor/profiles/snap.firefox.hook.connect-plug-host-hunspell /var/lib/snapd/apparmor/profiles/snap.firefox.hook.disconnect-plug-host-hunspell /var/lib/snapd/apparmor/profiles/snap.firefox.hook.post-refresh
Вам нужно отредактировать
/var/lib/snapd/apparmor/profiles/snap.firefox.firefox
и внести изменения, чтобы все заработало. Например, чтобы разрешить выполнение бинарных файлов в~/bin
, вы могли бы добавить что-то вроде:@{HOME}/bin rx, # разрешить чтение & исполнение в /home/<login>/bin
После внесения правок выполните:
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.firefox.firefox
затем перезагрузите Firefox.
Что касается самого изменения, это зависит от того, что вы пытаетесь сделать. Чтобы получить доступ к файлу в каталоге, этот каталог должен быть разрешен. Тип доступа определяется набором букв.
Примечание 1: Изменения, которые вы вносите, будут перезаписываться каждый раз, когда snap обновляется. Поэтому убедитесь, что у вас есть четкая копия ваших изменений, чтобы вы могли повторно применить их. Кроме этого побочного вопроса, это, вероятно, лучшее решение.
Примечание 2: Изменения в
snap.firefox.firefox
действуют для всех пользователей на вашем компьютере. Если у вас несколько пользователей, вам, возможно, стоит пересмотреть. В то же время установка .deb позволит любому (практически) делать все, как раньше, без какой-либо реальной защиты.
Может быть, это поможет вам:
Попробуйте установить [Firefox без snap].1
Если это не сработает, попробуйте следующее:
Если какие-либо из следующих параметров выделены жирным шрифтом, сбросьте их значения. Чтобы сбросить значение, нажмите кнопку Delete Fx71aboutconfig-DeleteButton
или Reset Fx71aboutconfig-ResetButton
, в зависимости от предпочтения:
browser.download.dir
browser.download.downloadDir
browser.download.folderList
browser.download.lastDir
browser.download.useDownloadDir
У меня browser.download.useDownloadDir
имел значение “false”. Кнопка сброса изменила на true, и теперь все работает.
Смотрите также https://support.mozilla.org/en-US/kb/cant-download-or-save-files
Я дам еще один ответ. В моем случае я установил менеджер окон XFCE на Ubuntu, чтобы запустить удаленный рабочий стол через VNC. По умолчанию был установлен GNOME, но его было слишком трудно настраивать вместе с VNC, поэтому я удалил его и установил XFCE. Среди других проблем, я также не мог открыть окно “Обзор” в Firefox. Что я сделал:
- убедитесь, что
xdg-desktop-portal
установлен - удалите старый пакет
xdg-desktop-portal-gnome
- установите
xdg-desktop-portal-xapp
, который является “Xapp для Cinnamon, MATE и Xfce для xdg-desktop-portal”
Ответ или решение
Проблема с невозможностью открытия файлов в Firefox после обновления Ubuntu с версии 20.04 до 22.04 может быть связана с тем фактом, что Firefox, установленный как пакет Snap, ограничен в своих возможностях доступа к файловой системе. Эти ограничения могут вызывать трудности при работе с загруженными файлами. Вот некоторые шаги, которые вы можете предпринять для решения этой проблемы.
1. Удаление Snap-версии Firefox
Первым шагом является удаление версии Firefox, установленной через Snap. Snap-пакеты обеспечивают безопасность, но могут ограничивать доступ к файлам на вашей системе. Чтобы удалить Snap-версию Firefox, выполните следующую команду в терминале:
sudo snap remove firefox
2. Добавление репозитория Mozilla
Затем вам нужно добавить репозиторий Mozilla, чтобы установить Firefox в формате .deb:
sudo add-apt-repository ppa:mozillateam/ppa
3. Изменение приоритета пакетов
Чтобы убедиться, что Ubuntu будет использовать репозиторий Mozilla вместо Snap, вам нужно изменить приоритет пакетов. Выполните следующие команды:
echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/mozilla-firefox
4. Установка Firefox
Теперь вы можете установить Firefox из нового репозитория:
sudo apt install firefox
Дополнительные способы решения проблемы
Если вы по каким-то причинам не хотите удалять Snap-версию Firefox, вы можете попробовать следующие методы:
-
Управление настройками AppArmor: Snap-версии приложений, включая Firefox, используют AppArmor для ограничения прав доступа к файловой системе. Вы можете настроить правила AppArmor, которые разрешают доступ к определенным файлам или директориям. Например, чтобы разрешить выполнение бинарных файлов из директории
~/bin
, добавьте следующее правило в профиль AppArmor:@{HOME}/bin rx,
После внесения изменений перезапустите AppArmor для Firefox:
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.firefox.firefox
-
Корректировка настроек загрузки: Может помочь сброс параметров, касающихся каталога загрузок в настройках Firefox. Для этого откройте
about:config
в адресной строке Firefox и проверьте следующее:browser.download.dir
browser.download.downloadDir
browser.download.folderList
browser.download.lastDir
browser.download.useDownloadDir
Если какое-либо из значений выделено, сбросьте их до значений по умолчанию.
-
Проверка совместимости с XFCE: Если вы работаете в среде XFCE, убедитесь, что у вас установлен пакет
xdg-desktop-portal
. Для этого выполните следующие команды:sudo apt install xdg-desktop-portal sudo apt remove xdg-desktop-portal-gnome sudo apt install xdg-desktop-portal-xapp
Эти шаги помогут вам устранить проблему невозможности открытия загруженных файлов в Firefox на Ubuntu после обновления. Если указанные решения не работают, обратитесь к дополнительным ресурсам или форумам, посвященным поддержке Ubuntu и Firefox.