从命令行在 Firefox 上安装 WebExtensions

问题描述 投票:0回答:2

我发现了问题如何在脚本中从命令行安装 Firefox 插件? 这似乎适用于 Firefox 扩展(即具有 install.rdf 文件的扩展),但是 WebExtensions(带有 manifest.json 的扩展)又如何呢?文件代替)?

firefox firefox-addon command-line-interface
2个回答
23
投票

请参阅:

您在askubuntu上链接的问题:如何在脚本中从命令行安装Firefox插件?已经过时了好几年,但确实有一些很好的信息。

此时,大多数 Mozilla 附加组件(包括所有 Firefox WebExtension 附加组件)都是通过将附加组件的

.xpi
文件放置在具有正确扩展名的适当目录中来手动安装的,而无需解压(解压)内容。 [您也可以通过在 Firefox 中下载它们来安装它们,将
.xpi
拖放到 Firefox/Thunderbird 等上]

您可以通过解压附加组件的

.xpi
文件并查看
install.rdf
文件来确定必须解压的附加组件是否具有
<em:unpack>true</em:unpack>
。所有 WebExtension 都没有此文件,无需解压即可安装。

.xpi
文件必须名为
[extensionID].xpi
。您可以从
install.rdf
文件(非 WebExtension 附加组件)中找到扩展 ID。在该文件中,您正在寻找
<em:id>ThisEntireStringIsTheAddOnsID</em:id>

对于 WebExtension,ID 位于 applications

 属性下的 
manifest.json 文件中:

"applications": {
    "gecko": {
        "id": "ThisEntireStringIsTheAddOnsID"
    }
},

对于上述两个示例,

.xpi
文件必须重命名为
ThisEntireStringIsTheAddOnsID.xpi

如果

install.rdf
文件包含
<em:unpack>true</em:unpack>
,则必须将
.xpi
中的文件解压(解压)并放置在extensions目录下的子目录中。 在上面的
install.rdf
示例中(WebExtensions 再次解压),目录将被命名为:
ThisEntireStringIsTheAddOnsID

扩展目录:

放置

.xpi
文件或解压目录的扩展目录是(部分信息从MDN复制):

对于运行特定版本 Firefox 的所有用户:

[Firefox install directory]/browser/extensions/

当该版本的 Firefox 运行时,Firefox 将要求用户确认安装该附加组件。用户将无法删除扩展程序,只能禁用它。扩展程序不会自动更新。

对于运行特定版本 Firefox 的所有用户:

[Firefox install directory]/distribution/extensions

首次使用该版本的 Firefox 运行配置文件时,将为所有用户/配置文件安装该扩展。该扩展将被复制到配置文件的

extensions
目录中,用户除了禁用它之外还可以将其删除。不会要求用户确认安装。复制到每个配置文件的扩展将与为该配置文件安装的所有其他扩展一起自动更新。您不应该解压此目录中的任何.xpi
文件。如果需要解压文件,当扩展程序安装在每个配置文件中时,Firefox 会自动完成解压。

对于特定用户的特定个人资料:


[profile directory]/extensions/


在 Windows 上: 特定用户的所有配置文件:

<I>%appdata%\\Mozilla\\Extensions\\{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\</I>


配置文件目录位于:


<i>\\Mozilla\\Firefox\\Profiles\\*</i>


OSX: 对于所有用户:

/Library/Application Support/Mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/


仅针对特定用户,将其放置在该用户的库文件夹层次结构中:


~/Library/Application Support/Mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/


Linux: 对于所有用户:

/usr/lib/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/



/usr/lib64/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/



/usr/share/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/


仅针对特定用户:


~/.Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/


注意:

您链接的问题/答案中提到的

-install-global-extension

 选项已从 Gecko 1.9.2 起从 Firefox 中删除
(很久以前)。


0
投票

https://blog.mozilla.org/addons/2020/03/10/support-for-extension-sideloading-has-ending/

© www.soinside.com 2019 - 2024. All rights reserved.