GSettings 的配置文件是 xml 格式的,文件需以 .gschema.xml 结尾,文件名通常与 id 相同。配置文件安装在 /usr/share/glib-2.0/schemas/ 目录下,手动添加进去的文件需要执行 sudo glib-complie-schemas /usr/share/glib-2.0/schemas 让其生效。

<?xml version="1.0" encoding="UTF-8"?>
<schemalist>
<schema path="" id="">
<key type="" name="">
<default></default>
<summary></summary>
<description></description>
</key>
</schema>
</schemalist>

可以看到一个文件里可以包含多个 schema ,每个 schema 可由多个 key 组成。详细说明如下:

  • id

    schema 中的 id 需要在整个配置系统中是唯一的,不然执行 glib-compile-schemas 时会忽略重复的 id ; id 的开头通常使用与应用相关的域名

  • path

    schema 中的 path 必须是以 / 开头并且以 / 结尾,不能包含连续的 / , path 用于指定在 storage 中存储路径,可以与 id 不一致

  • name

    key 的名称,需要在此 schema 中是唯一的, name 的值由小写字母、数字和 - 组成,并且开头必须是小写字母,不能以 - 结尾,也不能出现连续的 -

  • type

    key 的类型,需要是 GVariant 支持的类型,除了可以使用基本的类型外,也可按照 GVariant 的方式组合类型

  • default

    key 的默认值

  • summary

    key 的简单描述

  • description

    key 的详细描述

python如何修改呢?

from gi.repository import Gio #  导入Gio库

gso = Gio.Settings("com.gh.device.report") # string schema_id

gso.set_int("report-type",1) # 传入值为key name/value,注意key的类型,选择set_boolean()/set_int()/set_string/set_double/set_enum等
a = gso.get_value("report-type")# 获取key的值 gso.set_boolean("https-enable",0)
b = gso.get_value("https-enable")

可能会出现修改不成功情况,需要开启什么东西ps -eaf |grep dbus,我也不太懂,欢迎留言。

参考文档链接:

https://segmentfault.com/a/1190000019968756

https://valadoc.org/gio-2.0/GLib.Settings.Settings.html

python修改Gsettings的配置文件的更多相关文章

  1. Python中操作ini配置文件

    这篇博客我主要想总结一下python中的ini文件的使用,最近在写python操作mysql数据库,那么作为测试人员测试的环境包括(测试环境,UAT环境,生产环境)每次需要连接数据库的ip,端口,都会 ...

  2. ConfigParser读取记事本、notepad++修改后的配置文件会出现:ConfigParser.MissingSectionHeaderError

    使用ConfigParser来读取配置文件,经常会发现经过记事本.notepad++修改后的配置文件读取时出现下面的问题: ConfigParser.MissingSectionHeaderError ...

  3. 翻译文章“AST 模块:用 Python 修改 Python 代码”---!!注意ironpathyon未实现此功能

    https://github.com/upsuper/blog/commit/0214fdd084c4adf2de2ed9912d644fb59ce13a1c +Title: [翻译] AST 模块: ...

  4. 通过python生成nginx模板配置文件

    通过python生成nginx模板配置文件 # cat config.py #coding=utf-8 nginx_conf = ''' server {{ listen {port}; server ...

  5. 修改 App.Config 配置文件 C#

    [转]在WCF程序中动态修改app.config配置文件 今天在个WCF程序中加入了修改配置文件的功能.我是直接通过IO操作修改的app.config文件内容,修改后发现发现其并不生效,用Google ...

  6. 4. python 修改字符串实例总结

    4. python 修改字符串实例总结 我们知道python里面字符串是不可原处直接修改的,为了是原来的字符串修改过来,我们有一下方法: 1.分片和合并 >>> a='abcde'  ...

  7. python修改镜像源

    pip升级:python -m pip install --upgrade pip https://www.cnblogs.com/andy9468/p/10319442.html 1.在命令中临时修 ...

  8. Python+selenium之读取配置文件内容

    Python+selenium之读取配置文件内容 Python支持很多配置文件的读写,此例子中介绍一种配置文件的读取数据,叫ini文件,python中有一个类ConfigParser支持读ini文件. ...

  9. python 修改文件内容

    python 修改文件内容 一.修改原文件方式 1 def alter(file,old_str,new_str): 2 """ 3 替换文件中的字符串 4 :param ...

随机推荐

  1. ES77

    PUT rr_bd202_chaos_20211220{ "aliases" : { "rr_bd202_chaos_pgold":{} }, "ma ...

  2. 部署YUM源仓库与NFS共享存储服务

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.YUM YUM (Yellow dog Updater Modified) ●基于RPM包构建的软件更新机制 ●可以自动解决依赖关系 ●所有 ...

  3. .Net Core EF的使用步骤

    EF Core--Code First (代码优先) 第一步 安装 NuGet包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore ...

  4. 痞子衡嵌入式:IAR内部C-SPY调试组件配套宏文件(.mac)用法介绍

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR内部C-SPY调试组件配套宏文件(.mac)用法. 痞子衡之前写过一篇 <JLink Script文件基础及其在IAR下调用 ...

  5. 22.1.7 master公式及O(NLogN)的排序

    22.1.7 master公式及O(NLogN)的排序 1 master 公式 (1) 写公式 T(N) = a * T(N/b) + O(N^d); master公式用来求递归行为的时间复杂度,式中 ...

  6. [使用多仓库解决] idea maven 下载源码出现:Cannot download sources Sources not found for: xxx

    根本原因 依赖托管仓库的库存不足.有的仓库,就是没有团队上传这个依赖.所以多加几个镜像源,总有一个仓库能找到. 解决方案 修改 maven 默认配置文件 "C:\Users\<user ...

  7. 编写 Java 程序时, 如何在 Java 中创建死锁并修复它?

    经典但核心Java面试问题之一.如果你没有参与过多线程并发 Java 应用程序的编码,你可能会失败.

  8. 什么是CopyOnWriteArrayList,它与ArrayList有何不同?

    CopyOnWriteArrayList是ArrayList的一个线程安全的变体,其中所有可变操作(add.set等等)都是通过对底层数组进行一次新的复制来实现的.相比较于ArrayList它的写操作 ...

  9. Hadoop全分布式

    1.安装jdk      Linux下安装jdk-7u67-linux-x64.rpm 2.免密登录   ssl免密登录(centos6) 3.同步时间:date -s "2020-04-0 ...

  10. 如何通过HibernateDaoSupport将Spring和Hibernate 结合起来?

    用 Spring 的 SessionFactory 调用 LocalSessionFactory.集成过程分三步: 配置 the Hibernate SessionFactory. 继承 Hibern ...