I'm using Sabayon GNU/Linux with Mate-Desktop. I have my computer set up for multiple users so my girlfriend and the kids can use it too.
~ $ uname -a
Linux 3.9.0-sabayon #1 SMP Thu Jun 27 07:53:45 UTC 2013 x86_64 Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz GenuineIntel GNU/Linux
~ $ equo search mate-desktop
>> @@ Package: mate-base/mate-desktop-1.6.0 branch: 5, [sabayonlinux.org]
>> Available: version: 1.6.0 ~ tag: NoTag ~ revision: 0
>> Installed: version: 1.6.0 ~ tag: NoTag ~ revision: 0
Each time i switch user, logging out and logging in as another user I end up in a completly messed up desktop environment.
- The
mate-panel
s are missing. - Errors pop up that no system tray is available.
- Tens of
caja
instances pop up.
The only way to fix this is to switch to TTY and reboot the machine. After reboot everything works as desired. But switching users does not work at all.
In addition, both mate-panel
and mate-settings-d
use around 100% CPU.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8691 afri 20 0 6735900 5.384g 21176 R 100.3 17.2 70:03.75 mate-settings-d
8716 afri 20 0 1789004 1.070g 21744 R 96.4 3.4 64:12.03 mate-panel
Someone on IRC of #mate told me this could be a dconf
error. The .xsession-error
log says dconf
has some issues with permissions:
(mate-panel:8716): dconf-CRITICAL **: unable to create directory '/run/user/1001/dconf': Permission denied. dconf will not work properly.
Checking out the directory /run/user/1001/dconf
tells it's owned by another user. It's a mess.
How to avoid this permission conflict for the dconf directory?
Update
Finally, this thread suggests to play around with $XDG_RUNTIME_DIR
:
$ echo $XDG_RUNTIME_DIR
/run/user/1001
Now, the issue is obvious: all users are using the same directory for dconf
which results in the described permission issues.
So I tried to adjust the $XDG_RUNTIME_DIR
. I added the following line to my ~/.bash_profile
settings:
export XDG_RUNTIME_DIR=/run/user/$(id -u username)
Now, dconf
should be able to access the custom directory. But this still does not work. I'm still getting the same error as above:
(mate-panel:8716): dconf-CRITICAL **: unable to create directory '/run/user/1001/dconf': Permission denied. dconf will not work properly.
But I double-checked the settings of the directory:
- it's existing.
- permissions are set correctly.
- environment variables are set correctly.
What else can I try to fix this? I'm really lost.