|  |  |  | GIO Reference Manual |  | 
|---|
Conceptually, GConf and GSettings are fairly similar. Both have a concept of pluggable backends. Both keep information about keys and their types in schemas. Both have a concept of mandatory values, which lets you implement lock-down.
        There are some differences in the approach to schemas. GConf
        installs the schemas into the database and has API to handle
        schema information (gconf_client_get_default_from_schema(),
        gconf_value_get_schema(), etc). GSettings on the other hand
        assumes that an application knows its own schemas, and does
        not provide API to handle schema information at runtime.
        GSettings is also more strict about requiring a schema whenever
        you want to read or write a key. To deal with more free-form
        information that would appear in schema-less entries in GConf,
        GSettings allows for schemas to be 'relocatable'.
      
One difference in the way applications interact with their settings is that with GConf you interact with a tree of settings (ie the keys you pass to functions when reading or writing values are actually paths with the actual name of the key as the last element. With GSettings, you create a GSettings object which has an implicit prefix that determines where the settings get stored in the global tree of settings, but the keys you pass when reading or writing values are just the key names, not the full path.