用户配置目录

用户配置目录

注意:当我说 Chromium 时,我指的是 Google Chrome 和 Chromium。

我所知道的将相同的应用程序设置应用于所有新用户要么定义架构/覆盖文件,/usr/share/glib-2.0/schemas要么将文件夹/文件复制到/etc/skel

当创建新用户时,该用户会自动获得 gsettings/config 文件。

所以我的问题是 - 如何将主题应用于 Chromium 并使其应用于所有用户?Chromium 是否使用gsettings类型设置?如果是,哪些类型?

Chromium 是否使用配置文件(例如~/.config)?如果是,是哪些?

我碰巧正在使用 Gnome 或 Unity - 但我认为任何答案都适用于任何桌面环境。


我找到了这个关联对于 Chrome 来说,有一个类似的 Q - 但适用于 Windows。

这是否适用于 Ubuntu ...以及 Chromium?


在公共休息室里进行了一次简短的聊天后.../etc/chromium-browser/customizations被提及 - 所以这可能会为主题需要做什么提供线索。

答案1

用户配置目录

Chromium 确实使用~/.config目录(~/.config/chromium-~/.config/google-chrome表示 Google Chrome),可使用命令行标志进行自定义:

~ man google-chrome | perl -00 -ne 'print if /\.config/'
       --user-data-dir=DIR
              Specifies  the directory that user data (your "profile") is kept
              in.  Defaults to ~/.config/google-chrome .   Separate  instances
              of  Google  Chrome  must  use  separate  user  data directories;
              repeated invocations of google-chrome  will  reuse  an  existing
              process for a given user data directory.

因此,创建新配置的最简单方法是使用 运行其中任一项--user-dir=newconfig,根据需要进行自定义,然后将目录复制newconfig/etc/skel/.config/chromium/etc/skel/.config/google-chrome


管理政策

最后但也许是最灵活的方法是使用/etc/chromium-browser/policies(或/etc/opt/chrome/policies对于 Google Chrome)。Chromium管理员文档有适用于 Windows、Mac 和Linux

本质上,在 Linux 上,您可以使用policies/managed和中的 JSON 文件policies/recommendedmanaged目录用于强制执行的设置 - 用户无法更改它们。

我将仅调整针对 Linux 给出的示例:

$ cat /etc/chromium/policies/managed/test_policy.json
{
  "HomepageLocation": "www.chromium.org",
  "HomepageIsNewTabPage": false
}

现在,在 Chromium 上,主页被锁定为www.chromium.org。相应地,如果文件已在 中recommended,则用户可以更改其主页。

当前政策列表可用这里。它列出了政策、其描述和示例值。

要安装主题或扩展,ExtensionInstallForcelist可以使用策略。不能recommended,只能managed

$ cat /etc/chromium/policies/managed/test_policy.json
{
    "ExtensionInstallForcelist": [
        "gighmmpiobklfepjocnamgkkbiglidom;https://clients2.google.com/service/update2/crx",
        "jeonacmfdmkgfmmdejlinolgjomhcbmh;https://clients2.google.com/service/update2/crx",
    ],
}

这将安装Adblock 扩展GData Centers 1 爱荷华州康瑟尔布拉夫斯主题。


/etc/chromium-browser/customizations

/etc/chromium-browser/customizations/00-example似乎表明它只能用于检测插件和添加命令行标志:

$ cat etc/chromium-browser/customizations/00-example
##   Register plugins this way.  The two parameters are yours to fill.

#discover_registration /path/to/plugin/plugin.info library-name

##   A way to influence the running. This is read-write for you. Please
##   Append only.

#CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --option=value"

##   Read-only variables guaranteed to be set, with example values.

#APPNAME='chromium-browser'
#BUILD_DIST='Ubuntu 14.04'
#DESKTOP_SESSION='ubuntu'
#LIBDIR='/usr/lib/chromium-browser'
#UPSTREAM_VERSION='34.0.1847.131'

48.0.2564.116-0ubuntu0.14.04.1.1111(顺便说一下,这是来自的,尽管UPSTREAM_VERSION可能表明了什么。出于某种原因,只有32 位软件包Ubuntu 14.04 上有它,而不是 64 位的。)

Chromium 的命令行标志列表可以在以下位置找到:http://peter.sh/experiments/chromium-command-line-switches/, 根据
Chromium 网站

discover_registration似乎不是可执行命令- 这可能是一个 shell 函数,但我倾向于怀疑这些文件不会被我们的普通 shell 解析。无论如何,我认为这种方法不够通用,如果您只想让用户一开始使用某些设置,然后让他们稍后更改,则很难覆盖。而且这些标志似乎不提供安装主题或扩展的方法。


设定

对我的系统进行快速扫描dconf-editor表明 Google Chrome 不使用它。显然(感谢@Serg),Chromium 确实如此。


结论

总而言之,前两种方法都可以使用,Google Chrome 支持 Chromium 所做的一切,但路径不同。Chromium 有/etc/chromium-browser~/.config/chromium,Google Chrome 有/etc/opt/chrome~/.config/google-chrome。第一种方法适用于一次性初始化,如果要进行更多初始化,则需要第二种方法。

由于并非所有设置都可以使用策略进行配置,因此您可能必须同时使用它们。

相关内容