53445_7398.jpg

Kindersicherung entsperrt

Versteckte Gnome-Einstellungen nutzen

01.03.2004 "Sag mir, wo die Optionen sind, wo sind sie geblieben?", fragt sich mancher Gnome-Nutzer frei nach Marlene Dietrich. Die meisten finden sich, gut versteckt, im Gconf-Editor.

Ein wenig chaotisch und unordentlich, dafür aber bis ins kleinste Detail konfigurierbar – in dieser Konstellation galt Gnome in der Vergangenheit als die Desktop-Umgebung für Hacker und Geeks. Die Kehrtwende kam mit Version 2.0: Hier räumte das Gnome-Projekt mit dem Optionen-Wildwuchs auf und ging daran, die Vorgaben der Human Interface Guidelines (HIG; vgl. Kasten 1) umzusetzen. Der Lohn der Mühe: Anwendern fällt der Zugang zu Programmen leichter.

Kasten 1: Richtlinien für menschenfreundliche Benutzerschnittstellen

Die unter http://developer.gnome.org/projects/gup/hig/ beschriebenen Human Interface Guidelines formulieren Software-ergonomische Forderungen, die alle Gnome-Anwendungen erfüllen sollen. Dazu gehört neben konsistent angeordneten Bedienelementen, klar strukturierten Menüs und der Übersetzung in möglichst viele Sprachen auch, auf alle Optionen zu verzichten, die ein Großteil der Anwender nicht nutzt oder, schlimmer noch, gar nicht versteht.

Den Usability-Regeln (siehe Seite 78) entsprechend, verlangen die HIG zudem, dass sich die Software sprachlich an den Erfahrungshorizont des Anwenders anpasst, bei längeren Aktionen jederzeit Feedback darüber gibt, was sie gerade tut usw. Sie machen detaillierte Vorgaben über die Gestaltung von Dialogen und Menüs, weshalb es bei fast keiner Gnome-Anwendung mehr Dialoge mit OkAnwendenÜbernehmenSchließen-Knöpfen gibt: Wenn man wie in Abbildung 1 eine Änderung veranlasst, möchte man schließlich, dass diese sofort zur Ausführung kommt – ein separater Anwenden- oder Übernehmen-Button ist also überflüssig. Auch die Ok-Funktion gibt es schon: Was dieser Knopf tut, erwartet der Nutzer bereits vom Schließen-Button.

Abbildung 1

Abbildung 1: Zwei der drei abgebildeten Knöpfe sind überflüssig.

Kollateralschäden

So lobenswert der Ansatz ist: Für den Geschmack erfahrener Anwender schießen die Entwickler dabei manchmal über das Ziel hinaus. Wer den Dateimanager Nautilus nicht unter Gnome nutzt, kennt das Problem, dass sich dieser das Zeichnen des Desktops scheinbar nicht mehr abgewöhnen mag. Half früher das Deaktivieren des Punktes Nautilus für das Zeichnen des Desktops verwenden, findet man sich heute nach einem unachtsamen Start von Nautilus auf einen Gnome-Desktop zwangsteleportiert.

Selbst diejenigen, die den Dateimanager konsequent auf der Kommandozeile mit der Option --no-desktop starten, sind vor dieser bösen Überraschung nicht gefeit: Nautilus wird oft als Help Viewer für Gnome-Programme registriert: Ruft man HilfeInhalt in einem unter KDE gestarteten solchen auf, ist das Malheur schon passiert.

Tatsächlich haben die Entwickler das Gegenmittel nicht abgeschafft, sondern die entsprechende Option nur aus den Menüs verbannt. Über den GConf-Editor stellen Sie sie nach Ihren Wünschen ein.

Nur Red Hat Linux installiert das praktische Tool standardmäßig. Bei Mandrake 9.0 und 9.1 finden Sie es zumindest nach dem Einspielen des gnome2-Metapakets. Suse-Linux-Benutzer müssen es auch dann nachträglich installieren, wenn Gnome schon auf der Festplatte liegt.

Fast wie Regedit

