gsettings命令使用简介

1.gsettings创建项

应用程序可以使用gsettings来保存配置信息,可以通过代码在程序中进行设置、修改gsettings的已有的项,但是不能通过程序代码创建新的gsettings项,gsettings的项的在一个叫做schema的规范文件中创建,schema文档其实是一个规范的xml文档。其实例如下:

<?xml version="1.0" encoding="UTF-8"?>
<schemalist><schema path="/org/lili/test/app/testgsettings/" id="org.lili.test.app.testgsettings"><key type="b" name="enabled"><default>true</default><summary>Enable Testgsetting</summary><description>Globally enable or disable the TestApp,Setting it to "false" will disable TestApp.</description></key><key type="i" name="brightness"><default>30</default><summary>The brightness of the screen</summary><description>This is the laptop panel screen brightness used when the session is idle.</description></key></schema>
</schemalist>

对于schema文件的注意事项:

  • path两头必须都有/,否则会验证失败
  • schema文件的扩展名必须是gschema.xml,否则这个规则文件将无法被正确编译安装,最终无法被gsettings使用
  • 如果想让gsettings能被dconf-editor所读取,则必须指定path属性

    2.schema文件的编译安装

    schema文件并不能直接被gsettings使用,需要用glib-compile-schemas编译器将schema文件编译为二进制文件才能被gsettings所使用。GSettings 会读取 XDG_DATA_DIRS 下的 glib-2.0/schemas路径,所以通常将schema文件放到环境变量XDG_DATA_DIRS/glib-2.0/schemas/路径下,一般为/usr/share/glib-2.0/schemas 和 /usr/local/share/glib-2.0/schemas。例如,我们将schema文件拷贝到/usr/share/glib-2.0/schemas 路径下,我们可以在命令行运行以下命令编译刷新系统的gsettings:

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

执行完上述命令后就可以发现自己定义的schema已经生效:
myschema

3.常用的gsettings命令

#gsettings list-schemas             显示系统已安装的不可重定位的schema
#gsettings list-relocatable-schemas 显示已安装的可重定位的schema
#gsettings list-children SCHEMA     显示指定schema的children,其中SCHEMA指xml文件中schema的id属性值,例如实例中的"org.lili.test.app.testgsettings"
#gsettings list-keys SCHEMA         显示指定schema的所有项(key)
#gsettings range SCHEMA KEY         查询指定schema的指定项KEY的有效取值范围
#gsettings get SCHEMA KEY           显示指定schema的指定项KEY的值
#gsettings set SCHEMA KEY VALUE     设置指定schema的指定项KEY的值为VALUE
#gsettings reset SCHEMA KEY         恢复指定schema的指定项KEY的值为默认值
#gsettings reset-recursively SCHEMA 恢复指定schema的所有key的值为默认值
#gsettings list-recursively [SCHEMA]如果有SCHEMA参数,则递归显示指定schema的所有项(key)和值(value),如果没有SCHEMA参数,则递归显示所有schema的所有项(key)和值(value)

4.使用实例

4.1显示系统都安装了哪些不可重定位的schema

gsettings_list-schemas

4.2查看org.cinnamon.settings-daemon.plugs都有哪些子schema

gsettings_list-children

4.3查看org.cinnamon.settings-daemon.plugs.power的schema下都有哪些项(key)

gsettings_list-keys

4.4查看org.cinnamon.settings-daemon.plugs.power的schema下所有项的取值

gsettings_list-recursively

4.5查看org.cinnamon.settings-daemon.plugs.power的schema下的项button-hibernate的值

gsettings_get

4.6查看org.cinnamon.settings-daemon.plugs.power的schema下的项button-hibernate的取值范围

gsettings_range

4.7修改设置org.cinnamon.settings-daemon.plugs.power的schema下的项button-hibernate的值为shutdown

gsettings_set

4.8恢复org.cinnamon.settings-daemon.plugs.power的schema下的项button-hibernate的值为默认值

gsettings_reset

4.9修改org.cinnamon.settings-daemon.plugs.power的schema下的多项值后,恢复整个schema的所有项为默认值

4.9.1修改前配置截图

gsettings_list-recursively

4.9.2修改后配置截图

gsetting_set

4.9.3恢复后的配置截图

gsettings_reset-recursively

感谢:本文前半部分参考了http://blog.csdn.net/zhgn2/article/details/8834339

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Collection 和 Collections区别

Collection 和 Collections区别&#xff08;1&#xff09;java.util.Collection 是一个集合接口&#xff08;集合类的一个顶级接口&#xff09;。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具…

Http状态码完整说明

在网站建设的实际应用中&#xff0c;容易出现很多小小的失误&#xff0c;就像mysql当初优化不到位&#xff0c;影响整体网站的浏览效果一样&#xff0c;其实&#xff0c;网站的常规http状态码的表现也是一样&#xff0c; 一些常见的状态码为&#xff1a; 200 - 服务器成功返回网…

运用xlib进行事件响应(X11 API)的小例子

转自&#xff1a;http://blog.csdn.net/linuxheik/article/details/7659090 File: x11_test.cxx #include <X11/Xlib.h> 每一个Xlib 程序都必须包含这个头文件 #include <stdio.h>1. int main(void) {2. Display *display XopenDisplay(NULL);首先打开与server …

Java 之HashSet、LinkedHashSet、TreeSet比较

