it-swarm.com.de

Was ist dconf, welche Funktion hat es und wie verwende ich es?

Mark Shuttleworth kürzlich gebloggt über die Entscheidung, die Qt-Bibliotheken in die Version 11.10 aufzunehmen, mit einem Follow-up von Jono Bacon. Laut Mark besteht die größte Herausforderung bei der Integration von in Qt geschriebenen Apps in das größere Ubuntu-System darin, dass Qt derzeit nicht mit dconf kompatibel ist.

Was ist dconf und welche Rolle spielt es in Ubuntu?

75
user2405

Einführung

Während andere Antworten auf dieser Website gconf und dconf gemeinsam behandeln, werde ich mich nur auf die Erörterung von Befehlszeilentools wie gsettings und der GUI dconf-editor konzentrieren, auf die zugegriffen wird die dconf Datenbank.

Bei der offiziellen GNOME-Website wird darauf hingewiesen, dass

dconf ist ein einfaches Konfigurationssystem. Der Hauptzweck ist die Bereitstellung eines Backends für GSettings auf Plattformen, auf denen noch keine Konfigurationsspeichersysteme vorhanden sind.

dconf ist ein einfaches schlüsselbasiertes Konfigurationssystem. Schlüssel existieren in einer unstrukturierten Datenbank (aber es ist beabsichtigt, dass Schlüssel, die logisch zusammen gehören, zusammen gruppiert werden).

Wenn alle Schlüssel in einem einzigen kompakten Binärformat vorliegen, werden auch die intensiven Fragmentierungsprobleme vermieden, die derzeit beim Ansatz des Verzeichnisbaums von XML-Dateien auftreten.

dconf ist für Lesevorgänge optimiert. Das Lesen eines Schlüssels aus dconf beinhaltet normalerweise keine Systemaufrufe und keine Kontextwechsel. Schreibvorgänge sind weniger optimiert - sie durchlaufen den Bus und werden von einem "Writer" - einem DBus-Dienst - auf normale Weise verarbeitet.

Verwenden Sie gsettings, um Einstellungen anzuzeigen und zu ändern

Sobald man gsettings kennenlernt, kann es so einfach sein wie die GUI dconf-editor. Die Optionen können aufgelistet werden, indem Sie man gsettings eingeben oder zu buntu-Hilfeseiten online gehen.

HINWEIS: Da auf jedem System unterschiedliche Programme installiert sind, müssen Sie möglicherweise die von mir ausgewählten Elemente durch andere ersetzen, wenn Sie selbst experimentieren, da ich XUbuntu verwende XFce mit ziemlich vielen GNOME-Programmen.

Geben Sie ein, um alle verfügbaren Schemas aufzulisten

gsettings list-schemas

Geben Sie ein, um auch alle Schlüssel einzuschließen

gsettings list-recursively

Jedoch ist es normalerweise einfacher zu spezifizieren, mit was Sie wollen, zum Beispiel

gsettings list-schemas | grep -i shotwell

Dies gibt eine lange Liste zurück; Ich habe es verkürzt auf:

org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files

Wenn Sie das Schema gefunden haben, an dem Sie interessiert sind, listen Sie die Schlüssel mit auf

gsettings list-keys org.yorba.shotwell.preferences.ui

Dies gibt eine Liste zurück (wieder habe ich es gekürzt):

background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by

Wählen Sie einen aus und sehen Sie, mit welchem ​​Wert der aktuelle Wert übereinstimmt

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

Dies gibt den Wert true zurück, verwenden Sie also, um ihn umzukehren

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

Dies sind einfache Beispiele, zeigen jedoch im Grunde, wie Schlüssel und Werte mit gsettings identifiziert und geändert werden.

Verwenden von dconf-editor zum Ändern von Einstellungen

Das GUI-Programm dconf-editor wird mit dem Paket dconf-tools installiert, indem Sie auf hier klicken oder es ausführen

Sudo apt-get install dconf-tools

Führen Sie es dann aus, indem Sie im Terminal oder im Schnellstartmenü dconf-editor eingeben.

Wie Sie auf dem Screenshot sehen können, können alle verschiedenen Schemata auf der linken Seite erweitert und der entsprechende Schlüssel ausgewählt werden. Es ist sehr einfach, zu dem gewünschten Wert zu navigieren (in diesem Fall zu den Einstellungen gnome-mplayer). Sie können auf das Kontrollkästchen klicken, um einen Wert zu aktivieren, oder einen numerischen Wert in eines der anderen Felder einfügen. Sie können auch im dconf editor mit suchen Ctrl+F Tastaturkürzel.

enter image description here

Sie können auch ein weiteres Protokoll hinzufügen, z. B. zu log-viewer, indem Sie im folgenden Screenshot einen Pfad in der Form ['/var/log/auth.log', var .... '] hinzufügen.

enter image description here

Fazit

Es gibt viele andere nützliche Möglichkeiten, Einstellungen mit gsettings und dconf-editor zu ändern, und diese sind einfach zu verwenden. Es lohnt sich, sie durchzusehen, um festzustellen, ob es Optionen gibt, die nicht in den Programmeinstellungen enthalten sind, da Sie Ihr Programm möglicherweise nach Ihren Wünschen anpassen können. Wie die Fossfreedom kürzlich in dieser Frage gezeigt hat

zu wissen, wie man gsettings oder dconf-editor benutzt, ist äußerst wertvoll. Siehe auch:

86
user76204

Für diejenigen, die von Windows kommen und eine einfache Antwort wünschen, ist dconf das Gnome-Äquivalent zur Windows-Registrierung ... ein großer Binärbaum, in dem jedes Programm seine Konfiguration speichern und freigeben kann.

Sie migrierten zuerst von den traditionellen Unix-Konfigurationen (eine Textdatei für jede App, jede mit ihrem eigenen Format) zu einem von gconf verwalteten Standardbaum von XML-Dateien. In jüngster Zeit wurden diese XML-Dateien und die Leistungsprobleme beim Lesen und Parsen von MANY-Dateien durch die Migration von gconf zu dconf in ein Binärformat migriert, da fast niemand sie direkt bearbeitete.

Im Gegensatz zur Windows-Registrierung sollten in dconf alle Konfigurationseinträge aufgelistet sein, auch wenn sie auf die Standardwerte gesetzt sind. Damit es keine versteckten Einträge gibt, können Sie diese dann einfach ändern oder auf Standard zurücksetzen.

25
higuita

dconf ist nicht Ubuntu-spezifisch, sondern die GNOME-Technologie, mit der Anwendungseinstellungen gespeichert werden. Weitere Informationen finden Sie unter http://live.gnome.org/dconf

10
João Pinto