日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gsettings命令使用简介

發(fā)布時(shí)間:2023/12/10 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gsettings命令使用简介 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.gsettings創(chuàng)建項(xiàng)

應(yīng)用程序可以使用gsettings來保存配置信息,可以通過代碼在程序中進(jìn)行設(shè)置、修改gsettings的已有的項(xiàng),但是不能通過程序代碼創(chuàng)建新的gsettings項(xiàng),gsettings的項(xiàng)的在一個(gè)叫做schema的規(guī)范文件中創(chuàng)建,schema文檔其實(shí)是一個(gè)規(guī)范的xml文檔。其實(shí)例如下:

<?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文件的注意事項(xiàng):

  • path兩頭必須都有/,否則會(huì)驗(yàn)證失敗
  • schema文件的擴(kuò)展名必須是gschema.xml,否則這個(gè)規(guī)則文件將無法被正確編譯安裝,最終無法被gsettings使用
  • 如果想讓gsettings能被dconf-editor所讀取,則必須指定path屬性

    2.schema文件的編譯安裝

    schema文件并不能直接被gsettings使用,需要用glib-compile-schemas編譯器將schema文件編譯為二進(jìn)制文件才能被gsettings所使用。GSettings 會(huì)讀取 XDG_DATA_DIRS 下的 glib-2.0/schemas路徑,所以通常將schema文件放到環(huán)境變量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 路徑下,我們可以在命令行運(yùn)行以下命令編譯刷新系統(tǒng)的gsettings:

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

執(zhí)行完上述命令后就可以發(fā)現(xiàn)自己定義的schema已經(jīng)生效:

3.常用的gsettings命令

#gsettings list-schemas 顯示系統(tǒng)已安裝的不可重定位的schema #gsettings list-relocatable-schemas 顯示已安裝的可重定位的schema #gsettings list-children SCHEMA 顯示指定schema的children,其中SCHEMA指xml文件中schema的id屬性值,例如實(shí)例中的"org.lili.test.app.testgsettings" #gsettings list-keys SCHEMA 顯示指定schema的所有項(xiàng)(key) #gsettings range SCHEMA KEY 查詢指定schema的指定項(xiàng)KEY的有效取值范圍 #gsettings get SCHEMA KEY 顯示指定schema的指定項(xiàng)KEY的值 #gsettings set SCHEMA KEY VALUE 設(shè)置指定schema的指定項(xiàng)KEY的值為VALUE #gsettings reset SCHEMA KEY 恢復(fù)指定schema的指定項(xiàng)KEY的值為默認(rèn)值 #gsettings reset-recursively SCHEMA 恢復(fù)指定schema的所有key的值為默認(rèn)值 #gsettings list-recursively [SCHEMA]如果有SCHEMA參數(shù),則遞歸顯示指定schema的所有項(xiàng)(key)和值(value),如果沒有SCHEMA參數(shù),則遞歸顯示所有schema的所有項(xiàng)(key)和值(value)

4.使用實(shí)例

4.1顯示系統(tǒng)都安裝了哪些不可重定位的schema

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

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

4.4查看org.cinnamon.settings-daemon.plugs.power的schema下所有項(xiàng)的取值

4.5查看org.cinnamon.settings-daemon.plugs.power的schema下的項(xiàng)button-hibernate的值

4.6查看org.cinnamon.settings-daemon.plugs.power的schema下的項(xiàng)button-hibernate的取值范圍

4.7修改設(shè)置org.cinnamon.settings-daemon.plugs.power的schema下的項(xiàng)button-hibernate的值為shutdown

4.8恢復(fù)org.cinnamon.settings-daemon.plugs.power的schema下的項(xiàng)button-hibernate的值為默認(rèn)值

4.9修改org.cinnamon.settings-daemon.plugs.power的schema下的多項(xiàng)值后,恢復(fù)整個(gè)schema的所有項(xiàng)為默認(rèn)值

4.9.1修改前配置截圖

4.9.2修改后配置截圖

4.9.3恢復(fù)后的配置截圖

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

總結(jié)

以上是生活随笔為你收集整理的gsettings命令使用简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。