如何在所有用户帐户中全局配置“dconf”键

如何在所有用户帐户中全局配置“dconf”键

我想要针对单台台式机上的所有用户将“media-handling”模式的“automount”键设置为“false”。

我可以单独执行此操作(即一次一个用户),方法gsettings是以特定用户身份登录:

gsettings set org.gnome.desktop.media-handling automount false

但是,为每个单独的帐户执行此操作有些困难。我想以全局方式将同一密钥设置为“false”,以便在所有用户帐户中全局观察到所需的行为。

使用locate media-handling我找到了以下“xml”文件:

/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.xml

该文件包含以下内容:

<schemalist gettext-domain="gsettings-desktop-schemas">
  <schema id="org.gnome.desktop.media-handling" path="/org/gnome/desktop/media-handling/">
    <key name="automount" type="b">
      <default>true</default>
      <summary>Whether to automatically mount media</summary>
      <description>If set to true, then Nautilus will automatically mount media such as user-visible hard disks and removable media on start-up and media insertion.</description>

我理解此处的文件是通用/全局的,对这些文件的任何更改都会影响全局所有用户。但是,将此处的值设置为“false”不会产生任何明显影响。

我也发现了这个回答并创建了等效的“覆盖”文件:

/usr/share/glib-2.0/schemas$ ls | grep media-handling
org.gnome.desktop.media-handling.gschema.override.xml
org.gnome.desktop.media-handling.gschema.xml

..内容如下:

[org.gnome.desktop.media-handling]
automount=”false”

我按照给出的答案中的说明运行sudo glib-compile-schemas /usr/share/glib-2.0/schemas/,但没有观察到任何效果。为什么会这样,假设给出的解决方案是正确的?

如何将“automount”键设置为“false”,以便配置所有用户帐户?实现此操作后,如何防止个别用户以不同于全局规则的方式配置自己的帐户?

其次,系统如何使用该文件/usr/share/glib-2.0/org.gnome.desktop.media-handling.gschema.xml,根据我的理解,它会改变所有用户帐户,因为它位于...share/glib-2.0..,但事实并非如此?

(Ubuntu 16.04)

答案1

请不要误会我的意思,但我认为这里存在比编辑 XML 文件更简单的方法。

您可以使用基于 dconf 的配置文件。
我在 RedHat 文档中读到了相关内容:

以下是您问题的粗略示例:

sudo mkdir -p /etc/dconf/profile

cat <<EOF | sudo tee /etc/dconf/profile/user
user-db:user
system-db:local
EOF

sudo mkdir -p /etc/dconf/db/local.d

cat <<EOF | sudo tee  /etc/dconf/db/local.d/00-my
[org/gnome/desktop/media-handling]
automount=false
EOF

sudo dconf update

相关内容