我在用着萨巴雍GNU/Linux 与Mate桌面版。我的计算机设置为多个用户,这样我的女朋友和孩子们也可以使用它。
~ $ 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
每次我切换用户、注销并以另一个用户身份登录时,我都会陷入一个完全混乱的桌面环境。
- s
mate-panel
缺失。 - 弹出错误提示没有可用的系统托盘。
caja
出现数十个实例。
解决此问题的唯一方法是切换到 TTY 并重新启动计算机。重新启动后,一切按预期工作。但切换用户根本不起作用。
此外,两者mate-panel
都mate-settings-d
使用大约 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
IRC 上有人 #mate告诉对我来说这可能是一个dconf
错误。日志.xsession-error
显示dconf
权限存在一些问题:
(mate-panel:8716): dconf-CRITICAL **: unable to create directory '/run/user/1001/dconf': Permission denied. dconf will not work properly.
检查该目录/run/user/1001/dconf
表明它由另一个用户拥有。一团糟。
如何避免 dconf 目录的权限冲突?
更新
最后,这个线建议尝试一下$XDG_RUNTIME_DIR
:
$ echo $XDG_RUNTIME_DIR
/run/user/1001
现在,问题很明显:所有用户都使用同一目录,dconf
这会导致所描述的权限问题。
所以我尝试调整一下$XDG_RUNTIME_DIR
。我将以下行添加到我的~/.bash_profile
设置中:
export XDG_RUNTIME_DIR=/run/user/$(id -u username)
现在,dconf
应该能够访问自定义目录。但这仍然行不通。我仍然遇到与上面相同的错误:
(mate-panel:8716): dconf-CRITICAL **: unable to create directory '/run/user/1001/dconf': Permission denied. dconf will not work properly.
但我仔细检查了目录的设置:
- 它是存在的。
- 权限设置正确。
- 环境变量设置正确。
我还能尝试什么来解决这个问题?我真的迷路了。
答案1
这也发生在我身上。我检查了.xsession-errors
我家的日志,它指出了 的权限问题$HOME/.cache/dconf/user
,我将其更改为由我的用户拥有,并解决了问题。
答案2
我通过删除 dconf-editor 解决了这个问题