自动设置 Gnome 注册表(GConf)强制设置

自动设置 Gnome 注册表(GConf)强制设置

TL;DR:已经发现了一些可能性,但是文档留下了太多未解答的问题,使我无法自信地部署它们。

我想在我们网络上的用户工作站上推出一些强制性的 GConf 设置。经过一番调查,似乎有几种更改强制性设置的选项,但每种选项都让我对如何正确应用这些设置存疑。

gconf-editor

  • 方法:从 GUI 运行gksudo gconf-editor并选择文件 > 新建强制窗口。
  • 优点
    • 绝对有效:这是我过去在较小的安装上使用过的方法。
  • 缺点
    • 不是自动化的,所以不是一个真正的选择。
    • 在大量设置的情况下扩展性较差。

gconftool-2

  • 方法gconftool-2使用 ' --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory' 选项调用。
  • 优点
    • 可以实现自动化。
  • 缺点
    • 关于旗帜的使用,显然存在矛盾的指示--direct
    • (次要)每个单独的设置都需要单独的命令。

/etc/gconf/gconf.xml.mandatory/

  • 方法:直接修改/创建下面的文件/etc/gconf/gconf.xml.mandatory/
  • 优点
    • 与我们现有的文件分发基础设施非常契合。
    • 能很好地适应大量设置。
  • 缺点
    • 似乎不是官方支持的方法。
    • 不清楚如何避免不安gconfd
    • 停止/重新启动的包装脚本gconfd可能会导致用户问题。

GNOME 文档提供了一些例子所有人gconftool-2都使用--direct标志。然而,手册页--direct标志“要求 gconfd 未运行”。这与此场景无关吗(我将以 root 身份运行,而不是以登录用户身份运行),或者我是否需要检测是否gconfd正在运行并相应地传递/不传递该标志?

我理想情况下希望/etc/直接同步文件,但我找不到任何迹象表明守护进程可能对此做出响应(例如,它们是否会拾取不一致的设置,或者需要重新启动)。将文件更新夹在停止/重新启动命令之间gconfd应该可以避免守护进程本身出现问题,但我想这可能会对活动用户会话造成严重破坏。

有更多 GConf 经验的人能否澄清这些问题,或提供他们使用的方法的详细信息?我们正在运行 Ubuntu 12.04 LTS,但我很高兴听到在任何平台上运行的解决方案。

答案1

考虑到您的要求,我会选择添加设置/etc/gconf/gconf.xml.mandatory(我假设您使用的是 puppet、chef 或类似的东西)。您需要注销用户并停止 gconfd(gconftool-2 --shutdown;它通常在注销后仍会运行几分钟)以使设置更改生效。

相关内容