dconf 密钥文件中的某些参数未被考虑/使用

dconf 密钥文件中的某些参数未被考虑/使用

我正在 CentOS 7.6 上使用 gnome 3.28.2,并一直在尝试为 dconf 密钥文件中的某些参数设置全局值,如下所述这里并使用屏幕保护程序示例这里以及锁定设置的解释这里

我创建了一个包含以下内容的文件 /etc/dconf/db/local.d/00-configuration_gnome

# These work
[org/gnome/desktop/lockdown]
disable-user-switching=true
disable-lock-screen=true

[org/gnome/desktop/screensaver]
user-switch-enabled=false
lock-enabled=false
lock-delay=uint32 0

[org/gnome/desktop/session]
idle-delay=uint32 0

# These do not work/get taken into account
[org/gnome/desktop/interface]
clock-show-seconds=true

[org/gnome/SessionManager]
logout-prompt=false

像 gnome 文档中描述的那样考虑了某些参数,但其他参数似乎被忽略了。我可以通过命令行使用以下命令更改这些值, 但理想情况gsettings set org.gnome.SessionManager logout-prompt falsedconf update ,这些值将自动设置(例如在安装操作系统期间,而不是在每个单独帐户登录期间在脚本中运行)。

关于我的问题是什么有什么想法吗?我希望 logout-prompt=false 值也应用于 gdm 用户。据我了解,这是在常规登录屏幕上使用的帐户,但我也遇到了麻烦。

答案1

如果您查看架构定义(在 中找到/usr/share/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml):

<schemalist gettext-domain="gnome-session-3.0">
  <schema id="org.gnome.SessionManager" path="/org/gnome/gnome-session/">
    <key name="auto-save-session" type="b">
      <default>false</default>
      ....

可以看到schema ID是org.gnome.SessionManager,但路径是/org/gnome/gnome-session。这有点令人困惑,但看起来您需要使用dconf命令中的路径和命令中的 ID gsettings

$ gsettings get org.gnome.SessionManager logout-prompt
true
$ dconf write /org/gnome/gnome-session/logout-prompt false
$ gsettings get org.gnome.SessionManager logout-prompt
false

所以,你希望你的 dconf 文件有

[org/gnome/gnome-session]
logout-prompt=false

另外,如果您想为 GDM 设置 dconf 设置,请将它们放在 /etc/dconf/db/gdm.d/ 中。

相关内容