![如何在所有用户帐户中全局配置“dconf”键](https://linux22.com/image/900756/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%89%80%E6%9C%89%E7%94%A8%E6%88%B7%E5%B8%90%E6%88%B7%E4%B8%AD%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE%E2%80%9Cdconf%E2%80%9D%E9%94%AE.png)
我想要针对单台台式机上的所有用户将“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