从命令行配置gnome-shell扩展


9

我喜欢运行一些脚本来自动安装软件包,并在新安装的操作系统上进行一些配置。我使用具有一些扩展的gnome shell,并正在考虑改进我的脚本以对其进行配置。

我通常使用gnome-shell-extension-prefs或dconf-editor配置扩展,并且我知道如何从命令行编辑其他架构。例:

gsettings set org.gnome.desktop.background picture-options stretched

但是,尽管我可以使用dconf编辑器在org.gnome.shell.extensions下找到并编辑已安装的扩展,但是我无法使用gsettings访问它们,因为它们似乎没有分配的架构:

No such schema 'org.gnome.shell.extensions.extname'

gsettings可以访问的唯一扩展似乎是预安装的扩展。

因此,问题是,如何从命令行配置已安装的扩展?有什么方法可以分配给gsettings中的已编译模式~/.local/share/gnome-shell/extensions/吗?也许我看错了方向。

环境:Ubuntu Gnome 14.04(Gnome Shell 3.10.4)

提前致谢。

Answers:


11

最后我自己找到了答案。

sudo cp ~/.local/share/gnome-shell/extensions/extname/schemas/org.gnome.shell.extensions.extname.gschema.xml \
    /usr/share/glib-2.0/schemas/ &&
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

复制并编译其中的架构~/.local/share/gnome-shell/extensions,gsettings将能够使用它们。


很好的挖掘!
Pancho

刚遇到相同的错误。必须有比将本地安装的扩展方案复制到全局目录更好的解决方案。这个问题有更新吗?
工程师

4

在CentOS 7中-我也会在Ubuntu中考虑-通过引入--schemadir开关,我发现我认为在可接受的答案上有一点改进:

# gsettings --schemadir ${schemaDir} set ${schema} ${key} "${value}"

另外,在上述命令gsettings直接设定${key}${value}${schema}其中${schema}不驻留在默认/usr/share/glib-2.0/schemas目录。(并且不需要将架构移动到默认目录)

一些例子:

gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
gsettings --schemadir ~/.local/share/gnome-shell/extensions/unitylike-hotkey@webgyerek.net/schemas/  list-recursively org.gnome.shell.extensions.app-keys
gsettings --schemadir ~/.local/share/gnome-shell/extensions/emoji-selector@maestroschan.fr/schemas/  list-recursively org.gnome.shell.extensions.emoji-selector

1
确认可以在Ubuntu 18.04,GS 3.28上运行。例如:gsettings --schemadir ~/.local/share/gnome-shell/extensions/putWindow@clemens.lab21.org/schemas/ list-recursively org.gnome.shell.extensions.org-lab21-putwindow
eddygeek

0

我已经编写了这个脚本:Bash脚本以启用/禁用gnome-shell-extensions等

只需在/usr/binor或cp中/usr/local/bin使其可执行即可:

sudo chmod +x /usr/bin/gnome-shell-extension-cl

检查帮助。

启用扩展:

gnome-shell-extension-cl -e extension-name

禁用扩展名:

gnome-shell-extension-cl -d extension-name
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.