HOME

TheInfoList



OR:

GConf was a system used by the
GNOME A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
desktop environment for storing
configuration Configuration or configurations may refer to: Computing * Computer configuration or system configuration * Configuration file, a software file used to configure the initial settings for a computer program * Configurator, also known as choice board ...
settings for the desktop and
applications Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
. It is similar to the
Windows Registry The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and use ...
. It was
deprecated In several fields, especially computing, deprecation is the discouragement of use of some terminology, feature, design, or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing ...
as part of the
GNOME 3 GNOME 3 is the third major release of the GNOME desktop environment. A major departure from technologies implemented by its predecessors, GNOME 3 introduced a dramatically different user interface. It was the first GNOME release to utilize a unif ...
transition. Migration to its replacement, GSettings and dconf, is ongoing. Changes to this system are controlled by GConfd, a
daemon Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and mythology and of later Hellenistic religion and philosophy. The word ...
. GConfd watches out for changes to the
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
, 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
directories Directory may refer to: * Directory (computing), or folder, a file system structure in which to store computer files * Directory (OpenVMS command) * Directory service, a software application for organizing information about a computer network's u ...
and
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
files, stored in a directory called ~/.gconf. GConf can also use other backends, such as a database
server Server may refer to: Computing *Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients Role * Waiting staff, those who work at a restaurant or a bar attending customers and su ...
, but XML file storage is the most common configuration. The application
gconf-editor Gconf-editor is a discontinued utility for the GNOME desktop environment used to maintain the old and now discontinued GNOME registry gconf. Gconf-editor gives users the ability to access settings stored in the XML-based GConf configuration datab ...
is provided to allow users to change settings manually, but it is not normally used for
end-user In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ultimately use a product. The end user stands in contrast to users who support or maintain the product, such as sysops, system administrat ...
preferences.


Architecture

GConf is currently based on the C implementation of
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sys ...
named
ORBit In celestial mechanics, an orbit is the curved trajectory of an object such as the trajectory of a planet around a star, or of a natural satellite around a planet, or of an artificial satellite around an object or position in space such as a p ...
. Its architecture consists of a session daemon that initializes various sources of configuration schemas on user login. Each source is based on a specific backend that translates the key and value pairs that compose the configuration
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
; the default backend is based on
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
. At this time, this is the only working backend for GConf, although an
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory servi ...
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
network Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
. The values inside the GConf database are indexed using a
path A path is a route for physical travel – see Trail. Path or PATH may also refer to: Physical paths of different types * Bicycle path * Bridle path, used by people on horseback * Course (navigation), the intended path of a vehicle * Desire p ...
string in the form of /path/to/application/key. The proper way to access the GConf database held by the GConf daemon is to use the GConfClient
GObject The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability. GObject is designed for use both directly in C programs to provide object-oriented C-based APIs ...
-based class.


Changes notification

When writing an application that uses GConf, one should never directly poll the database. Instead, one should attach a
callback Callback may refer to: * Callback (comedy), a joke which refers to one previously told * Callback (computer programming), executable code that is passed as a parameter to other code * Callback (telecommunications), the telecommunications event tha ...
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 localized) descriptive text, the valid type of the value bound to a key, and a default value.


Bindings

Like many libraries in the
GNOME A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
platform, GConf can be accessed using various programming languages, such as C,
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, C#, VB.NET and
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
.


References


External links

*
Future GConf Plans



easygconf Python Module
{{GNOME Free system software GNOME obsolete