Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GConf
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Software}} {{distinguish|text = gpgconf, the configuration utility of [[GNU_Privacy_Guard|GPG]]}} {{Infobox software | name = GConf | logo = Gconf-editor logo.png | screenshot = GConf 3.0.1.png | caption = ''obsolete:'' GConf editor | collapsible = | author = | developer = Havoc Pennington | released = <!-- {{start date|YYYY|MM|DD}} --> | discontinued = yes | latest release version = 3.2.6 | latest release date = {{Start date and age|2013|01|22}} | latest preview version = | latest preview date = <!-- {{start date and age|YYYY|MM|DD}} --> | programming language = [[C (programming language)|C]] | operating system = | platform = | size = | language = | genre = Configuration | license = [[GNU Lesser General Public License]] }} '''GConf''' was a system used by the [[GNOME]] desktop environment for storing [[computer configuration|configuration]] settings for the desktop and [[List of GNOME applications|applications]]. It is similar to the [[Windows Registry]]. It was [[deprecation|deprecated]] as part of the [[GNOME 3]] transition. Migration to its replacement, [[dconf#GSettings|GSettings]] and [[dconf]], is ongoing.<ref>{{cite web|url=https://wiki.gnome.org/Initiatives/GnomeGoals/GSettingsMigration|title=GNOME Goal: Gconf to GSettings migration|publisher=GNOME|accessdate=2014-11-05}}</ref> Changes to this system are controlled by GConfd, a [[daemon (computer software)|daemon]]. GConfd watches out for changes to the [[database]], and when they are changed, it applies the new settings to applications using it. This technology is known as "auto-apply", compared to "explicit-apply", which requires users to press an OK or Apply button to make changes come into effect. The term "instant-apply" is sometimes used, compared to plain "apply". The GConf database by default uses a system of [[directory (file systems)|directories]] and [[XML]] files, stored in a directory called <code>~/.gconf</code>. GConf can also use other backends, such as a database [[Server (computing)|server]], but XML file storage is the most common configuration. The application [[gconf-editor]] is provided to allow users to change settings manually, but it is not normally used for [[end-user]] preferences. ==Architecture== '''GConf''' is currently based on the [[C (programming language)|C]] implementation of [[CORBA]] named ORBit. Its architecture consists of a session daemon that initializes various sources of configuration [[Database schema|schemas]] on user login. Each source is based on a specific [[Front and back ends|backend]] that translates the key and value pairs that compose the configuration [[database]]; the default backend is based on [[XML]]. At this time, this is the only working backend for GConf, although an [[Lightweight Directory Access Protocol|LDAP]] backend existed in embryonic form. Each source can also be set to read-only, in order to create a default basic configuration, e.g. in a corporate [[Computer network|network]]. The values inside the GConf database are indexed using a [[Path (computing)|path]] string in the form of <code>/path/to/application/key</code>. The proper way to access the GConf database held by the GConf daemon is to use the [[GConfClient]] [[GObject]]-based class. ==Changes notification== When writing an application that uses GConf, one should never directly poll the database. Instead, one should attach a [[Callback (computer science)|callback]] to a given key, thus using a [[model-view-controller]] (MVC) paradigm. Each time an application changes the value bound to a specific key, the notification callbacks will be invoked. ==Schemas== An application using GConf should provide a description for each key it creates inside the GConf database. This configuration meta-data is also stored inside the configuration database, and is called a ''schema''; it could contain a (possibly [[software localization|localized]]) descriptive text, the valid type of the value bound to a key, and a default value. ==Bindings== Like many libraries in the [[GNOME]] platform, '''GConf''' can be accessed using various programming languages, such as C, [[C++]], [[Perl]], [[Java (programming language)|Java]], C#, VB.NET and [[Python (programming language)|Python]]. ==References== {{Reflist}} ==External links== {{Portal|Free and open-source software}} * {{webarchive|url=https://web.archive.org/web/20200101133032/https://projects-old.gnome.org/gconf/|title=GConf configuration system}} * {{webarchive|url=https://web.archive.org/web/20200101133028/https://projects-old.gnome.org/gconf/plans.html|title=Future GConf Plans}} * [https://gtk2-perl.sourceforge.net/doc/pod/Gnome2/GConf.html Gnome2::GConf Perl Module] * {{webarchive|url=https://web.archive.org/web/20200101133026/https://www.florian-diesch.de/software/easygconf/|title=easygconf Python Module}} {{GNOME}} [[Category:Free system software]] [[Category:GNOME obsolete]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Distinguish
(
edit
)
Template:GNOME
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Webarchive
(
edit
)