AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1211636
Accepted
Sun Bear
Sun Bear
Asked: 2020-02-20 11:09:43 +0800 CST2020-02-20 11:09:43 +0800 CST 2020-02-20 11:09:43 +0800 CST

如何通过命令行在 Chromium 浏览器中安装 GNOME Shell 集成扩展?

  • 772

说明:

  1. 我询问的.crx 扩展安装必须在 Chromium Browser 中进行,而不是在 Google-Chrome 浏览器中进行。
  2. @pomsky在我之前的问题中提到的参考资料中所述的方法仅适用于 Google-Chrome 浏览器。这些方法的原始文档在此处给出
  3. 我编写了一个 python 脚本来实现“使用首选项文件”方法的第 2 点和第 6 点(参见下面的代码,必须以管理员权限执行)。我确认它在 Google Chrome 浏览器中安装了“GNOME Shell 集成”包。但是,它不适用于 Chromium 浏览器。
  4. 我正在寻找 Chromium 浏览器的解决方案。
  5. 最初,系统只有 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 寻找类似的文档。

chromium 18.04 chrome-extension
  • 1 1 个回答
  • 1446 Views

1 个回答

  • Voted
  1. Best Answer
    Sun Bear
    2020-02-21T01:33:06+08:002020-02-21T01:33:06+08:00

    1. 背景

    根据 Chromium 文档,安装 .crx 扩展名似乎有三种方法。即通过组策略,通过注册表,或者通过 master_preferences对于 Linux,Registry 方法似乎不合适(它似乎适用于 Windows 系统)。此外,它指出:

    使用策略部署扩展程序或 Chrome Web 应用程序是迄今为止最简单且可扩展的方法。

    此其他文档还讨论了使用 Preferences over Policy 方法的考虑因素,并建议:

    首选政策以在受管理的计算机上配置 Chrome。对用户应该能够更改的设置使用推荐策略,对用户不应更改的设置使用强制策略。master_preferences 文件可用于为新用户进行默认设置,但这样做有一些缺点:

    我无法通过 Preferences 方法安装“GNOME Shell Integration”扩展。好消息是我发现了如何使用 Policy 方法在 Chromium 中安装这个扩展。我已经在下面描述了它。

    2. 通过策略方法安装扩展

    Chromium 确实有关于 Policy 方法的 Linux 快速入门文章。笔记:

    1. 对于 Chromium 浏览器,您需要在他们的示例中替换/etc/opt/chrome为/etc/chromium,否则您的扩展将不会出现。

    2. 您需要将您的策略​​文件放入其中,/etc/chromium/policies/managed否则它将无法正常工作。我确实尝试过使用/etc/chromium/policies/recommended,但没有奏效。将策略文件放入托管目录也意味着用户无法删除您的扩展。

    3. 您的策略文件需要使用策略名称ExtensionInstallForcelist。

    3. 从 Cmdline 在 Chromium 中安装 GNOME Shell 集成扩展的步骤:

    1. 在终端中运行这些命令。该文件my_policy.json可以是您喜欢的任何名称,但它必须是一个.json文件。

      $ sudo mkdir -p /etc/chromium/policies/managed
      $ sudo touch /etc/chromium/policies/managed/my_policy.json
      $ gedit admin:///etc/chromium/policies/managed/my_policy.json
      
    2. 将这些行添加到 my_policy.json 中:

      {
          "ExtensionInstallForcelist": [
          "gphhapmejobijbbhgpjhcjognlahblep;https://clients2.google.com/service/update2/crx",
          ],
      }
      
    3. 根据GNOME Shell 集成扩展,“您必须安装本机连接器才能使此扩展正常工作”。此处提供了安装本机连接器的详细命令列表。对于 Ubuntu,请执行以下操作:

      $ sudo apt-get install chrome-gnome-shell
      
    4. 关闭所有 Chromium 浏览器并重新启动 Chromium 浏览器。

    • 0

相关问题

  • 如何在铬上安装 Windows 媒体播放器插件?

  • 如何解决“gdk-pixbuf/gdk-pixbuf.h:没有这样的文件或目录”

  • apt-build & Chromium PPA

  • 随着 Xmarks 的关闭,有什么好的选择?

  • 铬不起作用

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve