我在使用 Gnome3 时遇到了问题(实际上,我已将其设置为后备模式或 Gnome 2)。我有两个显示器,每个屏幕都需要一个 X 屏幕(我使用了 nvidia-xconfig 和 nvidia-settings 来实现这一点)。但是,每次我重新启动 X 或登录时,Gnome 似乎都会在对象下添加对象值/gnome/gnome-panel/layouts
(例如,第一次设置两个单独的 X 屏幕时,我有时钟,然后注销/登录,对象下有时钟和时钟 1,然后注销/登录有三个,时钟、时钟 1、时钟 2、.......注销/登录,............30 次....时钟、时钟 1、时钟 2、......时钟 42.....!!顶部面板、菜单栏等也一样。)
过了一会儿,我发现我可以使用 dconf-editor 删除所有这些,转到/gnome/gnome-panel/layouts
,删除字段objects-id-list 和 top-id-list 下的所有重复项,并保留每个对象的一个值。这不是解决方案,但至少允许我继续使用 Linux 而没有那么多麻烦。但是,每次我重新启动 X 或登录时,问题仍然存在。
现在我终于了解了“dconf”以及用户配置文件设置的位置(~/.config/dconf/user
),并且可以使用“ dconf
”查看键。就我而言,我需要更改/删除许多键(所有那些clocksX、workspace-X、menu-bar-X等,从1到42,并且还在增加),因此使用“dconf write”逐个更改真的很乏味和无聊。所以我找到了“ dconf dump
”,它实际上允许我将所有内容转储到.txt文件中并非常快速地编辑文件(即“ dconf dump / >> dump_user.txt
”)。问题是什么?其中两个:
我如何将我编辑的“dump_user.txt”重新加载到用户配置文件中?(我读到某处有“
dconf reload
”,但“dconf”下的命令中不存在重新加载)每次我登录/重新启动 X 时,如何阻止 Gnome 不断向我的桌面环境添加更多对象?
注意:当我将显示器设置为使用 TwinView 功能(即桌面由两个显示器扩展/共享)时,不会出现此问题。但是,对于我的情况,我需要两个单独的 X。
如能得到任何帮助/建议我将非常感激。
编辑:我找到了一种永久删除密钥的方法。
“使用 dconf reset 命令可以实现这一点,但不清楚这是否是错误的副作用。
对于单个密钥:
dconf reset "/path/to/the/key" 不能以 / 结尾。
对于整个路径:
dconf reset -f "/path/to/the/path/" 必须以 / 结尾。"
从http://askubuntu.com/questions/45535/how-do-i-clean-up-my-dconf-database
但再次强调(正如原帖作者所说),这只是一个临时补丁,而不是解决方案。我不知道为什么每次我重新启动 X/log in 时 dconf(或任何执行此操作的软件)都会不断添加密钥。
谢谢
答案1
使用dconf load
,而不是dconf reload
。尝试dconf help
查看可用的命令。dconf dump
是 的逆dconf load
。
因此在这方面,如果您使用以下命令备份并修改了 dconf 设置:
dconf dump / > settings.txt
您可以使用任何文本编辑器在文件中修改它们,然后~/.config/dconf/user
通过以下方式填充它们:
dconf load / < settingsModified.txt
答案2
当有人时它会停止修复 gnome 面板中的错误。
答案3
如果您想编辑dconf
配置文件,我建议您使用dconf-editor
GUI 或gsettings
前端。
dconf-editor
可以通过运行来安装sudo apt-get install dconf-tools
。gsettings
应该已经安装好了,但是使用起来比较困难。
答案4
Ubuntu 13.04 - 已修复 gnome-panel 中的部分错误。面板将在正确的屏幕上创建,但您需要手动为其他屏幕面板创建对象。或者使用 dconf-tools 将对象移动到正确的面板。
Ubuntu 12.04 - 您可以访问启动板错误并下载最后两个包含完整修复的附加包。或者您可以等到其他开发人员合并我的修复。如果发生这种情况,那么每个人都会获得此修复和更新。