Sal*_*ouh 8 paths gnome-shell-extension
我正在为我的 gnome 设置创建一个 dotfiles git repo,并希望 Gnome 扩展的精确设置可以跨安装传输
我发现扩展本身存储在~/.local/share/gnome-shell/extensions 目录中,但在该
目录中找不到我在扩展中设置的首选项(例如屏幕截图工具),它只是 Javascript 和样式文件
更令人困惑的是,为了观察变化......
我在整个主目录上初始化了一个 git repo,并为干净的工作区提交了所有内容,然后更改了扩展的键绑定,但 git 没有通过以下方式检测到任何更改 git diff
这里发生了什么?我在哪里可以找到像 XML 或 JSON 甚至.conf 扩展的首选项文件?
架构文件
如果您全局安装了扩展,则默认扩展设置位于以下目录中的*.xml文件中:
/usr/share/gnome-shell/extensions/<extension directory>/schemas
Run Code Online (Sandbox Code Playgroud)
如果您在本地安装了扩展程序(这似乎是您的情况),则默认扩展程序设置位于以下目录中的*.xml文件中:
~/.local/share/gnome-shell/extensions/<extension directory>/schemas
Run Code Online (Sandbox Code Playgroud)
在*.xml文件中,<key>标签将列出键。该<default>标签将包含默认值。您可以手动编辑这些文件。为了跨系统传输设置,您需要更新扩展的*.xml “gschema”文件。
在您上面引用的示例扩展中,设置位于屏幕截图配置。
如果在已安装的系统上编辑这些文件,则需要通过运行以下命令之一来重新编译“gschema”。
如果您已全局安装扩展,请执行:
sudo glib-compile-schemas /usr/share/gnome-shell/extensions/<extension directory>/schemas
Run Code Online (Sandbox Code Playgroud)
如果您在本地安装了扩展,请执行:
glib-compile-schemas ~/.local/share/gnome-shell/extensions/<extension directory>/schemas
Run Code Online (Sandbox Code Playgroud)
这将在扩展的架构目录中创建一个更新的gschemas.compiled文件。
设置
当您使用 GUI(扩展的设置对话框)更改设置时,更改实际上存储在gsettings 中。
您可以使用Dconf 编辑器来定位特定“gsetting”的键和值。
使用以下命令安装Dconf 编辑器:
sudo apt install dconf-editor
Run Code Online (Sandbox Code Playgroud)
(您也可以使用gsettings命令行工具代替Dconf 编辑器GUI 工具)。
*.xml文件中的<schema>or<path>标签(如上所述)将告诉您在Dconf Editor 中导航到哪个模式。(提示,它将在 下)。在* .XML/org/gnome/shell/extensions/也文件将其键可配置列表。
您可以在Dconf Editor 中搜索架构和密钥,并进行更改。
根据我的经验,大多数扩展设置都存储在“可重定位”模式中。实际上,这意味着您只能在至少设置一次之后才能使用Dconf 编辑器搜索和更改它们。否则,密钥在Dconf Editor中将不可用,因此您将无法更改其值。这是因为当没有gsettings覆盖它们时,将使用*.xml文件中的默认值(如上所述)。
因为您想跨安装传输这些设置,请尝试导出您的gsettings,并将它们加载到您的新机器上。有关说明,请参阅另一个问题的答案。(这种方法实际上可能比编辑*.xml文件更容易,如上所述)。
注意变化
观察gsettings更改的一个好方法是运行以下命令:
dconf watch /
Run Code Online (Sandbox Code Playgroud)
这将显示您刚刚更改的架构和键。
dconf使用以下命令安装命令行工具:
sudo apt install dconf-cli
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6232 次 |
| 最近记录: |