当前位置: 首页>>技术教程>>正文


如何不使用GUI更改dconf密钥(对于post-install脚本)?

问题描述

我已经安装了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-editor中的键也未更改。

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

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

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

如果可以弄清楚,我只想将该命令放在bash脚本中,以在下次必须进行全新安装进行升级时运行*。我在6个月内做了很多调整,但我只想从现在开始尽可能地自动化。

  • 略off-topic:对我而言,发行升级机制从来没有成功过;我也尝试将其从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批量导出和还原

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

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

    editor ~/.config/dconf/user.conf
    

    如果使用Vim,则需要this syntax highlight

  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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9948.html,未经允许,请勿转载。