Starten Sie das Konfigurationstool mit dem Befehl gconf-editor &, und lassen Sie sich nicht von der Warnmeldung (Abbildung 2) bange machen: Das Programm arbeitet stabil, und falls Sie doch einmal ungewollt eine Option ändern, gibt es immer einen Weg zurück zur Default-Einstellung.

Abbildung 2

Abbildung 2: Der GConf-Editor warnt: Benutzung auf eigene Gefahr!

Das Layout der Anwendung erinnert an den Registry-Editor unter Windows. In der Baumstruktur auf der linken Seite finden Sie so genannte Schlüssel und Unterschlüssel, deren Werte Sie in der rechten Fensterhälfte anpassen. Alle Änderungen werden sofort wirksam und in die Konfigurationsdatenbank des Benutzers eingetragen. Diese Datenbank kommt im XML-Format daher und liegt im Verzeichnis ~/.gconf.

Jeder Schlüssel, der eigene Werte enthält, bekommt seine eigene Datei. So speichert ~/.gconf/apps/nautilus/preferences/%gconf.xml die aktuellen Einstellungen des Gnome-Dateimanagers. Neben den Benutzer-Datenbanken gibt es systemweite Voreinstellungen, die jeder Anwender zu Gesicht bekommt, wenn er zum ersten Mal mit Gnome arbeitet. Sie liegen unterhalb von /etc/gconf/gconf.xml.defaults. Suse geht einen Sonderweg und packt sie bei Version 9 nach /etc/opt/gnome/gconf/gconf.xml.defaults, bei 8.2 heißt das Verzeichnis noch /etc/opt/gnome2/gconf. Haben Sie Gnome selbst übersetzt, finden Sie sie in /usr/local/etc/gconf.

Obwohl reiner Text, sind die XML-Dateien recht unübersichtlich. Jede Einstellung besteht aus einem Tag in spitzen Klammern, der unter anderem Name, Typ und Wert der Einstellung enthält (Abbildung 3). Der Pfad der jeweiligen XML-Datei entspricht immer dem im GConf-Editor. Die passende grafische Schnittstelle zu den Nautilus-Einstellungen finden Sie also im Schlüssel /apps/nautilus/preferences.

Abbildung 3

Abbildung 3: In solchen XML-Dateien speichert Gnome seine Konfiguration.

Verantwortlich für das Zeichnen des Desktops ist der Punkt show_desktop. Entfernen Sie den Haken, ist der Dateimanager seinen Nebenjob als Hintergrundverwalter los: Schließen Sie den GConf-Editor, schlägt sich die Änderung auch in der zugehörigen XML-Datei nieder.

Extras freischalten

Als Ausgangspunkt für die Suche nach versteckten Einstellungen empfehlen sich die Hauptschlüssel apps und desktop. Unter apps konfigurieren Sie das Verhalten der Gnome-Anwendungen. Neben den Kernanwendungen der Desktop-Umgebung reihen sich dort auch optionale Gnome-Programme ein, wie etwa der HTML-Editor Screem. Im Bereich desktop sammeln sich die anwendungsübergreifenden Einstellungen des Desktop-Environments.

Das Problem liegt meistens darin, den zu einem Feature passenden Schlüssel zu finden. Bei einigen Optionen kommt man schon mit den beschreibenden Schlüsselnamen weiter: So legt zum Beispiel desktop/gnome/background/picture_filename fest, welche Grafik Gnome als Hintergrund verwendet.

Anders als bei der "show_desktop"-Option handelt es sich dabei nicht um eine Ja-Nein-Entscheidung, sondern Sie müssen als Wert den Verzeichnispfad zur gewünschten Grafik angeben. Klicken Sie dazu in die Spalte Value hinter picture_filename, und tippen Sie den Dateinamen in der Eingabezeile ein (Abbildung 4). Alternativ doppelklicken Sie einen Eintrag. Der GConf-Editor öffnet seinen Eigenschaften-Dialog, über den Sie den Wert ebenfalls ändern können (Abbildung 5).

Abbildung 4

Abbildung 4: Werte ändern Sie direkt über Checkboxen und Eingabefelder.

Abbildung 5

