Das K Desktop Environment kann durchaus als Power-Werkzeug herhalten, denn die meisten seiner Anwendungen und ihre Eigenschaften lassen sich umfangreich konfigurieren. So sind Tastaturkürzel, Dateipfade oder Zugriffsprotokolle auf Dateien konfigurierbar - oft sogar bequem an zentraler Stelle, sodass der Anwender nicht für jede Anwendung erneut seinen Drucker- oder Datei-öffnen-Dialog neu konfigurieren muss.
Zur Herausforderung hingegen gerät, wenn er diese Einstellungen ohne Maus und grafische Oberfläche verwalten will. Das ist durchaus kein Widerspruch, denn einige Admins sind für die Konfiguration von Anwender-PCs verantwortlich und wünschen sich eine automatisierte Einrichtung. Die Details hinter der Fassade von KDE interessieren auch den, der seine Einstellungen von einer KDE-Installation zur anderen umziehen möchte - nach einem Distributions-Update etwa oder dem Kauf eines neuen Notebooks.
Die ersten Berührungspunkte mit Einstellungen, die das Aussehen oder das Verhalten des Desktops sowie von Anwendungen beeinflussen, haben Anwender in der Regel über die Systemeinstellungen »systemsettings« - bei KDE 3 über das Kontrollzentrum »kcontrol« - sowie das Menü »Einstellungen« in typischen KDE-Anwendungen.
Jenseits des Mausklicks
In der Regel verwenden Anwender den Desktop und seine Programme erst einmal und passen im Laufe der Zeit einige Optionen an. Was beim Ändern im Einzelnen passiert und wo das Konfigurationssystem von KDE sie speichert, interessiert den Benutzer erst dann, wenn es Probleme gibt oder er die Einstellungen sichern möchte.
Die Kernbibliotheken von KDE bieten ihren Anwendungen mit Klassen wie »KConfig« und »KSharedConfig« eine standardisierte Möglichkeit, Konfigurationsdaten einzulesen, zu verwalten, zu ändern und zu speichern [1]. Dabei unterstützt KDE via »KConfigBackend« prinzipiell mehrere Backends für den Zugriff auf Konfigurationsdaten. Ein solches Backend liest und speichert Konfigurationsdateien nach eigenem Ermessen. Offiziell ist bislang lediglich ein Backend für Konfigurationsdateien im INI-Format enthalten [2]. Versuche mit Datenbank-basierten Backends blieben bislang unvollständig ([3], [4], [5]).
Konfigurationsformate
Das INI-Format stammt ursprünglich aus der Windows-Welt, wo die Registry es mehr und mehr ersetzt. Konfigurationsdateien sind demnach einfache Textdateien mit Zuordnungen der Form Schlüssel=Wert sowie Bereichen in eckigen Klammern. Die KDE-Variante des Formats beschreibt ein Techbase-Artikel [6]. Beispielsweise enthält ».kde/share/config/oxygenrc« die Konfiguration:
[Windeco]
BlendTitlebarColors=true
ShowStripes=true
TitleAlignment=Left
Einträge oberhalb der ersten Gruppenüberschrift gehören zur Standardgruppe. Die Dateien sind in UTF-8 kodiert, Leerzeichen in Schlüsselnamen erlaubt. Kommentare beginnen mit einem »#«, bleiben jedoch beim Speichern durch KDE nicht erhalten. Mit eckigen Klammern lassen sich nach einem Gruppen- oder Schlüssel-Namen für die ganze Gruppe oder den einzelnen Schlüssel spezielle Attribute einfügen. So aktiviert »[$e]« ein einfaches Shell-Globbing, während »$i« einen Eintrag unveränderlich macht. Letzteres eignet sich vor allem dafür, bei zentral administrierten Desktops global bestimmte Einstellungen für Benutzer zu sperren. Ein einfaches Beispiel für die »mailtransports« ist:
[Transport kmail-1]
Host[$i]=mail.firma.de
[...]
storepass[$i]=false
type[$i]=smtp
User[$ie]=${USER}
Gleichermaßen in eckigen Klammern geschriebene Länderkürzel definieren für einen Schlüssel unterschiedliche Werte abhängig von der Sprache. Davon machen Dateien mit der Endung ».desktop« häufig Gebrauch (siehe Abbildung 1). Eine solche Desktop-Datei legt fest, mit welchen Parametern ein Programm oder ein Dienst zu starten ist oder in einem Menü auftaucht. Mit ».directory« am Namensende bestimmt sie die Anzeigeoptionen für ein Verzeichnis. Das ist ein unter dem Dach von Freedesktop.org entwickelter Standard, den unter anderem auch Gnome verwendet [7].
Abbildung 1: Lokalisierte Programmnamen mit Länderkürzeln in einer Desktop-Datei.
Anwender - aber noch mehr Admins beim Debuggen von Einstellungen - fragen sich, wo die Konfigurations- und Desktop-Dateien landen. KDE legt Daten, die nicht im Quelltext eines Programms enthalten sind, via Ressourcen ab [8]. So brauchen Anwendungen nicht den vollen Pfad anzugeben, was es erlaubt, Ressourcen auch an anderer Stelle abzulegen.