Arch-Linux

GTK3 gsettings 用法

  • December 8, 2020

作為背景:電子工程師,遵循愚蠢的哲學(在可能的情況下),不了解 X 和任何類型的工具包(GTK 或 Qt),使用 arch linux,無法忍受 GNOME。

dconfgtk3 包有gsettings依賴關係讓我很困擾。我找不到令人信服的解釋,說明gsettings它的用途(手冊頁和其他網際網路位除外)、什麼是模式以及它與 GNOME DE 的關係。

我主要是在問一些愚蠢的問題:

  1. GNOME DE的實際用途是gsettings什麼以及它與 GNOME DE 有何联系?
  2. gtk3 rc文件與gsettings 有什麼區別?
  3. 有什麼方法可以避免,或者我應該盡量避免gsettings,任何替代方案?

簡短的回答

據我了解):

dconf是在數據庫文件中保存設置(GVariants)的數據庫系統,它位於底層。

dconf 模式是包含這些數據庫文件結構的文件。

gsettings是一個 API 和一個工具包,用於在數據庫中儲存和檢索此設置。


長答案

(如維基百科中所述):

dconf是一個低級配置系統和設置管理工具。它的主要目的是在還沒有配置儲存系統的平台上為GSettings提供後端。這取決於GLib。它是GNOME 3的一部分,是****GConf的替代品。


dconf 數據庫:一個dconf 數據庫由一個二進制格式的文件組成,即它不是文本文件。格式定義為gvdbGVariant 數據庫文件)。它是一種簡單的數據庫文件格式,以一種對查找非常有效的方式儲存從字元串到GVariant值的映射。


GVariantGVariant是一種強類型值數據類型。GVariant是一個變體數據類型;它可以包含一個或多個值以及有關值類型的資訊。

GVariant可能包含簡單類型,如整數或布爾值;或複雜類型,如兩個字元串的數組,或鍵值對的字典。GVariant也是不可變的:一旦創建,它的類型和內容都不能進一步修改。當需要序列化數據時,GVariant很有用,例如在 DBus 中發送方法參數時,或使用**GSettings保存設置時。

GVariantGLib的一部分.


GSettingsGSettings類為應用程序提供了一個高級 API,用於儲存和檢索自己的設置。

該實用程序/usr/bin/gsettings包含在libglib2.0-bin.

GSettingsGIO的一部分,它是GLib ( libglib2.0-0) 的一部分。

引用自:https://unix.stackexchange.com/questions/524796