Wann finden Änderungen an den Einstellungen statt?


9

Ist nach einer Änderung an etwas in gsettings etwas zu tun, damit die Änderungen wirksam werden?

Wenn ich zum Beispiel Miniaturansichten habe, ~/.thumbnailsdie einige Tage zurückliegen, wird Folgendes ausgeführt:

gsettings set org.gnome.desktop.thumbnail-cache maximum-age 1

Miniaturansichten, die älter als ein Tag sind, sofort gelöscht werden?

Ein anderer Fall wäre, eine Benachrichtigung versehentlich auszuschalten und dann die Standardeinstellung wie folgt wiederherzustellen:

gsettings reset org.gnome.nm-applet disable-vpn-notifications

Ist je nach Art des geänderten Schlüssels ein Abmelden und Anmelden oder ein Neustart erforderlich? Gibt es eine andere Möglichkeit als durch Versuch und Irrtum herauszufinden?

Mein Betriebssystem ist Lubuntu 13.10.


Ich dachte, ein Leitprinzip von Gnome wäre, dass Einstellungen sofort wirksam werden ... Vielleicht irre ich mich, ich benutze Gnome nicht.
Robin Green

Antworten:


1

Gsettings API bietet wirklich bind, syncund Signale. Es liegt jedoch an den Anwendungsentwicklern, sie zu verwenden (get / sync) oder wann sie verwendet werden sollen oder Änderungsereignisse anzuhören (regelmäßig synchronisieren, einmal beim Laden der App, dann beim Beenden der App synchronisieren ...). Ref: GIO Referenzhandbuch

Jedes Update für einen Wert wird sofort in dconf gespeichert user:db. Der GSettings-Daemon sendet Änderungssignale (Glib-Signale). Anwendungsseite, abhängig von ihrer Implementierung.

Z.B:

  • Die meisten Dienste laden die Einstellungen beim Neustart neu.
  • Das Tastaturlayout wurde implementiert, um Änderungen sofort widerzuspiegeln. Es sollte sowieso sein.

Gute Frage hier mit einfachem Bindungstest Was ist die Schema-XML-Datei im Ordner data / glib-2.0 meiner Quickly-Anwendung?

Hinweis: Es gab ein Gespräch über GSettings, um auch mit dbus zu arbeiten, möglicherweise bereits implementiert. Ref: https://jasondclinton.livejournal.com/76020.html


1

Die neuen Einstellungen werden sofort aufgezeichnet. Wann sie wirksam werden, hängt davon ab, wie die Einstellung lautet und welche Anwendung sie verwendet. Wenn die Einstellung für einen Systemdienst gilt, wird sie normalerweise wirksam, wenn der Dienst neu geladen wird. Wenn die Einstellung für eine Anwendung gilt, wird sie normalerweise wirksam, wenn die Anwendung geschlossen und erneut geöffnet wird. Im Fall eines Cache-Ordners gemäß Ihrem Beispiel bleiben die zwischengespeicherten Dateien dort, bis der Cache geleert wird. Dies kann regelmäßig geschehen oder die Anwendung überprüft die zwischengespeicherten Dateien beim Öffnen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.