Gconf, Dconf, Gsettings and the relationship between them












61















I'm trying to understand how Gconf, Dconf and Gsettings works and what the relationship is between them.



All I know is:





  • Gconf - XML based database (backend system). The older one.


  • Dconf - BLOB based database (backend system). The newer one.


  • Gsettings - CLI tool to edit settings. Looks like it works only with Dconf (although I saw somewhere that it might work with Gconf).


I know that for Gconf there is a GUI - Gconf-editor, and for Dconf - Dconf-editor.



So:




  1. Which backend system is more often used - Dconf or Gconf?

  2. Gsettings works with both of them? And why doesn't it show all Dconf schemas?

  3. Where does Dconf save its data?










share|improve this question

























  • I would be particularly interested in which settings are handled by which tool (dconf or gsettings) and why there are differences?

    – Johsm
    Sep 21 '15 at 15:06
















61















I'm trying to understand how Gconf, Dconf and Gsettings works and what the relationship is between them.



All I know is:





  • Gconf - XML based database (backend system). The older one.


  • Dconf - BLOB based database (backend system). The newer one.


  • Gsettings - CLI tool to edit settings. Looks like it works only with Dconf (although I saw somewhere that it might work with Gconf).


I know that for Gconf there is a GUI - Gconf-editor, and for Dconf - Dconf-editor.



So:




  1. Which backend system is more often used - Dconf or Gconf?

  2. Gsettings works with both of them? And why doesn't it show all Dconf schemas?

  3. Where does Dconf save its data?










share|improve this question

























  • I would be particularly interested in which settings are handled by which tool (dconf or gsettings) and why there are differences?

    – Johsm
    Sep 21 '15 at 15:06














61












61








61


22






I'm trying to understand how Gconf, Dconf and Gsettings works and what the relationship is between them.



All I know is:





  • Gconf - XML based database (backend system). The older one.


  • Dconf - BLOB based database (backend system). The newer one.


  • Gsettings - CLI tool to edit settings. Looks like it works only with Dconf (although I saw somewhere that it might work with Gconf).


I know that for Gconf there is a GUI - Gconf-editor, and for Dconf - Dconf-editor.



So:




  1. Which backend system is more often used - Dconf or Gconf?

  2. Gsettings works with both of them? And why doesn't it show all Dconf schemas?

  3. Where does Dconf save its data?










share|improve this question
















I'm trying to understand how Gconf, Dconf and Gsettings works and what the relationship is between them.



All I know is:





  • Gconf - XML based database (backend system). The older one.


  • Dconf - BLOB based database (backend system). The newer one.


  • Gsettings - CLI tool to edit settings. Looks like it works only with Dconf (although I saw somewhere that it might work with Gconf).


I know that for Gconf there is a GUI - Gconf-editor, and for Dconf - Dconf-editor.



So:




  1. Which backend system is more often used - Dconf or Gconf?

  2. Gsettings works with both of them? And why doesn't it show all Dconf schemas?

  3. Where does Dconf save its data?







gconf dconf gsettings






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 6 '14 at 14:05









Braiam

51.7k20136221




51.7k20136221










asked Jan 31 '13 at 16:11









idgaridgar

1,33062026




1,33062026













  • I would be particularly interested in which settings are handled by which tool (dconf or gsettings) and why there are differences?

    – Johsm
    Sep 21 '15 at 15:06



















  • I would be particularly interested in which settings are handled by which tool (dconf or gsettings) and why there are differences?

    – Johsm
    Sep 21 '15 at 15:06

















I would be particularly interested in which settings are handled by which tool (dconf or gsettings) and why there are differences?

– Johsm
Sep 21 '15 at 15:06





I would be particularly interested in which settings are handled by which tool (dconf or gsettings) and why there are differences?

– Johsm
Sep 21 '15 at 15:06










2 Answers
2






active

oldest

votes


















33














GConf is obsolete. It is the older GNOME 2.x configuration API and system, and has been replaced by DConf/GSettings in newer versions. However, some applications still use it.



GSettings is a GLib implementation of DConf, which stores its data in a binary database.



The gsettings command line tool is simply a tool to access or modify settings via the GSettings API, in the same way that the older gconftool command line tool is for GConf.






