说明:
- 我询问的.crx 扩展安装必须在 Chromium Browser 中进行,而不是在 Google-Chrome 浏览器中进行。
- @pomsky在我之前的问题中提到的参考资料中所述的方法仅适用于 Google-Chrome 浏览器。这些方法的原始文档在此处给出
- 我编写了一个 python 脚本来实现“使用首选项文件”方法的第 2 点和第 6 点(参见下面的代码,必须以管理员权限执行)。我确认它在 Google Chrome 浏览器中安装了“GNOME Shell 集成”包。但是,它不适用于 Chromium 浏览器。
- 我正在寻找 Chromium 浏览器的解决方案。
- 最初,系统只有 Chromium 浏览器。后来安装了 Google Chrome 浏览器来测试我的脚本可以使用它而不是 Chromium 浏览器的假设。所以目前我的系统安装了两个浏览器。
代码:
#!/usr/bin/env python3.6
# -*- coding: utf-8 -*-
from pathlib import Path
from json import loads, dump
def installChromeExtension( extensionID):
extension = Path( '/opt/google/chrome/extensions/' )
extension.mkdir( mode=0o777, parents=True, exist_ok=True )
preferences_file = extension/str( extensionID + '.json' )
preferences_file.touch()
data = { 'external_update_url' :
'https://clients2.google.com/service/update2/crx' }
with preferences_file.open( "w" ) as file:
dump( data, file, indent=4 )
print( f'Created {preferences_file}.')
GNOME_Shell_Integration_id = 'gphhapmejobijbbhgpjhcjognlahblep'
installChromeExtension( GNOME_Shell_Integration_id )
根据 Chromium 的网页“Chrome 扩展开发人员常见问题解答 2015 年 5 月即将发生的与托管扩展相关的更改常见问题解答 8”:在此更改之后,扩展支持的部署选项是什么?:
对于 OSX 和 Linux,可以通过首选项 JSON 文件安装扩展。
我正在为 Chromium 寻找类似的文档。
1. 背景
根据 Chromium 文档,安装 .crx 扩展名似乎有三种方法。即通过组策略,通过注册表,或者通过 master_preferences对于 Linux,Registry 方法似乎不合适(它似乎适用于 Windows 系统)。此外,它指出:
此其他文档还讨论了使用 Preferences over Policy 方法的考虑因素,并建议:
我无法通过 Preferences 方法安装“GNOME Shell Integration”扩展。好消息是我发现了如何使用 Policy 方法在 Chromium 中安装这个扩展。我已经在下面描述了它。
2. 通过策略方法安装扩展
Chromium 确实有关于 Policy 方法的 Linux 快速入门文章。笔记:
对于 Chromium 浏览器,您需要在他们的示例中替换
/etc/opt/chrome
为/etc/chromium
,否则您的扩展将不会出现。您需要将您的策略文件放入其中,
/etc/chromium/policies/managed
否则它将无法正常工作。我确实尝试过使用/etc/chromium/policies/recommended
,但没有奏效。将策略文件放入托管目录也意味着用户无法删除您的扩展。您的策略文件需要使用策略名称ExtensionInstallForcelist。
3. 从 Cmdline 在 Chromium 中安装 GNOME Shell 集成扩展的步骤:
在终端中运行这些命令。该文件
my_policy.json
可以是您喜欢的任何名称,但它必须是一个.json
文件。将这些行添加到 my_policy.json 中:
根据GNOME Shell 集成扩展,“您必须安装本机连接器才能使此扩展正常工作”。此处提供了安装本机连接器的详细命令列表。对于 Ubuntu,请执行以下操作:
关闭所有 Chromium 浏览器并重新启动 Chromium 浏览器。