当没有列出模式时如何使用 gsettings?

当没有列出模式时如何使用 gsettings?

我想编写一个脚本来重新排序 Compiz 模块的加载,以便在使用 Unity 桌面时,最后加载 expo 和 scale,并且这些插件中的热点设置在重新启动时仍将保持活动状态。这可以使用 GUI dconf-editor 轻松完成。但是,只要 Unity 有更新,此设置就会恢复为默认设置,即最后加载 Unity 模块并取消热点。

因此我需要一个命令行方法来更改位于以下位置的 dconf-editor 中的设置org/compiz/profiles/unity/plugins/core

['core', 'composite', 'opengl', 'copytex', 'decor', 'regex', 
'compiztoolbox', 'place', 'imgpng', 'grid', 'unitymtgrabhandles', 
'resize', 'mousepoll', 'snap', 'gnomecompat', 'move', 'vpswitch', 
'session', 'wall', 'animation', 'workarounds', 'expo', 'scale', 
'fade', 'ezoom', 'unityshell']

到:

['core', 'composite', 'opengl', 'copytex', 'decor', 'regex', 
'compiztoolbox', 'place', 'imgpng', 'grid', 'unitymtgrabhandles', 
'resize', 'mousepoll', 'snap', 'gnomecompat', 'move', 'vpswitch', 
'session', 'wall', 'animation', 'workarounds', 'fade', 'ezoom', 
'unityshell', 'expo', 'scale']

运行命令:

gsettings list-schemas | grep -i compiz

显示没有我需要更改的架构。因此,请尝试以下方法:

gsettings list-recursively | grep -i compiz

给出了更长的列表,但对我的项目没多大用处。

我哪里做错了或者还有其他方法可以解决我的问题?

答案1

我希望它是这样的,将“引号”添加到值中作为设置字符串所需的正确 GVariant 格式的一部分。

gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ active-plugins \
 "['core', 'composite', 'opengl', 'copytex', 'decor', 'regex', 'compiztoolbox', 'place' 
,'imgpng', 'grid', 'unitymtgrabhandles', 'resize', 'mousepoll', 'snap', 'gnomecompat',
'move', 'vpswitch', 'session', 'wall', 'animation', 'workarounds', 'fade', 'ezoom', 
'unityshell', 'expo', 'scale']"

相关内容