Mit dem Dotfile-Generator steht ein komfortables Tool zur Erzeugung von Konfigurationsdateien für viele Standardtools unter Linux zur Verfügung.
Unter Linux ist die Konfigurierbarkeit von Programmen eine Selbstverständlichkeit, sofern diese ein bestimmtes Maß an Komplexität erreicht haben. Unix-typisch ist das robuste (weil lesbare, mit einem Editoren bearbeitbare) Format der Konfigurationsdateien. Ein sehr großer Teil der Linux-Software wird auf diese Weise den Wünschen von Anwendern angepaßt. Leider gibt es bis heute keine verbindliche Syntax für die verschiedenen Konfigurationsdateien. Üblicherweise werden Leerzeilen ignoriert. Kommentare werden mit einem Hash-Mark (#) eingeleitet und erstrecken sich bis zum Zeilenende. Aber schon bei einigen Konfigurationsdateien unter X (etwa den Ressourcen-Files) wird das Ausrufungszeichen zum Einleiten von Kommentaren eingesetzt.
In den Konfigurationsdateien können üblicherweise Schlüsselwörter und Variablen verwendet werden, denen ein Wert (numerisch oder als Text) übergeben wird. In manchen Fällen können noch neue Funktionen deklariert werden. Damit erschöpft sich das allgemeine Format von Konfigurationsdateien aber auch schon weitgehend.
Der Dotfile-Generator
Die strukturelle Ähnlichkeit der Konfigurationsdateien erkannte vor einigen Jahren Jesper Kjær Pedersen, der sich daran machte, eine grafische Oberfläche für das Erstellen von Konfigurationsdateien zu schaffen. Dies ist ihm mit “The Dotfile Generator (TDG)” in bemerkenswerter Weise gelungen. Mit wenigen Mausklicks können selbst schwierige Einstellungen für die unterstützten Programme vorgenommen werden. Seit 1997 gibt es das Programm in der Version 2.0 zum kostenlosen Download auf der Homepage http://www.imada.ou.dk/~blackie/dotfile/.
Das Konzept des Generators sieht einen modularen Aufbau vor, so dass für die Konfiguration weiterer Programme der Dotfile Generator unverändert eingesetzt werden kann, nur das entsprechende Modul muß neu geschrieben werden. Bisher gibt es Module für die Bash, den Mailreader Elm, die Windowmanager fvwm1 und fvwm2, ipfwadm (Modul für IP-Firewall, Forwarding und Masquerading), procmail (zum Filtern von Mails), rtin (ein Newsreader) und der neuen C-Shell tcsh.
Das Modul zur Konfiguration der Bash stammt von Per Zacho und ist momentan in der Version 1.02 verfügbar. Es gehört zu den ältesten und stammt bereits aus dem Jahr 1997. Der Dotfile-Generator benötigt mindestens tcl7.4 und TK4.0. Alle aktuellen Distributionen erfüllen diese Voraussetzungen.
Die Installation des Dotfile-Generators
Leider gehört der Dotfile-Generator bisher nicht zu den Standardtools der meisten Distributionen, so dass die Software zunächst von der Homepage geladen werden muß.
Vor dem Einsatz des Programms muß dieses compiliert werden. Dazu wird zuerst das entsprechenden tar-Archiv entpackt und die Konfiguration vorgenommen:
$> tar -xvzf dotfile
Die Installation besteht einfach aus dem Aufruf des ./configure-Scripts:
$> ./configure creating cache ./config.cache ###################################################################### ###################################################################### If the configure script does not work, then please report to blackie@imada.ou.dk, and edit configure.in. ###################################################################### ###################################################################### checking for wish8.2jp… no checking for wish8.2… no … checking for ln… /bin/ln Which language should The Dotfile Generator use as default? 1: English 2: Japanese
An dieser Stelle ist eine Eingabe erforderlich, mit der die Sprache festgelegt wird:
[1][RETURN] updating cache ./config.cache creating ./config.status creating Makefile creating dotfile creating Generator/system.tcl creating Modules/english/fvwm2/fvwmrc_convert … ———————————–
Nun kann das Programm gestartet werden, sogar ohne dass es zunächst installiert zu werden braucht.
$> ./dotfile
Konfiguration mit den Dotfile-Tool
Im sich jetzt öffnenden Hauptfenster wählt der Anwender das gewünschte Konfigurationsmodul aus:
Im nächsten Schritt kann zum einen die Version der Bash festgelegt werden, für die die Konfiguration erfolgen soll.
Wann immer es möglich ist, ermittelt der Dotfile-Generator die benötigten Informationen (etwa die Version der Bash) selbstständig und zeigt das Ergebnis in der Mitte des Fensters an. Der Anwender hat aber dennoch die Möglichkeit, eine Konfiguration für die ältere Bashversion zu erstellen. Im unteren Teil der Dialogfenster werden oft Tips gegeben, die einem im Zweifelsfall weiter helfen können.
Zum anderen ist es möglich, bestimmte bewährte Voreinstellungen für die Konfiguration zu laden. Einige Module erlauben sogar das Einlesen vorhandener Konfigurationsdateien; für die Bash ist dies aufgrund der komplexen Syntax leider nicht möglich.
Der Hilfe-Button führt immer zu der ausführlichen und gut verständlichen Online-Hilfe. Für Menüpunkte ist eine Hilfefunktion durch die rechte Maustaste erreichbar.
Das nächste Menü zeigt die vorhandenen Konfigurationsdialoge (Pages) im Überblick.
Im Menüpunkt Setup/Options… kann der Anwender auswählen, ob die erzeugte Konfigurationsdatei Einträge aus allen Seiten (die Voreinstellung) oder nur von ausgesuchten Seiten enthalten soll. Die erste Variante sollte hier ausgewählt werden. Im unteren Teil der Dialogfenster wird der Modus angezeigt.
Hinter jedem angezeigten Menüpunkt verbirgt sich wieder ein mehr oder weniger umfangreicher Dialog. Durch die Menügliederung ist es leicht möglich, die gesuchten Punkte ausfindig zu machen. Alle relevanten Konfigurationsmöglichkeiten werden berücksichtigt, aber auch weniger bekannte werden berücksichtigt. Das zeigt sich beispielsweise bei der selten genutzten Möglichkeit, Keyboard-Makros in die Konfigurationsdatei aufzunehmen:
Um einen neuen Eintrag in die Konfigurationsdatei aufzunehmen, muß zunächst über den Add-Button das entsprechende Dialogfeld aktiviert werden. Dann ist der gewünschte Eintrag nur noch auszuwählen (sprich anzuklicken) bzw. muß in das Textfeld eingetragen werden.
Nachdem alle Dialoge bearbeitet wurden, kann die Konfigurationsdatei über den Menüpunkt File/Generate generiert werden. Das Ergebnis wird dabei angezeigt:
### This file has been auto generated ### by the Bash module for the Dotfile Generator ### on Die Jun 27 12:56:42 MEST 2000 … ### Primary prompt export PS1="\u@\h \w >" … ###———->User<->Bash interface/Command aliases<———- ### Command aliases alias ll='ls -l' … ###———->User<->Bash interface/Command history<———- ### Command history export HISTCONTROL=ignoreboth export HISTSIZE=1500 export HISTFILESIZE=1500 shopt -s cmdhist …
Voreingestellt wird eine Konfigurationsdatei unter dem Namen ~/.bashrc-dotfile bzw. ~/.inputrc-dotfile erzeugt. Über das Menü File/Save As können die Konfigurationsdateien auch unter anderen Pfaden angelegt werden. Die erste Datei kann durch den Befehl source .bashrc-dotfile in der Datei .bashrc eingelesen werden, der Inhalt der zweiten wird üblicherweise an die Datei .inputrc im Home-Verzeichnis des Anwenders angehängt. Alternativ kann die Datei auch via $include-Statement eingelesen werden.
Fazit
Die Konfiguration der Bash (und anderer Programme) mit dem Dotfile-Generator ist ein erfreuliches Unterfangen. Aufgrund einer klaren Struktur des Programms lassen sich die Features der Software recht einfach und nachvollziehbar einstellen. Ganz nebenbei stolpert man dabei noch über die eine oder andere Funktion, die sonst leicht übersehen wird.






