如何在没有gui的情况下更改dconf密钥(对于安装后的脚本)?

我安装了dconf-tools。 在这种情况下,我正在操作会话指示器面板中的名称显示。

我可以在dconf-editor gui中更改这个没有问题,我转到apps / indicator-session,并取消show-real-name-on-panel。

但是,我也尝试在命令行使用dconf来切换它:

dconf write /com/canonical/indicator/session/show-real-name-on-panel false 

重新启动后,面板保持不变,dconf编辑器中的密钥也保持不变。

此外,尝试通过终端更新dconf数据库会产生错误:

 $ dconf update fatal: Error opening directory '/etc/dconf/db': No such file or directory 

根据我的经验, 似乎 dconf和dconf-editor没有任何关系,所以我只是想知道我做错了什么。

如果我能解决这个问题,我想将命令放在一个bash脚本中,以便下次我必须进行全新安装以进行升级*。 我在6个月内做了很多调整,我想从现在开始尽可能地自动化。

  • 稍微偏离主题:分销升级机制对我来说从来没有顺利过; 我也试过从11.04到11.10。

您可以使用gsettings工具。

 gsettings set com.canonical.indicator.session show-real-name-on-panel false 

以下在Ubuntu 14.04上为我工作:

 dconf write /org/gnome/gnome-session/auto-save-session true 

该值确实发生了变化,并在重启后保持不变。 我有另一个问题,窗户没有保存,但这是一个完全不同的问题。

dconf dump + load mass export and restore

  1. 将所有设置转储到文件:

     dconf dump / >~/.config/dconf/user.conf 
  2. 在文本编辑器上打开该文件,然后选择您关心的设置:

     editor ~/.config/dconf/user.conf 

    如果您使用Vim,您将需要此语法突出显示 。

  3. 如果您不知道设置的名称,但知道如何从像unity-control-center这样的GUI修改它,请运行:

     dconf watch / 

    然后修改它们。 然后,确切的设置将出现在终端上。

  4. 如果要还原这些设置,请运行:

     dconf load / <~/.config/dconf/user.conf 
  5. Git跟踪配置文件永远不会丢失它。 https://github.com/andsens/homeshickhomesick是我目前最喜欢的方法。

在Ubuntu 15.10上测试过。 提示改编自: http : //catern.com/2014/12/21/plain-text-configuration-gnome.html

似乎(至少在15.10中)有一些东西(特别是compiz)只在dconf层存储配置而dconf设置。 这可能会影响其他配置路径,但可能不太可能 – 因为compiz处于比unity更低的层,我并不感到惊讶它的行为不同。

例如,这将起作用:

 dconf write /org/compiz/profiles/unity/plugins/core/outputs "['3200x1800+288+2160', '3840x2160+0+0']" 

虽然这不会:

 gsettings set org.compiz.profiles.unity.plugins.core outputs "['3200x1800+288+2160', '3840x2160+0+0']" # No such schema 'org.compiz.profiles.unity.plugins.core' 

现在,如果我能弄清楚如何重新加载compiz而不会崩溃一切……