如何通过脚本配置 gnome 面板?

如何通过脚本配置 gnome 面板?

我可以使用 gconftool-2 轻松设置工作区的数量和工作区名称,如下所示:

  gconftool-2 --type int --set /apps/metacity/general/num_workspaces 4
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_1 Dev
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_2 Docs
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_3 VM
  gconftool-2 --type string --set /apps/metacity/workspace_names/name_4 Web

但是,出于某种原因,我无法使用类似的技术来设置工作区切换器中的行数,或设置显示工作区名称的首选项。同样,我无法通过 gconftool 添加小程序和启动器。 我还希望能够将我的系统配置为在屏幕底部只有一个面板。(解决了这么多)

我已经审查过使用 gconf页面没有成功。对于某些选项,我可以通过转储gconftool-2 -R /到文件、通过 GUI 更改选项,然后再次转储和差异来成功找到选项名称。这种技术对上述项目没有效果。我也尝试过--dump 和 --load,并尝试重新启动 gnome-panel 和 gconfd-2,但这也无济于事。除了 gconftool-2 之外,面板是否还使用其他机制来存储设置?

我目前正在使用 gnome-classic 模式下的 11.10。

更新:找一个隐藏面板的脚本

更新 2:拆卸顶部面板的更简单方法:

gsettings set org.gnome.gnome-panel.layout toplevel-id-list "['bottom-panel']"

我实际上仍然无法使用 dconf 配置面板。

我可以通过 更改现有的面板项以指向不同的程序dconf write /org/gnome/gnome-panel/layout/objects/object-6/instance-config/location "'...'",但这killall -HUP gnome-panel也是必需的。

如果我尝试通过从面板中删除一个项目dconf write /org/gnome/gnome-panel/layout/objects/object-id-list "[...]",即使重新启动 gnome 面板,面板的内容也不会改变。

如果我使用 dconf-editor 进行相同的更改,它会立即改变。

dconf 写入后我需要做什么来更新面板?

(注意:在 12.04 版本中行为相同)

答案1

虽然gsettings无法更改 dconf 中的无模式键,但dconf可以。您不需要编写自己的程序。您可以执行以下操作来更改工作区切换器中的行数:

  1. 安装dconf-tool
  2. 运行dconf

    dconf 写入 /org/gnome/gnome-panel/layout/objects/workspace-switcher/instance-config/num-rows 2

dconf-editor您还 可以使用许多其他 gnome-panel 条目进行游戏。

答案2

事实证明,一些 gnome 首选项存储在 gconf 中,可以通过 gconftool-2 进行编辑,而其他首选项存储在 dconf 中,可以通过 gestings 进行编辑。请参阅:如何在没有 GUI 的情况下更改 dconf 键

更新:不幸的是,我很快就遇到了这个错误报告中描述的问题:无法使用 gsettings 设置无架构密钥我想要设置的许多首选项都是存储在二进制文件 ~/.config/dconf/user 中的无模式键,而且似乎没有办法通过内部 dconf API 来编辑这些首选项——因此您必须编写一个 C 程序来执行此操作。

相关内容