4.HashSet、LinkedHashSet、TreeSet比较 Set接口Set不允许包含相同的元素&#xff0c;如果试图把两个相同元素加入同一个集合中&#xff0c;add方法返回false。Set判断两个对象相同不是使用运算符&#xff0c;而是根据equals方法。也就是说&#xff0c;只要两个对象用equals方法…

jquery1.9学习笔记 之选择器(基本元素四)

ID选择器("#id") 描述&#xff1a; 选择与给出ID属性匹配的单元标签。 对于ID选择器&#xff0c;jquery使用JS的函数document.getElementById()&#xff0c;当一个标签附加到ID选择器上时&#xff0c;也是非常有效的。如h2#pageTitle&#xff0c;jquery会在识别元素标…

Java(ArrayList和LinkedList)、(HashTable与HashMap)、(HashMap、Hashtable、LinkedHashMap和TreeMap比较)

1.ArrayList和LinkedList &#xff08;1&#xff09;ArrayList是实现了基于动态数组的数据结构&#xff0c;LinkedList基于链表的数据结构。 &#xff08;2&#xff09;对于随机访问get和set&#xff0c;ArrayList绝对优于LinkedList&#xff0c;因为LinkedList要移动指针。 &a…

oracle 事务测试

此文章是根据官方改变 模拟帐户转账流程1.JOHN帐户扣除-DAVID帐户增加-记录日志&#xff0d;事务提交三个操作必须全部完成此事务才完成&#xff0c;否则失败创建帐户余额表自增字段自增序列&#xff1b;createsequencesaving_seqincrementby1startwith1maxvalue99999999999999…

apt-get 获取源码的方法

apt-get source gconf-editor –allow-unauthenticated 注&#xff1a;gconf-editor是一个包名&#xff0c;根据自己的需求相应更改即可

Java 集合之自动打包和解包以及泛型

自动打包与解包&#xff1a;泛型&#xff1a;上栗子&#xff1a; TestMap1.java: package com.zhj.www; import java.util.*;public class TestMap {public static void main(String[] args) {Map m1 new HashMap();Map m2 new TreeMap();//m1.put("one", new Inte…

select * from dim.dim_area_no@to_dw

应该是建的有database linksdim是用户名&#xff0c;dim_area_no是表名&#xff0c;to_dw 是建的database links的名&#xff0c;dim_area_no表属于dim用户创建database links的作用是连接其他数据库的表select * from dim.dim_area_noto_dw 这个语句的作用是查询属于dim用户的…

ios 内存管理 心得

- alloc, copy, retain会把引用计数1 - release会把引用计数-1 - 局部变量如果初始化时不是autorelease的&#xff0c;要及时调用release释放&#xff0c;并且赋值为nil否则引用仍然存在导致下次无法用nil做是否有值的判断 - 实例变量要在每次赋值时要先释放当前引用的对象再赋…

error while loading shared libraries: xxx.so.x 错误的原因和解决办法

一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.…

泗洪高薪行业

泗洪高薪行业转载于:https://www.cnblogs.com/soundcode/p/3302297.html

libghttp 编译及封装使用实例

想用C语言写个采集程序&#xff0c;涉及到http相关的东西&#xff0c;找了找&#xff0c;有现成的libghttp库。 libghttp库的官方网址google一下第一条结果一般就是的&#xff1a;http://lfs.linuxsir.org/htdocs/blfscvs/gnome/libghttp.html 将源码包下载下来&#xff0c;进…

Java IO 节点流与处理流类型

处理流类型&#xff1a;1、处理流之首先缓冲流&#xff1a;解释&#xff1a;例子&#xff1a;TestBufferStream1.java package com.zhj.www;import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException;public class TestBufferStream1 …

高级浏览器-SRWare Iron 29.0.1600.0 版本发布

SRWare Iron是德国一安全公司srware改造的Chrome&#xff08;铬&#xff09;命名为铁&#xff08;iron&#xff09;的浏览器。于2008年9月18日首次发布。 据官方介绍&#xff0c;Iron浏览器砍掉了Chromium原程序中的很多有碍“隐私”问题的代码。 “iron中去除的功能包括&#…

shell中的${},##和%%的使用

假设我们定义了一个变量为&#xff1a; file/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值&#xff1a; ${file#*/}&#xff1a;删掉第一个 / 及其左边的字符串&#xff1a;dir1/dir2/dir3/my.file.txt ${file##*/}&#xff1a;删掉最后一个 / 及其左边的字…

Java 线程多线程编程1---基础

1、线程的基本概念例子&#xff1a;分析&#xff1a;2、线程的创建和启动第一种线程的创建&#xff1a;定义一个线程类来实现Runner接口 例子&#xff1a; package com.zhj.www; import java.lang.Thread; public class TestThread1 {public static void main(String[] args) {…

移动互联网下一步:“深度学习”配合大数据

随着电子商务不断深入&#xff0c;百度、腾讯、阿里巴巴的移动互联网战略的可比性越来月低&#xff0c;如今百度的移动互联网的战略也面临挑战&#xff0c;最大的因素在于数据的来源。 对于互联网的公司最近的动态是什么&#xff1f;这个不是很难的&#xff0c;主要看一下公司的…

windows挂载linux网络文件系统NFS

ubuntu上安装配置nfs服务 #apt-get install nfs-kernel-server #mkdir /home/nfs #vim /etc/exports 在文档的最后一行加入/home/nfs *(rw,sync,no_root_squash,no_subtree_check)&#xff0c;保存退出。 #/etc/init.d/rpcbind restart 重启rpcbind #/etc/init.d/nfs-kern…