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.pswp.cn/news/274054.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274054.shtml
英文地址,請注明出處:http://en.pswp.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…