share|improve this answer
























  • Is GSettings works with GConf also?

    – idgar
    Jan 31 '13 at 18:05






  • 2





    No, GSettings is an implementation of the DConf spec. The command line tool doesn't work with gconf. There are however, some compatibility layers currently in use on Ubuntu, where changing a setting in gsettings or gconf, will result in the change being propagated to the other. This isn't common though, and not something to rely on.

    – dobey
    Jan 31 '13 at 18:39











  • another thing,i saw somewhere that GSettings works with configuration files. is there something about it? and why does GSettings doesn't show the same schemas as DConf-editor?

    – idgar
    Feb 3 '13 at 14:30






  • 1





    The interesting part to know would be which settings are managed by which tool? The keys which are present when using dconf or dconf-editor are different from those accessible with gsettings, for example there is a key /com/canonical/unity/always-show-menus accessible via dconf but there is no equivalent key accessible via gsettings in Ubuntu 15.04.

    – Johsm
    Sep 21 '15 at 15:04






  • 1





    @dobey: thank you for helping with this. What I am really after is though: how does the mapping between the key I have to use in dconf and the key I have to use with gsettings work? If I know one, is there an algorithmic way to find the other? In my concrete case I was given /com/canonical/unity/always-show-menus -- now how would I find the appropriate key for gsettings? If both use the same underlying data, should there not be a logical mapping? Or am I still missing something?

    – Johsm
    Sep 23 '15 at 11:52



















38














Dconf is a data store designed for storing configuration. It is the replacement for Gconf, which was used for the same purpose. Eventually, no programs should depend on Gconf any more.



Gsettings is a development library used to read and write to a configuration store backend. On Linux, it uses Dconf, but on Windows, it uses the registry, and on OS X, it uses a native data store.



Application developers and end-users are recommended to use Gsettings, not Dconf directly.



See also:




  • What are the differences between gconf and dconf?

  • Can I use dconf-editor to modify Gconf settings?

  • GSettingsMigration on gnome.org






