gnome 扩展偏好设置存储在哪里?

gnome 扩展偏好设置存储在哪里?

我正在为我的 gnome 设置创建一个 dotfiles git repo,并希望 Gnome 扩展的精确设置可以在安装之间转移

我发现扩展本身存储在 ~/.local/share/gnome-shell/extensions 目录中,但我找不到我在扩展中设置的首选项(比如截图工具例如)在该目录中,只有 Javascript 和样式文件

更令人困惑的是,为了观察变化......

我在整个主目录上初始化了一个 git repo,并提交了所有内容以获得一个干净的工作区,然后更改了扩展的键绑定,但 git 没有检测到任何变化git diff

这是怎么回事?我在哪里可以找到 XML 或 JSON 之类的首选项文件,甚至.conf 是扩展?

答案1

架构文件

默认扩展设置位于*.xml如果您全局安装了扩展,则文件位于以下目录中:

/usr/share/gnome-shell/extensions/<extension directory>/schemas

默认扩展设置位于*.xml如果您在本地安装了扩展程序(这似乎是您的情况),则文件位于以下目录中:

~/.local/share/gnome-shell/extensions/<extension directory>/schemas

在里面*.xml文件,<key>标签将列出键。<default>标签将包含默认值。您可以手动编辑这些文件。为了跨系统传输设置,您需要更新扩展的*.xml“gschema” 文件。

在上面引用的示例扩展中,设置位于屏幕截图配置

如果您在已安装的系统上编辑这些文件,则需要通过运行以下命令之一重新编译“gschema”。

如果你已经全局安装了扩展,请执行:

sudo glib-compile-schemas /usr/share/gnome-shell/extensions/<extension directory>/schemas

如果你已经在本地安装了扩展,请执行:

glib-compile-schemas ~/.local/share/gnome-shell/extensions/<extension directory>/schemas

这将创建一个更新的gschemas.编译扩展的架构目录中的文件。

管理设置

当你使用 GUI(扩展的设置对话框)更改设置时,更改实际上存储在设定

您可以使用Dconf 编辑器找到特定“gsetting”的键和值。

安装Dconf 编辑器使用:

sudo apt install dconf-editor

(您也可以使用gsettings命令行工具代替Dconf 编辑器图形用户界面 (GUI) 工具)。

<schema>或标签<path>*.xml文件(如上所述)将告诉您要导航到哪个模式Dconf 编辑器。(提示,它将位于 下/org/gnome/shell/extensions/)。*.xml文件还将列出可以配置哪些键。

您可以搜索架构并输入Dconf 编辑器,并进行更改。

根据我的经验,大多数扩展设置都存储在“可重定位”架构中。实际上,这意味着您可以使用以下方式搜索并更改它们Dconf 编辑器至少设置一次后才能使用。否则,密钥将无法使用Dconf 编辑器,因此您将无法更改其值。这是因为*.xml文件(如上所述)在没有设定来覆盖它们。

由于您想要跨安装传输这些设置,请尝试导出您的设定并将其加载到新机器上。请参阅此回答另一个问题以获取说明。(这种方法实际上可能比编辑*.xml文件,如上所述)。

关注变化

观察的一个好方法设定在进行更改时,运行以下命令:

dconf watch /

这将显示您刚刚更改了哪个架构和密钥。

使用以下方法安装dconf命令行工具:

sudo apt install dconf-cli

答案2

在某些情况下,包括当您将环境变量设置GSETTINGS_BACKEND为时keyfile,将在创建一个文本文件$XDG_CONFIG_HOME/glib-2.0/keyfile,存储所有扩展设置。

这对于开发和测试扩展非常有用。例如,在使用这个脚本,您可以复制该文件来创建可重现的测试环境。

相关内容