6

I'm trying to change my screensaver settings in Cinnamon 2.6.13 on Ubuntu 14.04 trusty.

When the system image was fresh, I was able to change the setting /org/cinnamon/desktop/screensaver/ask-for-away-message to whatever I wanted. Now, however, the option seems to be "locked" at false, and using dconf write (even with sudo) gives the following output:

dconf write /org/cinnamon/desktop/screensaver/ask-for-away-message true
error: The operation attempted to modify one or more non-writable keys

The only thing I can think of that could have caused this was when I tried a new screensaver a few weeks ago. I hated it and changed it back to default, but since then I haven't been able to change the setting of ask-for-away-message, and I really want it to true again...

Why is the setting now "non-writable"?

Brian Rodriguez
  • 113
  • 2
  • 9
  • @don_crissti Thanks, I just checked that directory but it doesn't seem to exist, so it seems that it isn't. – Brian Rodriguez Dec 24 '16 at 01:23
  • Can you create a new user to check, if the problem is in the system or in your /home? –  Dec 25 '16 at 16:05
  • @Bahamut Unfortunately, I can not create a new user to check. – Brian Rodriguez Dec 27 '16 at 20:30
  • Long shot. Logout and stop Xorg. Rename following folder. $HOME/.gconf $HOME/..gconfd $HOME/.dbus $HOME/.config/dconf. But this will reset all your approaches. –  Dec 30 '16 at 10:08
  • Please check the *directory* permissions in `$HOME/.config/*`. I had that a couple of times as well. Not sure what caused it, but one of the directories (`dconf/`?) suddenly was owned by `root`. After a `sudo chown :` ` things where back to normal. Generally spoken, a `sudo chown -R : $HOME/.config` should not cause any harm, and fix this very issue as well. – Izzy Jan 12 '17 at 12:56
  • @Izzy I just tried that, but still no luck. – Brian Rodriguez Jan 12 '17 at 14:56
  • @BrianRodriguez tried the "global hammer" `chown`ing recursively? OK, then it must be something different in your case. Just to make sure: can you check if anything in there is set to read-only? Though, what irritates me is the "non-writable **key**" part of your error message. // For context: [this is the code](https://github.com/GNOME/dconf/blob/master/engine/dconf-engine.c#L1118) where it throws that error – maybe it helps some dev to get a clue. – Izzy Jan 12 '17 at 16:38

3 Answers3

2

I'm a little late to the party, but I found the solution to a very similar problem I was having.

Look in /etc/dconf/db/local.d/locks/screensaver and see if your key is listed. Anything listed in this file is locked, and cannot be changed at all.

Also check /etc/dconf/db/local.d/00-screensaver, as that file forces global settings, which might also be affecting it.

More info can be found at https://access.redhat.com/solutions/1201153.

Zargontapel
  • 121
  • 3
1

Maybe some program set a lock on the according key. I found this in the Gnome developer documentation, probably works also with your system as it uses dconf.

Locks

System databases can contain 'locks' for keys. If a lock for a particular key or subpath is installed into a database then no database listed above that one in the profile will be able to modify any of the affected settings. This can be used to enforce mandatory settings.

To add locks to a database, place text files in the /etc/dconf/db/database.d/locks directory, where database is the name of a system database, as specified in the profile. The files contain list of keys to lock, on per line. Lines starting with a # are ignored. Here is an example:

# prevent changes to the company wallpaper
/org/gnome/desktop/background/picture-uri

After changing locks, the database needs to be updated with the dconf(1) tool.

Copied from https://developer.gnome.org/dconf/unstable/dconf-overview.html

DBX12
  • 207
  • 2
  • 11
0

I have two ideas:

  1. You are trying to write a VALUE of a wrong type; e.g. write a string into an integer KEY
  2. Try to reset that KEY, prior to write in it
mattia.b89
  • 3,142
  • 2
  • 14
  • 39