在Ubuntu 22.04中安装非snap版Firefox

什么是 Snap

Snap 是一种软件包管理方式,它类似于一个拥有应用程序所有的文件和库的容器,各个应用程序之间完全独立,ubuntu.cn 中是这么介绍的:每个snap默认都被严格限制(confined),即限制系统权限和资源访问。

优点是软件包本身包含了程序运行的所有依赖,不必担心安装完软件后出现缺少依赖项的问题

缺点是由于封装了所有依赖,导致程序在打开的时候会消耗大量的时间,这对于我这块用移动机械硬盘来装的Ubuntu尤其吃力。并且 Snap 的软件商店 Snapcraft 是个私有的软件商店,并没有国内镜像或反代理加速可用,所以下载速度较慢

安装 Snap 可以用以下方法

  1. 在系统自带的 Ubuntu Software 安装
  2. 在终端执行sudo snap install <软件包名>

安装 deb 包

在 Ubuntu 22.04 中预安装的是 Snap 形式的 Firefox,并且 Firefox的 deb 是一个空包 在执行 apt install firefox 会链接到 Mozilla 的官方 Snap,下面有三种方法来解决这个问题

从 Mozilla PPA 存储库安装

1. 添加 PPA

打开终端,输入以下命令

1
sudo add-apt-repository ppa:mozillateam/ppa

2. 更新软件源

1
sudo apt update

3. 设置 PPA 优先级

Ubuntu 官方存储库中的空 Firefox deb 版本号为 1:1snap1-0ubuntu2 。 它总是高于 PPA 包版本。 如果直接安装会安装snap版本的,所以必须要为刚添加的 PPA 设置更高的优先级,打开终端执行以下命令:

1
sudo gedit /etc/apt/preferences.d/mozillateamppa

该命令在 Gedit 文本编辑器中创建并打开空配置文件。 当它打开时,添加下面的行并保存它:

1
2
3
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

保存后关闭编辑器,继续在终端执行 sudo apt update 来应用更改

4. 安装 Firefox

终端执行:

1
sudo apt install firefox

大功告成,卸载 Firefox for snap

从 Mozilla 安装

在这里引用 Mozilla Firefox 官网的安装步骤

  1. 从 Firefox 下载页面 并点击 立即下载 按钮。

  2. 打开一个终端,转到下载 Firefox 的目录,比如

    1
    cd ~/Downloads
  3. 将下载文件的内容解压缩:

    1
    tar xjf firefox-*.tar.bz2
  4. 将解压的 Firefox 目录移到 /opt:

    1
    sudo mv firefox /opt
  5. 创建一个指向 Firefox 可执行文件的 symlink:

    1
    sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
  6. 下载一个 desktop 文件:

    1
    wget https://raw.githubusercontent.com/mozilla/sumo-kb/main/install-firefox-linux/firefox.desktop -P /usr/local/share/applications

    如果没有安装 wget 或下载错误,那么你可以右击以上链接,打开弹出菜单并选择 另存为。下载好文件之后,把它放到 /usr/local/share/applications。

接下来卸载原先的 Firefox

卸载 Firefox for snap

在终端执行:

1
sudo snap remove --purge firefox

大功告成