1744:
820:
136:
90:
36:
200:
27:
315:
1756:
1776:
1766:
1730:
295:
Since a typical GNOME login consists of thousands of reads and ideally 0 writes, dconf is optimized for reads. Typically, reading a key from dconf involves zero system calls and zero context switches. This is achieved with a simple file format that doubles both as the storage format for data in dconf
368:
A GVariant may contain simple types, like integers, or boolean values; or complex types, like an array of two strings, or a dictionary of key value pairs. A GVariant is also immutable: once it's been created, neither its type nor its content can be modified further. GVariant is useful whenever data
326:
service – in the ordinary way. Change notification is also handled by the writer. The reason for having a bus service at all is that getting the clients to synchronize on writing would be very difficult.
333:
The service is completely stateless and can start and stop dynamically. The list of change notifications that an individual client is interested in is maintained by the bus daemon (as a D-Bus signal watch/match list).
307:
to do a better job by saturating it with requests coming from all of the applications trying to read their keys (as opposed to a common configuration server serially requesting a single key at a time).
1779:
254:
inside of each user's configuration space. A single configuration source may appear at multiple points in the hierarchy. For example, in addition to stacking over the normal keys at
311:
Having all of the keys in a single compact binary format also avoids the intense fragmentation problems currently experienced by the tree-of-directories-of-xml-files approach.
241:
dconf is a simple key-based configuration system. Keys exist in an unstructured database (but it is intended that keys that logically belong together are grouped together).
346:(GVariant Database file). It is a simple database file format that stores a mapping from strings to GVariant values in a way that is extremely efficient for lookups.
1143:
203:
950:
905:
1672:
303:
Avoiding round trips and context switches is desirable in itself, but the real advantage comes from allowing the I/O scheduler in the
365:
used for all the values stored in dconf; it can contain one or more values along with information about the type of the values.
343:
1748:
825:
268:
integration is planned so that a normal user may temporarily gain the ability to, for example, write to the keys under
1810:
1800:
1622:
438:
369:
needs to be serialized, for example when sending method parameters in DBus, or when saving settings using GSettings.
171:
342:
One dconf database consists of a single file in binary format, i.e. it is not a text-file. The format is defined as
322:
Writes are less optimized – they traverse the bus and are handled by a "writer" – a
1163:
156:
870:
250:
The stacking can be done at "mount points". For example, the global system configuration can be mounted under
1107:
392:
The GSettings class provides a high-level API for application for storing and retrieving their own settings.
113:
1569:
1382:
297:
81:
1564:
1424:
304:
1000:
975:
213:
is a low-level configuration system and settings management tool. Its main purpose is to provide a
149:
89:
887:
400:
1769:
1449:
1352:
1179:
411:
330:
The writer service doesn't have to be activated until the first write operation is performed.
1516:
1484:
1377:
1362:
1138:
376:
277:
1357:
1202:
1123:
8:
1479:
1429:
1291:
1102:
910:
863:
789:
422:
381:
214:
135:
417:
1617:
1266:
1128:
744:
247:
Stacking of multiple configuration sources is supported. Mandatory keys are supported.
1677:
1439:
1367:
1296:
940:
767:
51:
760:
434:
1708:
1667:
1647:
1207:
935:
915:
900:
284:
199:
166:
221:
on platforms that don't already have configuration storage systems. It depends on
1698:
1589:
1434:
1301:
1261:
1158:
1051:
1005:
35:
1805:
1759:
1612:
1509:
1046:
955:
945:
856:
407:
26:
1794:
1713:
1537:
1148:
1010:
995:
665:
838:
1734:
1627:
1197:
960:
362:
262:
for inspection and modification by a system policy configuration utility.
1403:
1372:
1233:
1228:
1223:
1056:
1025:
930:
920:
895:
843:
833:
314:
182:
1703:
1637:
1632:
1408:
437:
for dconf is available. Since version 0.2, dconf is licensed under the
122:
46:
1682:
1607:
1597:
1192:
1066:
965:
1642:
1552:
1542:
1444:
1398:
1097:
1061:
1579:
1574:
1559:
1504:
1286:
1245:
1240:
1041:
1015:
206:
gives access to a certain popular subset of the desktop settings.
1187:
1092:
1082:
990:
925:
265:
1602:
1494:
1281:
1276:
1153:
1133:
1020:
879:
730:
323:
230:
226:
1547:
1499:
1087:
222:
377:
https://developer.gnome.org/glib/stable/glib-GVariant.html
1729:
1474:
1469:
848:
280:
configuration utility no longer have to be run as root.
423:
https://git.gnome.org/browse/glib/tree/gio/gsettings.c
382:
https://git.gnome.org/browse/glib/tree/glib/gvariant.c
418:
https://developer.gnome.org/gio/stable/GSettings.html
815:
349:
The GNOME database file for each user is by default
729:libdbus-1 back-end removed; dconf now always uses
1792:
300:mechanism between the clients and the server.
864:
283:dconf is loosely the GNOME equivalent of the
258:, the system default keys may also appear at
698:split dconf-editor into a separate package
871:
857:
229:as of version 3, and is a replacement for
134:
88:
34:
25:
839:https://download.gnome.org/sources/dconf/
790:"gio/gsettings.c · master · GNOME / GLib"
1749:Free and open-source software portal
353:, a file expected to be in GVDB format.
313:
290:
198:
16:Low-level configuration system for GNOME
1793:
852:
844:https://gitlab.gnome.org/GNOME/dconf/
834:https://wiki.gnome.org/Projects/dconf
276:). This means that programs like the
1765:
826:Free and open-source software portal
1775:
13:
449:
244:Change notification is supported.
161:Configuration, settings management
14:
1822:
811:
337:
172:GNU Lesser General Public License
1774:
1764:
1755:
1754:
1742:
1728:
818:
428:
395:In Debian, the utility program
782:
218:
1:
753:
361:GVariant is a strongly typed
664:dconf compile: always write
399:is contained in the package
387:
40:A screenshot of dconf Editor
7:
356:
236:
10:
1827:
444:
372:GVariant is part of GLib.
1722:
1691:
1660:
1588:
1525:
1462:
1417:
1391:
1345:
1328:
1321:
1314:
1254:
1216:
1172:
1116:
1075:
1034:
983:
974:
886:
878:
410:. which is part of GLib.
177:
165:
155:
145:
112:
108:
80:
76:
58:
45:
33:
24:
1811:Software that uses Meson
1801:Configuration management
1001:Glade Interface Designer
441:version 2.1 "or later".
433:A system administrators
62:September 16, 2009
1450:Avant Window Navigator
1353:Client-Side Decoration
319:
207:
64:; 15 years ago
1378:Tango Desktop Project
406:GSettings is part of
317:
291:Software architecture
278:GNOME Display Manager
202:
95:; 3 years ago
463:Significant changes
351:~/.config/dconf/user
21:
745:Meson build system
397:/usr/bin/gsettings
320:
318:dconf Architecture
208:
19:
1788:
1787:
1678:The GNOME Project
1656:
1655:
1458:
1457:
1310:
1309:
1144:GNOME Connections
888:Core Applications
751:
750:
197:
196:
52:The GNOME Project
1818:
1778:
1777:
1768:
1767:
1758:
1757:
1747:
1746:
1745:
1735:Linux portal
1733:
1732:
1709:Havoc Pennington
1668:GNOME Foundation
1326:
1325:
1319:
1318:
1164:Transmission-gtk
981:
980:
873:
866:
859:
850:
849:
828:
823:
822:
821:
805:
804:
802:
800:
786:
780:
779:
777:
775:
768:"Release 0.40.0"
764:
454:
453:
398:
363:variant datatype
352:
285:Windows Registry
275:
271:
261:
257:
253:
225:. It is part of
204:GNOME Tweak Tool
193:
190:
188:
186:
184:
138:
133:
130:
128:
126:
124:
103:
101:
96:
92:
72:
70:
65:
54:(Allison Lortie)
38:
29:
22:
18:
1826:
1825:
1821:
1820:
1819:
1817:
1816:
1815:
1791:
1790:
1789:
1784:
1743:
1741:
1727:
1718:
1699:Miguel de Icaza
1687:
1652:
1590:freedesktop.org
1584:
1521:
1454:
1413:
1387:
1341:
1306:
1262:Archive Manager
1250:
1212:
1168:
1112:
1071:
1030:
970:
882:
877:
824:
819:
817:
814:
809:
808:
798:
796:
788:
787:
783:
773:
771:
770:. 13 March 2021
766:
765:
761:
756:
452:
450:Release history
447:
431:
396:
390:
359:
350:
340:
293:
273:
269:
259:
255:
251:
239:
181:
141:
121:
104:
99:
97:
94:
93:/ 13 March 2021
68:
66:
63:
59:Initial release
41:
17:
12:
11:
5:
1824:
1814:
1813:
1808:
1803:
1786:
1785:
1783:
1782:
1772:
1762:
1752:
1738:
1723:
1720:
1719:
1717:
1716:
1711:
1706:
1701:
1695:
1693:
1689:
1688:
1686:
1685:
1680:
1675:
1670:
1664:
1662:
1658:
1657:
1654:
1653:
1651:
1650:
1645:
1640:
1635:
1630:
1625:
1620:
1615:
1613:NetworkManager
1610:
1605:
1600:
1594:
1592:
1586:
1585:
1583:
1582:
1577:
1572:
1567:
1562:
1557:
1556:
1555:
1545:
1540:
1535:
1529:
1527:
1523:
1522:
1520:
1519:
1514:
1513:
1512:
1507:
1497:
1492:
1491:
1490:
1487:
1482:
1477:
1466:
1464:
1460:
1459:
1456:
1455:
1453:
1452:
1447:
1442:
1437:
1432:
1427:
1421:
1419:
1415:
1414:
1412:
1411:
1406:
1401:
1395:
1393:
1389:
1388:
1386:
1385:
1380:
1375:
1370:
1365:
1360:
1355:
1349:
1347:
1343:
1342:
1340:
1339:
1336:
1332:
1330:
1323:
1322:User interface
1316:
1312:
1311:
1308:
1307:
1305:
1304:
1299:
1294:
1289:
1284:
1279:
1274:
1269:
1264:
1258:
1256:
1252:
1251:
1249:
1248:
1243:
1238:
1237:
1236:
1231:
1220:
1218:
1214:
1213:
1211:
1210:
1205:
1203:SoundConverter
1200:
1195:
1190:
1185:
1182:
1176:
1174:
1170:
1169:
1167:
1166:
1161:
1156:
1151:
1146:
1141:
1136:
1131:
1126:
1120:
1118:
1114:
1113:
1111:
1110:
1105:
1100:
1095:
1090:
1085:
1079:
1077:
1073:
1072:
1070:
1069:
1064:
1059:
1054:
1049:
1044:
1038:
1036:
1032:
1031:
1029:
1028:
1023:
1018:
1013:
1008:
1003:
998:
993:
987:
985:
978:
972:
971:
969:
968:
963:
958:
953:
948:
943:
938:
933:
928:
923:
918:
913:
908:
903:
898:
892:
890:
884:
883:
876:
875:
868:
861:
853:
847:
846:
841:
836:
830:
829:
813:
812:External links
810:
807:
806:
781:
758:
757:
755:
752:
749:
748:
741:
738:
734:
733:
727:
724:
720:
719:
717:
714:
710:
709:
707:
704:
700:
699:
696:
693:
689:
688:
686:
683:
679:
678:
676:
673:
669:
668:
662:
659:
655:
654:
652:
649:
645:
644:
642:
639:
635:
634:
632:
629:
625:
624:
622:
619:
615:
614:
612:
609:
605:
604:
602:
599:
595:
594:
592:
589:
585:
584:
582:
579:
575:
574:
572:
569:
565:
564:
562:
559:
555:
554:
552:
549:
545:
544:
542:
539:
535:
534:
532:
529:
525:
524:
522:
519:
515:
514:
512:
509:
505:
504:
502:
499:
495:
494:
492:
489:
485:
484:
482:
479:
475:
474:
472:
469:
465:
464:
461:
458:
451:
448:
446:
443:
430:
427:
426:
425:
420:
401:libglib2.0-bin
389:
386:
385:
384:
379:
358:
355:
339:
338:dconf database
336:
292:
289:
238:
235:
195:
194:
179:
175:
174:
169:
163:
162:
159:
153:
152:
147:
143:
142:
140:
139:
118:
116:
110:
109:
106:
105:
86:
84:
82:Stable release
78:
77:
74:
73:
60:
56:
55:
49:
43:
42:
39:
31:
30:
15:
9:
6:
4:
3:
2:
1823:
1812:
1809:
1807:
1804:
1802:
1799:
1798:
1796:
1781:
1773:
1771:
1763:
1761:
1753:
1751:
1750:
1739:
1737:
1736:
1731:
1725:
1724:
1721:
1715:
1714:Karen Sandler
1712:
1710:
1707:
1705:
1702:
1700:
1697:
1696:
1694:
1690:
1684:
1681:
1679:
1676:
1674:
1671:
1669:
1666:
1665:
1663:
1659:
1649:
1646:
1644:
1641:
1639:
1636:
1634:
1631:
1629:
1626:
1624:
1621:
1619:
1616:
1614:
1611:
1609:
1606:
1604:
1601:
1599:
1596:
1595:
1593:
1591:
1587:
1581:
1578:
1576:
1573:
1571:
1568:
1566:
1563:
1561:
1558:
1554:
1551:
1550:
1549:
1546:
1544:
1541:
1539:
1536:
1534:
1531:
1530:
1528:
1524:
1518:
1515:
1511:
1508:
1506:
1503:
1502:
1501:
1498:
1496:
1493:
1488:
1486:
1483:
1481:
1478:
1476:
1473:
1472:
1471:
1468:
1467:
1465:
1461:
1451:
1448:
1446:
1443:
1441:
1438:
1436:
1433:
1431:
1428:
1426:
1423:
1422:
1420:
1416:
1410:
1407:
1405:
1402:
1400:
1397:
1396:
1394:
1390:
1384:
1381:
1379:
1376:
1374:
1371:
1369:
1366:
1364:
1361:
1359:
1356:
1354:
1351:
1350:
1348:
1344:
1337:
1335:Mutter on GSK
1334:
1333:
1331:
1327:
1324:
1320:
1317:
1313:
1303:
1300:
1298:
1295:
1293:
1290:
1288:
1285:
1283:
1280:
1278:
1275:
1273:
1270:
1268:
1265:
1263:
1260:
1259:
1257:
1253:
1247:
1244:
1242:
1239:
1235:
1232:
1230:
1227:
1226:
1225:
1222:
1221:
1219:
1215:
1209:
1206:
1204:
1201:
1199:
1196:
1194:
1191:
1189:
1186:
1183:
1181:
1178:
1177:
1175:
1171:
1165:
1162:
1160:
1157:
1155:
1152:
1150:
1149:GNOME Fractal
1147:
1145:
1142:
1140:
1137:
1135:
1132:
1130:
1127:
1125:
1122:
1121:
1119:
1115:
1109:
1106:
1104:
1101:
1099:
1096:
1094:
1091:
1089:
1086:
1084:
1081:
1080:
1078:
1074:
1068:
1065:
1063:
1060:
1058:
1055:
1053:
1050:
1048:
1045:
1043:
1040:
1039:
1037:
1033:
1027:
1024:
1022:
1019:
1017:
1014:
1012:
1011:GNOME Devhelp
1009:
1007:
1004:
1002:
999:
997:
994:
992:
989:
988:
986:
982:
979:
977:
973:
967:
964:
962:
959:
957:
954:
952:
949:
947:
944:
942:
939:
937:
934:
932:
929:
927:
924:
922:
919:
917:
914:
912:
911:Character Map
909:
907:
904:
902:
899:
897:
894:
893:
891:
889:
885:
881:
874:
869:
867:
862:
860:
855:
854:
851:
845:
842:
840:
837:
835:
832:
831:
827:
816:
795:
791:
785:
769:
763:
759:
746:
742:
739:
736:
735:
732:
728:
725:
722:
721:
718:
715:
712:
711:
708:
705:
702:
701:
697:
694:
691:
690:
687:
684:
681:
680:
677:
674:
671:
670:
667:
666:little endian
663:
660:
657:
656:
653:
650:
647:
646:
643:
640:
637:
636:
633:
630:
627:
626:
623:
620:
617:
616:
613:
610:
607:
606:
603:
600:
597:
596:
593:
590:
587:
586:
583:
580:
577:
576:
573:
570:
567:
566:
563:
560:
557:
556:
553:
550:
547:
546:
543:
540:
537:
536:
533:
530:
527:
526:
523:
520:
517:
516:
513:
510:
507:
506:
503:
500:
497:
496:
493:
490:
487:
486:
483:
480:
477:
476:
473:
470:
467:
466:
462:
460:Release date
459:
456:
455:
442:
440:
436:
429:Documentation
424:
421:
419:
416:
415:
414:
413:
409:
404:
402:
393:
383:
380:
378:
375:
374:
373:
370:
366:
364:
354:
347:
345:
335:
331:
328:
325:
316:
312:
309:
306:
301:
299:
288:
286:
281:
279:
267:
263:
248:
245:
242:
234:
232:
228:
224:
220:
216:
212:
205:
201:
192:
180:
176:
173:
170:
168:
164:
160:
158:
154:
151:
148:
144:
137:
132:
120:
119:
117:
115:
111:
107:
100:13 March 2021
91:
85:
83:
79:
75:
61:
57:
53:
50:
48:
44:
37:
32:
28:
23:
1740:
1726:
1628:X.Org Server
1532:
1272:dconf-editor
1271:
1198:Sound Juicer
797:. Retrieved
793:
784:
772:. Retrieved
762:
432:
412:libglib2.0-0
405:
394:
391:
371:
367:
360:
348:
341:
332:
329:
321:
310:
302:
294:
282:
264:
249:
246:
243:
240:
210:
209:
87:0.40.0
47:Developer(s)
1780:WikiProject
1404:GNOME Panel
1373:GNOME Shell
1224:GNOME Games
1108:Simple Scan
1057:GNOME LaTeX
1026:Gtranslator
984:Development
941:Text Editor
1795:Categories
1704:Luis Villa
1638:PackageKit
1633:PulseAudio
1463:GNOME Base
1409:Clearlooks
1315:Components
916:Dictionary
901:Calculator
754:References
747:(#784910)
740:2017-10-17
726:2016-03-23
716:2015-12-16
706:2015-03-23
695:2015-03-16
685:2014-09-19
675:2014-07-22
661:2014-03-24
651:2014-03-17
641:2013-09-23
631:2013-09-16
621:2013-07-16
611:2013-02-11
601:2012-11-01
591:2012-08-20
581:2012-05-01
571:2012-03-19
561:2011-09-26
551:2011-09-19
541:2011-07-26
531:2011-05-09
521:2010-12-21
511:2010-09-15
501:2010-07-12
491:2010-05-25
481:2009-10-27
471:2009-09-18
296:and as an
146:Written in
114:Repository
69:2009-09-16
1683:Outreachy
1661:Community
1608:GStreamer
1598:AppStream
1358:Cantarell
1255:Utilities
1193:Rhythmbox
1067:OCRFeeder
1052:Evolution
388:GSettings
274:/default/
266:PolicyKit
260:/default/
219:GSettings
189:/Projects
1760:Category
1643:HarfBuzz
1553:GnomeVFS
1543:GNOME-DB
1445:GNOME Do
1430:Cinnamon
1399:Metacity
1329:GNOME 40
1292:Seahorse
1117:Internet
1103:Shotwell
1098:Inkscape
1076:Graphics
1062:Gnumeric
956:Terminal
951:Snapshot
946:Software
906:Calendar
799:22 April
774:10 April
743:Port to
457:Version
357:GVariant
270:/system/
252:/system/
237:Overview
215:back end
1770:Commons
1623:Wayland
1618:Poppler
1580:libxml2
1575:libxslt
1565:Tracker
1560:Librsvg
1538:Keyring
1505:GObject
1489:Clutter
1425:Adwaita
1392:GNOME 2
1346:GNOME 3
1287:GParted
1267:Brasero
1246:PyChess
1241:gbrainy
1184:EasyTag
1180:Banshee
1129:Empathy
1042:AbiWord
1016:Nemiver
996:Builder
445:History
178:Website
167:License
98: (
67: (
1692:People
1673:GUADEC
1440:Diodon
1368:Mutter
1297:Tomboy
1188:Pitivi
1093:gThumb
1083:F-Spot
1035:Office
991:Anjuta
976:Extras
961:Videos
926:Evince
794:GitLab
305:kernel
256:/user/
191:/dconf
185:.gnome
131:/dconf
129:/GNOME
125:.gnome
123:gitlab
1806:GNOME
1648:Cairo
1603:D-Bus
1533:dconf
1526:Other
1495:Pango
1418:Other
1282:gnote
1277:gedit
1234:Mines
1229:Chess
1217:Games
1208:sushi
1173:Media
1154:Gobby
1139:Geary
1134:Ekiga
1124:Balsa
1021:Geany
936:Loupe
931:Files
921:Disks
896:Boxes
880:GNOME
731:GDBus
435:guide
324:D-Bus
231:GConf
227:GNOME
211:dconf
20:dconf
1570:Vala
1548:GVfs
1517:IBus
1500:GLib
1435:MATE
1383:Orca
1302:Yelp
1159:Jami
1088:GIMP
1006:Meld
801:2018
776:2021
737:0.27
723:0.26
713:0.25
703:0.24
692:0.23
682:0.22
672:0.21
658:0.20
648:0.19
638:0.18
628:0.17
618:0.16
608:0.15
598:0.14
588:0.13
578:0.12
568:0.11
558:0.10
439:LGPL
344:gvdb
272:(or
223:GLib
187:.org
183:wiki
157:Type
127:.org
1510:GIO
1485:ATK
1480:GSK
1475:GDK
1470:GTK
1363:GDM
1047:Dia
966:Web
548:0.9
538:0.8
528:0.7
518:0.6
508:0.5
498:0.4
488:0.3
478:0.2
468:0.1
408:GIO
298:IPC
217:to
1797::
792:.
403:.
287:.
233:.
1338:…
872:e
865:t
858:v
803:.
778:.
150:C
102:)
71:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.