Was ist die bevorzugte Methode zum Speichern von Anwendungseinstellungen?

13

Aus Entwicklersicht. Soll ich eine textbasierte Konfiguration in / etc oder in $ HOME verwenden? Oder etwas anderes?

Tamás Szelei
quelle
Mir fehlt das Fachwissen, um zu wissen, ob sie bevorzugt werden oder nicht, aber GConf und dconf sind andere Möglichkeiten zum Speichern von Anwendungseinstellungen.
Firefeather
1
Danke für den Vorschlag. Persönlich bevorzuge ich normale Dateien, weil ich Albträume über die Registrierung von Windows habe. Meiner Meinung nach ist die ideale Art, Einstellungen zu speichern, reine Textdateien, vorzugsweise mit einem Standardformat (INI, JSON, XML, YAML usw.). Eine einzelne Datenbank (insbesondere dconf, die monolithisch ist) ist eine einzelne Fehlerquelle.
Tamás Szelei
ás: Danke fürs Teilen: Ich habe einige neue Dinge aus Ihrem Kommentar gelernt, die sich als nützlich erweisen werden, wenn ich jemals selbst Software schreiben möchte!
Firefeather
Ich bin froh, dass es dir hilft :)
Tamás Szelei
Verwandte: askubuntu.com/questions/59822/...
Tachyonen

Antworten:

11

Wenn Sie über einen systemweiten Daemon sprechen, ist eine Datei in /etcangemessen. Wenn Sie über eine Anwendung sprechen, für die Benutzereinstellungen gelten sollen, ist das Basisverzeichnis geeignet. Für neue Apps ist es empfehlenswert, die XDG Base Directory-Spezifikation zu befolgen:

http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Dies bedeutet im Grunde, dass Sie Ihre Konfigurationsdateien in speichern sollten $XDG_CONFIG_HOME, was standardmäßig der Fall ist~/.config

James Henstridge
quelle
Warum wird dconf / gsettings nicht erwähnt?
Seth