[gsettings] org.gnome.desktop.session.idle-delay not getting set for some users

Gnome 3 on RHEL7. We put a file in /etc/dconf/db/local.d that sets the idle-delay key of org.gnome.desktop.session to 900, like so:

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

For some users, this gets loaded, but not for all. For my user account specifically, it never gets picked up. If I log on to one of these machines that has this setting, and I run:

gsettings get org.gnome.desktop.session idle-delay

the result is: uint32 0
What can cause that? I’m not setting this anywhere else that I know of, and the setting is locked via a separate file in /etc/dconf/db/local.d/locks.

Stepping through the info in man 7 dconf, a few additional bits of debug info would be useful :slightly_smiling_face::

What’s the value of the DCONF_PROFILE environment variable for your user account? It might be unset; that’s OK.

Similarly, what’s XDG_CONFIG_HOME?

What’s the output of ls /etc/dconf/profile, and cat /etc/dconf/profile/${DCONF_PROFILE:-user}?

Have you updated the binary version of the local database with dconf compile since modifying /etc/dconf/db/local.d or /etc/dconf/db/local.d/locks? (See §(KEY FILES) in man 7 dconf.)

DCONF_PROFILE and XDG_CONFIG_HOME are both unset, which as I understand it means it defaults to ~/.config/dconf.

# ls /etc/dconf/profile
gdm    ibus   user
# cat /etc/dconf/profile/${DCONF_PROFILE:-user}
user-db:user
system-db:local
system-db:site
system-db:distro

I had run dconf update, but not dconf compile. I ran dconf compile and then rebooted, but gsettings get for idle-delay still returned uint32 0.

Have you tried gsettings reset org.gnome.desktop.session idle-delay for your user account?

I’m not sure where the value is getting set, but perhaps this will fix it.

Just tried that, no luck.
Also, it looks like this is not the only setting not being picked up. The below are also not getting set for my user account, though they are in the local db:

org.gnome.desktop.screensaver.idle-activation-enabled
org.gnome.desktop.screensaver.lock-enabled

Tried gsettings reset for both of them, also no result. I know that other accounts are impacted with this the same way mine is, but could this be a corrupted user db?

I’m running out of simple debugging ideas, sorry.

You could try creating a custom profile which is a subset of the user profile (by creating, say, /etc/dconf/profile/test and setting DCONF_PROFILE=test in a test terminal environment) and then using gsettings get to test the value of idle-delay. Keep changing the contents of the test profile to check different subsets of the user profile until you work out which layer is holding the bad value.