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

Ink*_*acu 34 dconf

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

我可以在 dconf-editor gui 中毫无问题地更改它,我转到应用程序/指示器会话,然后取消勾选显示真实姓名面板。

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

dconf write /com/canonical/indicator/session/show-real-name-on-panel false
Run Code Online (Sandbox Code Playgroud)

重启后面板没有变化,dconf-editor里面的key也没有变化。

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

$ dconf update
fatal: Error opening directory '/etc/dconf/db': No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

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

  • 有点跑题:发行版升级机制对我来说从来都不是一帆风顺的;我也尝试过从 11.04 到 11.10。

Ano*_*ous 38

您可以使用该gsettings工具。

gsettings set com.canonical.indicator.session show-real-name-on-panel false
Run Code Online (Sandbox Code Playgroud)


Ali*_*aka 13

以下在 Ubuntu 14.04 上对我有用:

dconf write /org/gnome/gnome-session/auto-save-session true
Run Code Online (Sandbox Code Playgroud)

该值确实更改并在重新启动后保持更改。我有另一个问题,即窗户没有保存,但这是一个完全不同的问题。


Cir*_*郝海东 12

dconf dump+load批量导出和恢复

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

    dconf dump / >~/.config/dconf/user.conf
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在文本编辑器上打开该文件并选择您关心的设置:

    editor ~/.config/dconf/user.conf
    
    Run Code Online (Sandbox Code Playgroud)

    如果你使用 Vim,你会想要这个语法 highlight

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

    dconf watch /
    
    Run Code Online (Sandbox Code Playgroud)

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

  4. 如果要恢复这些设置,请运行:

    dconf load / <~/.config/dconf/user.conf
    
    Run Code Online (Sandbox Code Playgroud)
  5. Git 跟踪配置文件永远不会丢失它。homeshick是我目前最喜欢的方法。

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