Abbildung 5: Per Mausklick wechseln Sie zwischen "Wahr" und "Falsch".

Erklärt sich der Name einer Option einmal nicht selbst, gibt es dazu eventuell einen so genannten Docstring, eine Art Kurzbeschreibung, die Sinn und Zweck erläutert. Sofern vorhanden, zeigt sie der GConf-Editor direkt in der unteren rechten Fensterhälfte an (Abbildung 6).

Abbildung 6

Abbildung 6: Die Kurzhilfe listet alle Werte für die Integration des Hintergrundbilds auf.

Über die Applikationsmenüs nicht zugängliche Optionen finden Sie nur beim Stöbern in der Baumstruktur. Tabelle 1 präsentiert eine Auswahl. Werte, die Sie oft ändern, markieren Sie über LesezeichenLesezeichen hinzufügen mit einem Bookmark. Es erscheint sofort im Menü und lässt sich künftig mit LesezeichenSchlüsselname anspringen.

Tabelle 1: Geheime Gnome-Einstellungen

Schlüsselname im GConf-Editor Auswirkung
/apps/file-roller/listing/show_mime_icons Darstellung der Dateityp-Icons im Archivierungsprogramm File-Roller an- und abschalten. Nach dem Deaktivieren erhält jede Datei in einem Archiv ein weißes Blatt als Symbol.
/apps/file-roller/ui/history_len Anzahl der Dateien im File-Roller-Menü Zuletzt geöffnet.
/apps/gedit-2/preferences/editor/save/save_encoding Legt fest, welche Zeichensatzkodierung der Texteditor Gedit benutzt, Default ist UTF-8. Der Wert GEDIT_SAVE_ORIGINAL_FILE_ENCODING_IF_POSSIBLE lässt Gedit nur neu angelegte Dateien in UTF-8 speichern, bei allen anderen versucht er, das Original-Encoding zu verwenden. Sinnvoll, wenn sich Benutzer, mit denen Sie Dateien austauschen, über unlesbare Umlaute beklagen.
/apps/gedit-2/preferences/ui/recents/max_recents Anzahl der zuletzt geöffneten Dateien im Menü des Editors.
/apps/gnome-search-tool/show_additional_options Erweiterte Optionenansicht der Such-Funktion beim Start aktivieren (ab Gnome 2.4).
/apps/nautilus/desktop/home_icon_visible Legt fest, ob das Icon für das Home-Verzeichnis auf dem Desktop sichtbar ist (ab Gnome 2.4).
/apps/nautilus/desktop/trash_icon_visible Anzeige des Mülleimers an- oder abschalten (ab Gnome 2.4).
/apps/panel/global/confirm_panel_remove Nachfrage beim Entfernen eines Panels abschalten.
/apps/gnome-session/options/show_splash_screen Legt fest, ob Gnome beim Start den Splash-Screen einblendet
/apps/gnome-session/options/splash_image Erwartet die Angabe des Pfades zu einer Grafikdatei als Wert. Diese blendet Gnome als Splash-Screen ein.
/desktop/gnome/file-views/show_backup_files Im Gegensatz zum Menü aktivieren Sie hier nur die Anzeige von Dateien, deren Name mit einer Tilde (~) endet. Solcherlei Dateien nutzen zahlreiche Programme für Sicherungskopien. Mit einem Punkt beginnende Dateien bleiben weiterhin ausgeblendet.
/desktop/gnome/file-views/show_hidden_files Dasselbe Feature für mit einem Punkt beginnende Konfigurationsdateien.

Ein starkes Trio

gconf-editor schreibt die Optionen nicht selbst in die Konfigurationsdatenbank. Im Hintergrund kümmern sich zwei Mitstreiter um die eigentliche Arbeit. Das ist zum einen das Kommandozeilenprogramm gconftool-2, zum anderen der Konfigurationsserver gconfd. Der Editor fungiert nur als grafisches Frontend für gconftool-2, das Ihre Änderungswünsche an gconfd weiterleitet. Dieser übernimmt sie sofort und informiert die laufenden Programme über die Änderungen. So verschwindet der von Nautilus gezeichnete Desktop automatisch, ohne dass Sie den Dateimanager neu starten müssen.

