如何确定 Ubuntu 22.04 上的 Firefox 版本

如何确定 Ubuntu 22.04 上的 Firefox 版本

我最近升级了 20.04 Ubuntu 22.04。我选择退出默认的“Snap” Firefox,并且遵循这些说明用 Mozilla Team PPA 存储库中维护的 Firefox 替换它。

但是,我刚刚对系统进行了更新和升级(我使用apt它而不是软件更新程序),Firefox 似乎已经恢复到默认的“Snap”版本。从窗口中Help, About Firefox我看到了以下声明“适用于 Ubuntu 的 Mozilla Firefox 规范 - 1.0”如截图所示:

问:我如何知道我拥有的是 Snap 版本还是 PPA 版本?

请注意我不问如何安装它,因为有很多教程,还有一个SE 中的问答解决这个问题。我只是想知道如何验证我是否拥有 PPA 版本(或 SNAP 版本)。

在此处输入图片描述

答案1

一个选项是在系统监视器中找到 Firefox 进程并打开其属性。Snap 版本从/snap设置了安全上下文的位置运行。 Firefox 进程属性

答案2

实际上,符号链接位于/snap/bin可执行 snap 中,位于/snap同名文件夹下。 的输出ls -l $(which firefox)将显示找到的文件启动路径第一的根据您的$PATH环境变量的定义:

这个是apt可以通过以下命令查看的版本apt list firefox --installed(如果已安装,则会显示[installed]):

$ apt list firefox --installed
Listing... Done
firefox/focal-updates,focal-security,now 104.0+build3-0ubuntu0.20.04.1 amd64 [installed]
$
$ ls -l $(which firefox)
lrwxrwxrwx 1 root root 25 Aug 18 22:25 /usr/bin/firefox -> ../lib/firefox/firefox.sh

shell$PATH将确定首先启动哪个版本。如果您同时安装了两个版本,它将根据从左到右定义的文件路径查找第一个版本,这些文件路径可能会有所不同。$PATH可以更改定义(此处要小心!)以重新定义启动哪个版本。这通常不是这样做的方式。定义一个别名来执行此操作并保留变量通常更容易:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ PATH=/snap/bin:$PATH
$ echo $PATH
/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ ls -l $(which firefox)
lrwxrwxrwx 1 root root 13 Sep 13 14:12 /snap/bin/firefox -> /usr/bin/snap

您可以进一步启动 Firefox 并查看正在运行的版本:

$ firefox &
$ for i in $(pgrep firefox); do cat /proc/$i/cmdline ; echo ; done
/usr/lib/firefox/firefox-new-window
/snap/firefox/1810/usr/lib/firefox/firefox

第一个版本是apt版本,第二个版本是snap版本,是的,两个版本可以同时运行。

系统监视器输出显示 snap 和 apt 版本正在运行

相关内容