mate-desktop / caja

Caja, the file manager for the MATE desktop
https://mate-desktop.org/
Other
271 stars 145 forks source link

dconf-WARNING failed to commit changes to dconf #1625

Open aquinary opened 2 years ago

aquinary commented 2 years ago

image I'm setting up the root environment (themes, icons, etc.). Although I rarely use root, my perfectionism wants everything to be perfect. I set up my (not root) account and everything works great there. My problem is that Caja doesn't respond to the pencil icon, nor does it save settings (giving the same error) The problem is observed only in root, in a normal account everything is fine!

Expected behaviour

When I click on this button I get the normal behavior

Actual behaviour

When you click on the icon, nothing happens. In the terminal writes: (caja:15338): dconf-WARNING **: 21:59:28.004: failed to commit changes to dconf: An error occurred while creating the command line process. «dbus-launch --autolaunch=82050b92b3d344f79cf7572b07e53b00 --binary-syntax --close-stderr»: Child process exited with code 1

Steps to reproduce the behaviour

sudo caja try to change the settings or click on the icon, which is on my very first screenshot

MATE general version

No mate, awesomewm

Package version

1.26.0

Linux Distribution

ArchLinux

zhuyaliang commented 2 years ago

How do you switch to root? This may be related to environment variables

su -
caja

and

su
caja

The effect is different

lukefromdc commented 2 years ago

I too have seen this many times. I do not know if this is intentional, but when running caja as root you would not want your normal user settings taken ownership by root in the process of writing to them. Fine to write to /root but to /home/$user would create problems with not being able to write to it as normal user unless code was included to prevent root from taking over ownership of the dconf database.

There is another bug that in a few cases can prevent caja from running if it has previously been run as root and taken posession of ~/.config/dconf/user