Mit gconftool-2 ändern Sie Optionen über die Kommandozeile, selbst auf Systemen, auf denen das grafische Frontend nicht installiert ist. Manchmal erweist sich das Tool als letzter Rettungsanker, etwa wenn die Konfigurationsdatenbank bei einem Stromausfall oder Systemabsturz so zerstört wurde, dass Gnome überhaupt nicht mehr startet.

Konfiguration in der Shell

Wegen der Vielzahl an Optionen fällt die Bedienung von gconftool-2 nicht sehr intuitiv aus. Die Kurzreferenz aus Tabelle 2 und einige Beispiele demonstrieren die Fähigkeiten des Programms am besten.

Der Aufruf folgt immer dem Muster

gconftool-2 Optionen Schlüssel

wobei Sie als Schlüssel den Pfad, den Sie in GConf-Editor nutzen würden, ohne Schrägstrich / am Ende angeben müssen. Sofern Sie einen Schlüssel ändern und nicht nur anzeigen wollen, folgt optional noch ein Wert. Den Schlüssel geben Sie ebenso ein wie einen Pfad (eigentlich sind Schlüssel auch nur Pfade in der Konfigurationsdatenbank), also z. B. /apps/nautilus/preferences/show-desktop. Welche Pfade es gibt, zeigt gconftool-2 --all-dirs / an:

/desktop
/apps
/system
/schemas

Alle Einstellungen unterhalb eines Schlüssels verrät der Parameter -a. Mit gconftool-2 -a /apps/file-roller/listing erfahren Sie die aktuellen Anzeige-Einstellungen des Archivprogramms file-roller. Wollen Sie alle Unterschlüssel und Einstellungen eines Anwendungszweiges zum Nachschlagen in eine Datei schreiben, erzeugen Sie diese mit

gconftool-2 -R /apps > apps-optionen.txt

Die im Beispiel erstellte Datei apps-optionen.txt drucken Sie wahlweise aus oder durchforsten sie am Bildschirm (Abbildung 7).

Abbildung 7

Abbildung 7: Alle Anwendungsoptionen auf einen Blick.

Einzelheiten zu einem Wert finden Sie mit --long-docs, --short-docs und -T heraus. Die ersten beiden geben, sofern vorhanden, Hilfetexte zu einem Schlüssel aus. -T verrät den Typ eines Wertes, den Sie spätestens dann brauchen, wenn Sie ihn ändern wollen.

Als kurze Faustregel gilt, dass Pfadangaben immer vom Typ string (Zeichenkette) sind, während alles, was entweder wahr (true) oder falsch (false) sein kann, zum Typ bool gehört. Ein Beispiel dafür kennen Sie bereits: die Option, die bestimmt, ob Nautilus den Desktop zeichnet oder nicht. Weiterhin gibt es int (ganze Zahl), float (Kommazahl) und list (Aufzählung). Vom Datentyp Liste ist z. B. /apps/panel/default_setup/general/toplevel_id_list. Darin steht, welche Panels Gnome startet.

Alles hört auf mein Kommando

Haben Sie Name, Typ und Wirkungsweise eines Schlüssels herausgefunden, ist es Zeit, etwas zu ändern. So entzieht der Aufruf

gconftool-2 -t bool -s /apps/nautilus/preferences/show_desktop false

Nautilus die Kontrolle über den Desktop. Der Schalter -t bool teilt gconftool-2 mit, um welchen Wertetyp es sich handelt. -s impliziert, dass Sie eine Option setzen wollen; der passende Wert ist in diesem Fall false. Ersetzen Sie das false durch true, schalten Sie das Feature bei sonst gleichem Befehlsaufruf wieder ein.

Mit dem Kommando

gconftool-2 -t int -s /apps/nautilus/preferences/directory_limit 10000

erhöhen Sie die Anzahl der von Nautilus maximal anzeigbaren Dateien auf 10000 (unter Gnome 2.4 ist per Default keine Beschränkung aktiv, unter Gnome 2.2 liegt sie bei 4000 Dateien), und der Aufruf

