语法来覆盖gsettings bytestring

时间:2017-09-09 13:38:04

标签: bytestring gsettings

我正在尝试在覆盖文件中为nemo定义gsetting默认值。 密钥(org.nemo.preferences bulk-rename-tool)属于type="ay",这意味着它是developer.gnome.org

中解释的字节字符串

在nemo的首选项对话框中将其设置为gprename后,gsettings get org.nemo.preferences bulk-rename-tool的返回值为b’gprename’, 在运行环境中,我可以成功设置值 gsettings set org.nemo.preferences bulk-rename-tool "b’gprename’" 但是我找不到包含在覆盖文件中的正确语法。

我尝试了方括号,双/单引号,包括developer.gnome.org上提到的各种组合和变体中的nul终结符 - 没有成功。

例如

[org.nemo.preferences]
bulk-rename-tool="b’gprename’"

导致

# glib-compile-schemas /usr/share/glib-2.0/schemas/

error parsing key 'bulk-rename-tool' in schema 'org.nemo.preferences' as
specified in override file '/usr/share/glib-2.0/schemas/99_custom-cinnamon.gschema.override':
0-13:can not parse as value of type 'ay'.Ignoring override for this key.

或者

bulk-rename-tool=[b’gprename’]

给出

error parsing key 'bulk-rename-tool' in schema 'org.nemo.preferences' as
specified in override file '/usr/share/glib-2.0/schemas/99_custom-cinnamon.gschema.override':
1:expected value.Ignoring override for this key.

由于架构中的默认值仅列出空括号[],因此我也尝试了类似

的内容
bulk-rename-tool=[b’gprename'\0]

给了我

1.14:unterminated string constant.

所以也许这是最接近工作的,只是nul终结符显然是错误的语法......

1 个答案:

答案 0 :(得分:0)

[org.nemo.preferences]
bulk-rename-tool=b'thunar --bulk-rename'

请勿在配置中使用引号覆盖“ ...”。仅当您通过cli设置值时才使用它们,即

$ dconf write /org/nemo/preferences/bulk-rename-tool "b'thunar --bulk-rename'"

您发布的编译行正确无误,并且一切正常。

$ glib-compile-schemas /usr/share/glib-2.0/schemas/