Firefox 无法打开文件

Ser*_*rgi 7 firefox files libreoffice 22.04

我刚刚从 Ubuntu 20.04 更新到 22.04,从那时起 Firefox 似乎无法打开文件。当我从网站下载文件时,出现“打开方式...系统处理程序(默认)”对话框。我尝试这样做,看起来文件已下载,但我无法打开它,甚至无法在下载时访问该文件夹。我有 Firefox 105.0.3(64 位) Mozilla Firefox Snap for Canonical-002 - 1.0

小智 2

可能您的 Firefox 是通过 snap 安装的,并且没有权限,最简单的解决方案是使用 mozilla 存储库中的 Ubuntu 软件包重新安装它。

这对我有用:

  1. 删除 snap Firefox 安装:
    sudo snap remove firefox
Run Code Online (Sandbox Code Playgroud)
  1. 添加 Mozilla 存储库
    sudo add-apt-repository ppa:mozillateam/ppa
Run Code Online (Sandbox Code Playgroud)

3.更改优先级,因此ubuntu将使用repo而不是snap

    echo '  
    Package: *  
    Pin: release o=LP-PPA-mozillateam  
    Pin-Priority: 1001  
    ' | sudo tee /etc/apt/preferences.d/mozilla-firefox
Run Code Online (Sandbox Code Playgroud)
  1. 安装火狐浏览器:
    sudo apt install firefox
Run Code Online (Sandbox Code Playgroud)

这些步骤是从那里采取的:https://fosspost.org/how-to-install-firefox-as-a-deb-package-on-ubuntu-22-04/


Ale*_*lke 1

snap 包用于通过多种不同方式提高安全性。有帮助的部分:

  1. 一个 snap 包被安装在它自己的环境中(一个chroot环境)
  2. snap 依赖项必须安装在其环境中(避免使用无效/不兼容/不安全版本的包)
  3. 从 snap 包对系统上文件的访问由以下命令控制apparmor

所以你有几种解决方案:

  • 一种是找到最新版本的 .deb,但 Ubuntu 表示他们将停止生产这些版本......但看起来有带有最新版本的 PPA

  • 将文件保存在不同的位置以便能够打开它们;它应该可以从您的文件夹(在您的 下/home/<login>)运行。如果 apparmor 阻止 firefox 启动其他二进制文件,这可能仍然会失败。

  • 编辑 Apparmor 设置以允许 Firefox 执行此操作和/或操作;apparmor 文件不在快照中,因为主主机 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
    
    Run Code Online (Sandbox Code Playgroud)

    您需要编辑/var/lib/snapd/apparmor/profiles/snap.firefox.firefox并进行更改才能使其全部正常工作。例如,要允许在 下执行二进制文件~/bin,您可以添加如下内容:

    @{HOME}/bin rx,   # allow Read & eXecute under /home/<login>/bin
    
    Run Code Online (Sandbox Code Playgroud)

    完成编辑后,运行:

    sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.firefox.firefox
    
    Run Code Online (Sandbox Code Playgroud)

    然后重新启动火狐浏览器。

    至于改变本身,这取决于你想要做什么。要访问目录中的文件,需要允许该目录。访问类型由一组字母定义。

    注意 1:每次刷新快照时,您所做的更改都会被覆盖。因此,请务必清晰地保存更改的副本,以便可以重新应用它们。除了这个附带问题之外,这可能是最好的解决方案。

    注意 2:所做的更改snap.firefox.firefox适用于您计算机上的所有用户。如果您有多个用户,您可能需要重新考虑。同时,安装 .deb 将允许任何人(几乎)像以前一样做任何事情,而无需任何真正的保护。


归档时间:

查看次数:

3299 次

最近记录:

2 年,2 月 前