gconftool-2 -t string /apps/gnome-session/options/splash_image /home/andi/mysplash.png

sorgt dafür, dass Gnome Sie künftig mit einem anderen Startbild begrüßt.

Eine einzelne Option auf den Default zurückzusetzen geht noch einfacher, da Sie hier weder einen Wert noch den Typ brauchen. gconftool-2 -u, gefolgt vom gewünschten Schlüssel, übernimmt diese Aufgabe.

Haben Sie die Einstellungen eines Programms total verbastelt, brauchen Sie diesen Befehl nicht für jede Option einzeln aufzurufen: Der Parameter --recursive-unset setzt ganze Schlüsselhierarchien zurück auf die Standardeinstellung. So ändert

gconftool-2 --recursive-unset /apps/nautilus

alle Einstellungen für den Dateimanager zurück in die Default-Werte. Mit

gconftool-2 --recursive-unset /desktop

geht das auch für die Desktop-Eigenschaften. Danach sind Ihre Einstellungen allerdings wirklich weg – vor einer solchen Aktion sollten Sie sich das Verzeichnis /home/benutzername/.gconf sicherheitshalber irgendwohin kopieren, so dass Sie es zur Not wiederherstellen können.

Tabelle 2: Aufrufparameter für gconftool-2

Option Argument Wirkung
-s Schlüsselname Wert Setzt einen Wert; muss zusammen mit -t aufgerufen werden.
-g Schlüsselname Fragt einen Wert ab.
-u Schlüsselname Setzt einen Eintrag zurück.
--recursive-unset Schlüssel Setzt alle Einträge unterhalb dieses Schlüssels zurück.
-a Schlüssel Gibt alle Schlüssel-Wert-Paare unterhalb dieses Schlüssels aus.
--all-dirs Schlüssel Listet alle Ordner unterhalb des Schlüssels auf.
-R Schlüssel Zeigt eine rekursive Liste aller Ordner und Einträge unterhalb des Schlüssels an.
-t Typ Legt den Datentyp des zu ändernden Werts – int, string, bool, float, list oder pair (Paar) – fest.
-T Schlüsselname Fragt den Datentyp eines Werts ab.
--short-docs, --long-docs Schlüsselname Gibt die kurze oder die ausführliche Dokumentation zu einer Option aus.
--config-source Konfigurationsdatenbank Legt die Konfigurationsdatenbank fest, auf die sich eine Abfrage oder Änderung bezieht. Normale Benutzer dürfen auf die systemweite Konfiguration nur lesend zugreifen.
--direct   Ändert die Datenbank unter Umgehung des Servers. Nötig, um eine andere als die private Konfiguration unter ~/.gconf anzupassen; während der Änderung darf gconfd nicht laufen.

An der kurzen Leine

Die bislang nicht benutzten Aufrufparameter --config-source und --direct erleichtern die Arbeit von Systemadministratoren. Mit ihnen bearbeiten Sie die systemweite Konfigurationsdatenbank im Verzeichnis /etc/gconf/gconf.xml.defaults/. Das ist z. B. dann sinnvoll, wenn Sie KDE als Arbeitsumgebung verwenden und verhindern wollen, dass ein Nautilus-Start den Desktop Ihrer nichtsahnenden Benutzer zerstört.

Ändern Sie die Standarddatenbank, darf zur gleichen Zeit der gconfd nicht laufen, da Sie die XML-Dateien direkt unter Umgehung des Servers bearbeiten. Beenden Sie alle Gnome-Anwendungen, und kontrollieren Sie mit top oder ps -e | grep gconfd, dass der Server nicht läuft. Bis er sich wirklich beendet, kann es schon einmal eine Minute dauern.

Setzen Sie nun die neue systemweite Einstellung:

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults/ -t bool -s /apps/nautilus/preferences/show_desktop false

Die Angabe xml:readwrite: vor dem Konfigurationsverzeichnis sagt gconftool-2, dass es die XML-Datenbank im Schreib-Lese-Modus öffnen soll. Ginge es um die Abfrage des Werts, reichte

