[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] [:Shell:Umgang mit der Shell] }}} [[Inhaltsverzeichnis(1)]] Zur Bearbeitung von Konfigurationsdateien stellt [:Plasma:] zwei nützliche Programme zur Verfügung, deren Vorteil auch in der Verwendbarkeit in Scripten liegt. `kwriteconfig5` ist ein kleines Kommandozeilenprogramm, welches Konfigurationsdateien der [:Plasma:]-Umgebung im laufenden System ändern kann. Eine manuelle Änderung der Dateien mit einem Texteditor ist nicht vorgesehen und birgt die Gefahr von Inkonsistenzen oder vielfachen Einträgen. `kwriteconfig5` sorgt dafür, dass alle relevanten Komponenten über die Änderung informiert — und diese korrekt abgespeichert wird. Zudem lassen sich so Einträge erstellen, die in den grafischen Einstellungen nicht vorgesehen sind. Zum Lesen von aktuellen Einstellungen gibt es das Gegenstück `kreadconfig5`, dessen Syntax nahezu gleich ist und dessen Ausgabe den Wert zurück gibt, wenn er gefunden wird — oder einen optionalen Standardwert. = Installation = `kwriteconfig5`, so wie `kreadconfig5` sind Teil des [:Plasma:Plasma-Desktops], bzw. des KDE-Frameworks und können nicht separat installiert werden. Bei Kubuntu sind beide somit bereits vorinstalliert und im Paket {{{#!vorlage Paketinstallation plasma-framework, universe }}} enthalten. = Verwendung = Auch wenn beide Programme nur optional eine Eingabedatei, eine Gruppe, so wie einen Schlüssel erwarten, ist ein Aufruf ohne diese Argumente sinnfrei. Dieser Eintrag würde ohne Fehlermeldung verworfen. die Ausgabe leer bleiben, respektive die Kurzhilfe anzeigen. == Synopsis == {{{#!vorlage Befehl kwriteconfig5 [Optionen] Wert kreadconfig5 [Optionen] }}} == Beispiel == Als einfaches Beispiel dient die Sortierung nach Verzeichnisnamen im ''"KFileDialog"'', der immer zum Tragen kommt, wenn wir aus einer Anwendung (Nur [:Qt:]/[:KDE:]-Anwendungen, das [:GTK:]-Framework bringt einen separaten Dateidialog mit) heraus eine Datei auswählen sollen. Prüfung des aktuellen Zustandes: {{{#!vorlage befehl kreadconfig5 --file ~/.config/kdeglobals --group "KFileDialog Settings" --key "Sort directories first" # Ausgabe: true }}} Deaktivieren der Sortierung: {{{#!vorlage befehl kwriteconfig5 --file ~/.config/kdeglobals --group "KFileDialog Settings" --key "Sort directories first" false }}} == Die Parameter == {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel" :>KConfig-Parameter +++ Parameter Verwendung +++ --file Die Datei kann entweder wie im Beispiel als kompletter Pfad angegeben werden, als auch nur als Dateiname. Dabei werden die bekannten Ordner für Konfigurationsdateien durchsucht und der erste Treffer verwendet. Existiert die Datei nicht, wird sie mit dem angegebenen Inhalt angelegt. +++ --group Die Gruppe bezeichnet das Segment in eckigen Klammern innerhalb einer Konfigurationsdatei. Im Beispiel wäre das ''"[KFileDialog Settings]"''. Die Angabe erfolgt ohne die eckigen Klammern, Leerzeichen müssen entsprechend der verwendeten Shell [2] maskiert werden. +++ --key Der Schlüssel ist der Bezeichner der Variable und geht vom Zeilenanfang bis zum Gleichheitszeichen. Leerzeichen müssen entsprechend der verwendeten Shell [2] maskiert werden. +++ --type Mittels des Typs kann eine Ausgabe festgelegt werden. ''bool'' mit dem Wert 1 würde also ''true'' in die Datei schreiben. Beim Lesen würde der Exit-Code des Programmes den Wert 0/1 annehmen. Ohne Angabe wäre die Ausgabe eine Textausgabe von ''"true"'' oder ''"false"''. +++ --delete nur `kwriteconfig5`: Mit der delete-Option können Schlüssel oder Gruppen gelöscht werden, nicht aber die ganze Datei! +++ --default nur `kreadconfig5`: Beim Lesen steht eine Standardvariable zur Verfügung, die ausgegeben wird, wenn der betreffende Wert nicht ermittelt werden konnte. }}} = Links = * [https://api.kde.org/frameworks/kconfig/html/index.html KConfig Quellcode auf api.kde.org] * [https://userbase.kde.org/KDE_System_Administration/Configuration_Files KDE UserBase: System Administration - Configuration Files] {en} #tag: KDE, Plasma, Konfiguration