share|improve this answer

























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "89"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f249887%2fgconf-dconf-gsettings-and-the-relationship-between-them%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    33














    GConf is obsolete. It is the older GNOME 2.x configuration API and system, and has been replaced by DConf/GSettings in newer versions. However, some applications still use it.



    GSettings is a GLib implementation of DConf, which stores its data in a binary database.



    The gsettings command line tool is simply a tool to access or modify settings via the GSettings API, in the same way that the older gconftool command line tool is for GConf.






    share|improve this answer
























    • Is GSettings works with GConf also?

      – idgar
      Jan 31 '13 at 18:05






    • 2





      No, GSettings is an implementation of the DConf spec. The command line tool doesn't work with gconf. There are however, some compatibility layers currently in use on Ubuntu, where changing a setting in gsettings or gconf, will result in the change being propagated to the other. This isn't common though, and not something to rely on.

      – dobey
      Jan 31 '13 at 18:39











    • another thing,i saw somewhere that GSettings works with configuration files. is there something about it? and why does GSettings doesn't show the same schemas as DConf-editor?

      – idgar
      Feb 3 '13 at 14:30






    • 1





      The interesting part to know would be which settings are managed by which tool? The keys which are present when using dconf or dconf-editor are different from those accessible with gsettings, for example there is a key /com/canonical/unity/always-show-menus accessible via dconf but there is no equivalent key accessible via gsettings in Ubuntu 15.04.

      – Johsm
      Sep 21 '15 at 15:04






    • 1





      @dobey: thank you for helping with this. What I am really after is though: how does the mapping between the key I have to use in dconf and the key I have to use with gsettings work? If I know one, is there an algorithmic way to find the other? In my concrete case I was given /com/canonical/unity/always-show-menus -- now how would I find the appropriate key for gsettings? If both use the same underlying data, should there not be a logical mapping? Or am I still missing something?

      – Johsm
      Sep 23 '15 at 11:52
















    33














    GConf is obsolete. It is the older GNOME 2.x configuration API and system, and has been replaced by DConf/GSettings in newer versions. However, some applications still use it.



    GSettings is a GLib implementation of DConf, which stores its data in a binary database.



    The gsettings command line tool is simply a tool to access or modify settings via the GSettings API, in the same way that the older gconftool command line tool is for GConf.






    share|improve this answer
























    • Is GSettings works with GConf also?

      – idgar
      Jan 31 '13 at 18:05






    • 2





      No, GSettings is an implementation of the DConf spec. The command line tool doesn't work with gconf. There are however, some compatibility layers currently in use on Ubuntu, where changing a setting in gsettings or gconf, will result in the change being propagated to the other. This isn't common though, and not something to rely on.

      – dobey
      Jan 31 '13 at 18:39











    • another thing,i saw somewhere that GSettings works with configuration files. is there something about it? and why does GSettings doesn't show the same schemas as DConf-editor?

      – idgar
      Feb 3 '13 at 14:30






    • 1





      The interesting part to know would be which settings are managed by which tool? The keys which are present when using dconf or dconf-editor are different from those accessible with gsettings, for example there is a key /com/canonical/unity/always-show-menus accessible via dconf but there is no equivalent key accessible via gsettings in Ubuntu 15.04.

      – Johsm
      Sep 21 '15 at 15:04






    • 1





      @dobey: thank you for helping with this. What I am really after is though: how does the mapping between the key I have to use in dconf and the key I have to use with gsettings work? If I know one, is there an algorithmic way to find the other? In my concrete case I was given /com/canonical/unity/always-show-menus -- now how would I find the appropriate key for gsettings? If both use the same underlying data, should there not be a logical mapping? Or am I still missing something?

      – Johsm
      Sep 23 '15 at 11:52














    33












    33








    33







    GConf is obsolete. It is the older GNOME 2.x configuration API and system, and has been replaced by DConf/GSettings in newer versions. However, some applications still use it.



    GSettings is a GLib implementation of DConf, which stores its data in a binary database.



    The gsettings command line tool is simply a tool to access or modify settings via the GSettings API, in the same way that the older gconftool command line tool is for GConf.






    share|improve this answer













    GConf is obsolete. It is the older GNOME 2.x configuration API and system, and has been replaced by DConf/GSettings in newer versions. However, some applications still use it.



    GSettings is a GLib implementation of DConf, which stores its data in a binary database.



    The gsettings command line tool is simply a tool to access or modify settings via the GSettings API, in the same way that the older gconftool command line tool is for GConf.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Jan 31 '13 at 17:16









    dobeydobey

    32.7k33586




    32.7k33586













    • Is GSettings works with GConf also?

      – idgar
      Jan 31 '13 at 18:05






    • 2





      No, GSettings is an implementation of the DConf spec. The command line tool doesn't work with gconf. There are however, some compatibility layers currently in use on Ubuntu, where changing a setting in gsettings or gconf, will result in the change being propagated to the other. This isn't common though, and not something to rely on.

      – dobey
      Jan 31 '13 at 18:39











    • another thing,i saw somewhere that GSettings works with configuration files. is there something about it? and why does GSettings doesn't show the same schemas as DConf-editor?

      – idgar
      Feb 3 '13 at 14:30






    • 1





      The interesting part to know would be which settings are managed by which tool? The keys which are present when using dconf or dconf-editor are different from those accessible with gsettings, for example there is a key /com/canonical/unity/always-show-menus accessible via dconf but there is no equivalent key accessible via gsettings in Ubuntu 15.04.

      – Johsm
      Sep 21 '15 at 15:04






    • 1





      @dobey: thank you for helping with this. What I am really after is though: how does the mapping between the key I have to use in dconf and the key I have to use with gsettings work? If I know one, is there an algorithmic way to find the other? In my concrete case I was given /com/canonical/unity/always-show-menus -- now how would I find the appropriate key for gsettings? If both use the same underlying data, should there not be a logical mapping? Or am I still missing something?

      – Johsm
      Sep 23 '15 at 11:52



















    • Is GSettings works with GConf also?

      – idgar
      Jan 31 '13 at 18:05






    • 2





      No, GSettings is an implementation of the DConf spec. The command line tool doesn't work with gconf. There are however, some compatibility layers currently in use on Ubuntu, where changing a setting in gsettings or gconf, will result in the change being propagated to the other. This isn't common though, and not something to rely on.

      – dobey
      Jan 31 '13 at 18:39











    • another thing,i saw somewhere that GSettings works with configuration files. is there something about it? and why does GSettings doesn't show the same schemas as DConf-editor?

      – idgar
      Feb 3 '13 at 14:30






    • 1





      The interesting part to know would be which settings are managed by which tool? The keys which are present when using dconf or dconf-editor are different from those accessible with gsettings, for example there is a key /com/canonical/unity/always-show-menus accessible via dconf but there is no equivalent key accessible via gsettings in Ubuntu 15.04.

      – Johsm
      Sep 21 '15 at 15:04






    • 1





      @dobey: thank you for helping with this. What I am really after is though: how does the mapping between the key I have to use in dconf and the key I have to use with gsettings work? If I know one, is there an algorithmic way to find the other? In my concrete case I was given /com/canonical/unity/always-show-menus -- now how would I find the appropriate key for gsettings? If both use the same underlying data, should there not be a logical mapping? Or am I still missing something?

      – Johsm
      Sep 23 '15 at 11:52

















    Is GSettings works with GConf also?

    – idgar
    Jan 31 '13 at 18:05





    Is GSettings works with GConf also?

    – idgar
    Jan 31 '13 at 18:05




    2




    2





    No, GSettings is an implementation of the DConf spec. The command line tool doesn't work with gconf. There are however, some compatibility layers currently in use on Ubuntu, where changing a setting in gsettings or gconf, will result in the change being propagated to the other. This isn't common though, and not something to rely on.

    – dobey
    Jan 31 '13 at 18:39





    No, GSettings is an implementation of the DConf spec. The command line tool doesn't work with gconf. There are however, some compatibility layers currently in use on Ubuntu, where changing a setting in gsettings or gconf, will result in the change being propagated to the other. This isn't common though, and not something to rely on.

    – dobey
    Jan 31 '13 at 18:39













    another thing,i saw somewhere that GSettings works with configuration files. is there something about it? and why does GSettings doesn't show the same schemas as DConf-editor?

    – idgar
    Feb 3 '13 at 14:30





    another thing,i saw somewhere that GSettings works with configuration files. is there something about it? and why does GSettings doesn't show the same schemas as DConf-editor?

    – idgar
    Feb 3 '13 at 14:30




    1




    1





    The interesting part to know would be which settings are managed by which tool? The keys which are present when using dconf or dconf-editor are different from those accessible with gsettings, for example there is a key /com/canonical/unity/always-show-menus accessible via dconf but there is no equivalent key accessible via gsettings in Ubuntu 15.04.

    – Johsm
    Sep 21 '15 at 15:04





    The interesting part to know would be which settings are managed by which tool? The keys which are present when using dconf or dconf-editor are different from those accessible with gsettings, for example there is a key /com/canonical/unity/always-show-menus accessible via dconf but there is no equivalent key accessible via gsettings in Ubuntu 15.04.

    – Johsm
    Sep 21 '15 at 15:04




    1




    1





    @dobey: thank you for helping with this. What I am really after is though: how does the mapping between the key I have to use in dconf and the key I have to use with gsettings work? If I know one, is there an algorithmic way to find the other? In my concrete case I was given /com/canonical/unity/always-show-menus -- now how would I find the appropriate key for gsettings? If both use the same underlying data, should there not be a logical mapping? Or am I still missing something?

    – Johsm
    Sep 23 '15 at 11:52





    @dobey: thank you for helping with this. What I am really after is though: how does the mapping between the key I have to use in dconf and the key I have to use with gsettings work? If I know one, is there an algorithmic way to find the other? In my concrete case I was given /com/canonical/unity/always-show-menus -- now how would I find the appropriate key for gsettings? If both use the same underlying data, should there not be a logical mapping? Or am I still missing something?

    – Johsm
    Sep 23 '15 at 11:52













    38














    Dconf is a data store designed for storing configuration. It is the replacement for Gconf, which was used for the same purpose. Eventually, no programs should depend on Gconf any more.



    Gsettings is a development library used to read and write to a configuration store backend. On Linux, it uses Dconf, but on Windows, it uses the registry, and on OS X, it uses a native data store.



    Application developers and end-users are recommended to use Gsettings, not Dconf directly.



    See also:




    • What are the differences between gconf and dconf?

    • Can I use dconf-editor to modify Gconf settings?

    • GSettingsMigration on gnome.org






    share|improve this answer






























      38














      Dconf is a data store designed for storing configuration. It is the replacement for Gconf, which was used for the same purpose. Eventually, no programs should depend on Gconf any more.



      Gsettings is a development library used to read and write to a configuration store backend. On Linux, it uses Dconf, but on Windows, it uses the registry, and on OS X, it uses a native data store.



      Application developers and end-users are recommended to use Gsettings, not Dconf directly.



      See also:




      • What are the differences between gconf and dconf?

      • Can I use dconf-editor to modify Gconf settings?

      • GSettingsMigration on gnome.org






      share|improve this answer




























        38












        38








        38







        Dconf is a data store designed for storing configuration. It is the replacement for Gconf, which was used for the same purpose. Eventually, no programs should depend on Gconf any more.



        Gsettings is a development library used to read and write to a configuration store backend. On Linux, it uses Dconf, but on Windows, it uses the registry, and on OS X, it uses a native data store.



        Application developers and end-users are recommended to use Gsettings, not Dconf directly.



        See also:




        • What are the differences between gconf and dconf?

        • Can I use dconf-editor to modify Gconf settings?

        • GSettingsMigration on gnome.org






        share|improve this answer















        Dconf is a data store designed for storing configuration. It is the replacement for Gconf, which was used for the same purpose. Eventually, no programs should depend on Gconf any more.



        Gsettings is a development library used to read and write to a configuration store backend. On Linux, it uses Dconf, but on Windows, it uses the registry, and on OS X, it uses a native data store.



        Application developers and end-users are recommended to use Gsettings, not Dconf directly.



        See also:




        • What are the differences between gconf and dconf?

        • Can I use dconf-editor to modify Gconf settings?

        • GSettingsMigration on gnome.org







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Jan 12 at 19:51









        Pablo Bianchi

        2,5251532




        2,5251532










        answered Jan 31 '13 at 17:31









        FlimmFlimm

        21.4k1562122




        21.4k1562122






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Ask Ubuntu!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f249887%2fgconf-dconf-gsettings-and-the-relationship-between-them%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

            Mangá

            Eduardo VII do Reino Unido