gconftool-2 --direct --config-source xml:readonly:/etc/gconf/gconf.xml.defaults/ -g /apps/nautilus/preferences/show_desktop

…, ein Befehl, den auch normale Nutzer aufrufen dürfen. Unter Suse Linux 9 heißt der Pfad zur Konfigurationsdatenbank /etc/opt/gnome/gconf/gconf.xml.defaults; alle, die Suse Linux 8.2 verwenden, ersetzen gnome durch gnome2.

Alles, was Sie in den Voreinstellungen konfigurieren, dürfen normale Benutzer in der Datenbank in ihrem home-Verzeichnis ändern. Wünschen Sie das bei einer bestimmten Option nicht, etwa weil das Verstellen der Defaults immer wieder zu Support-Anfragen führt, existiert dafür ebenfalls ein Weg. Die dritte Datenbank /etc/gconf/gconf.xml.mandatory/ nimmt verbindliche Werte auf, die ein Benutzer auch in seinen persönlichen Einstellungen nicht ändern kann.

Benutzen Sie Gnome als Standard-Desktop, und wollen Sie verhindern, dass Ihre Benutzer die Hintergrund-Funktion von Nautilus deaktivieren, geht das mit

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory/ -t bool -s /apps/nautilus/preferences/show_desktop true

Im GConf-Editor steht zwar noch die passende Option, ändern können normale Benutzer sie nicht mehr. Mehrfaches Klicken auf die Checkbox führt unter Gnome 2.2 reproduzierbar zum Absturz des Konfigurationstools.

Bei Optionen, die in den Applikationsmenüs stehen, gelten die Beschränkungen nur dann, wenn der Benutzer den Wert noch nicht geändert hat – gegebenenfalls setzen Sie die Benutzereinstellung vorher mit dem Parameter -u zurück. Dann deaktivieren Sie z. B. die Möglichkeit, einen echten Löschbefehl ins Nautilus-Kontextmenü einzubinden, mit

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory/ -t bool -s /apps/nautilus/preferences/enable_delete false

Anwender, die versuchen, das Feature zu aktivieren, erhalten eine Fehlermeldung (Abbildung 8).

Wer jetzt neugierig geworden ist, findet weitere Beispiele und eine vollständige Referenz zum Gnome-Konfigurationssystem in der Hilfe des Desktops im Abschnitt DesktopSystem Administration GuideUsing GConf.

Abbildung 8

Abbildung 8: Das Löschen ohne Mülleimer ist verboten.

Glossar

Metapaket

Ein RPM-Paket, das keine Dateien enthält, sondern nur Abhängigkeiten zu anderen Paketen. So landen durch Auswahl eines einzigen Pakets alle Programme auf der Festplatte, die z. B. einen funktionsfähigen Gnome-Desktop ausmachen. Das Prinzip lässt sich mit tasksel unter Debian vergleichen.

XML

Die "EXtended Markup Language" (erweiterte Auszeichnungssprache), von der Syntax her HTML ähnlich, bietet weit darüber hinausgehende Funktionen. Man kann nicht nur die Struktur und Formatierung eines Dokuments beschreiben, sondern auch semantische Tags verwenden, zum Beispiel <Wohnort>Butzbach</Wohnort>. Die Beschreibung, die das Tag zum eingeschlossenen Element liefert, werten Programme aus, die das Dokumentformat verstehen.

UTF-8

Zeichensatzkodierung, die die meisten auf der Welt verwendeten Alphabete umfasst. Anwendungen, die diese Unicode-Kodierung beherrschen, stellen kyrillische, asiatische und Texte mit deutschen Umlauten dar, ohne dass der Benutzer einen alphabetspezifischen Zeichensatz explizit angeben muss. Damit solche Applikationen UTF-8-kodierte Texte anzeigen, benötigt man lediglich eine passende Schrift.

Splash-Screen

Begrüßungsbildschirm, den eine Anwendung beim Start einblendet. Meistens enthält er ein Logo und Versionsinformationen. Abgesehen von Gnome bringen auch KDE, Quanta, OpenOffice und die Nvidia-Treiber einen Splash-Screen mit.

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare