22.5 /etc/X11/xorg.conf
Betrachten wir nun die Konfigurationsdatei xorg.conf etwas näher. Bei älteren Versionen des X-Window-Systems (bspw. unter NetBSD) heißt diese Datei noch XF86Config. In beiden Fällen finden Sie sie im Verzeichnis /etc/X11.
Die Datei ist in verschiedene Sektionen (Sections) aufgeteilt, die wir einzeln besprechen werden. Sektionen beginnen mit dem Schlüsselwort Section, gefolgt vom jeweiligen Namen. Abgeschlossen wird sie durch das Schlüsselwort EndSection. Untergeordnete Sektionen (SubSections) werden mit dem Schlüsselwort SubSection eingeleitet und mit EndSubSection abgeschlossen.
[»]Wie in der Shell, so werden auch in dieser Datei Kommentare durch eine Raute (#) eingeleitet
und reichen bis zum Ende einer Zeile. Wenn ein Schlüsselwort oder eine Sektion fehlt
oder auskommentiert ist, wird X versuchen den Wert automatisch zu ermitteln oder andernfalls
auf einen Default-Wert zurückgreifen.
22.5.1 Sektion »Module«
Das X-Window-System bietet die Möglichkeit, während des Startvorgangs Module dynamisch zu laden. Module sind dabei Erweiterungen der eigentlichen Grundsoftware, die nur bedingt Verwendung finden. Der Vorteil dieser Implementierung besteht darin, dass kein überflüssiger Erweiterungscode ausgeführt werden muss, den man nicht braucht bzw. benutzen will, man aber trotzdem auf keine Features verzichten muss. Zudem spart diese Modularität etwas Speicher, was aber nur historisch gesehen relevante Vorteile hatte. Module können durch SubSection-Optionen konfiguriert werden.
Die Funktion einzelner Module erfahren Sie in der X.Org-Dokumentation – in der Regel müssen Sie in dieser Sektion keine Änderungen vornehmen. Die einzige öfters auftretende Ausnahmesituation ist die, dass das Modul glx nicht geladen wird. Das Modul sorgt für die OpenGL-Unterstützung in X11. Viele Programme, etwa einige Extensions des MP3-Players XMMS, machen von OpenGL Gebrauch.
Listing 22.7 Module-Sektion
Section "Module"
Load "dbe" # Double buffer extension
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
# This loads the font modules
Load "type1"
# Load "speedo"
Load "freetype"
# Load "xtt"
Load "glx" # This loads the GLX module
# Load "dri" # This loads the DRI module
EndSection
22.5.2 Sektion »Files«
In der Files-Sektion geht es darum, bestimmte Pfade mitzuteilen, in denen sich zum Beispiel Module, eine Farbdatenbank oder Schriftarten befinden. Normalerweise sind in dieser Sektion keine Veränderungen notwendig.
Listing 22.8 Typische Files-Sektion
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/local/"
# FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
# FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"
# FontPath "/usr/X11R6/lib/X11/fonts/freefont/"
# ModulePath "/usr/X11R6/lib/modules"
EndSection
22.5.3 Sektion »ServerFlags«
In dieser Sektion wird das Verhalten der Oberfläche konfiguriert. Die jeweiligen Kommentare über den Optionen sowie die xorg.conf-Manpage verraten Ihnen, welche Funktion die einzelnen Optionen haben und welche zur Wahl stehen. Im Normalfall verändert man an dieser Sektion ebenfalls nichts.
22.5.4 Sektion »InputDevice«
Die InputDevice-Sektion behandelt die Eingabegeräte Maus und Tastatur. Für jedes Gerät muss eine einzelne »InputSection« definiert werden. Es können übrigens mehrere Tastaturen und Mäuse gleichzeitig konfiguriert werden.
[»]Als InputDevice können beispielsweise auch Spaceballs oder Touchscreens konfiguriert werden. Unter X11 müssen Sie also keineswegs auf etwas verzichten. In Anhang anhg_x11input finden Sie einen Abdruck der vorkonfigurierten »InputDevice«-Sektionen für beide Hardwarekomponenten.
Tastatur
In der Keyboard-Sektion wird die zu verwendende Tastatur konfiguriert. Den Treiber, den man für die Tastatur verwenden möchte (dieser ist auch für die Tastenbelegung zuständig), kann man über Driver angeben. In der Regel bedarf es aber auch hier wieder keiner Änderung. Viel interessanter ist da schon die Auswahl der Tastatur. Wenn man beispielsweise doch 105 (Option "XkbModel" "pc105") statt der geratenen 102 Tasten hat, kann man dies hier ändern. Außerdem lässt sich die eben erwähnte Tastenbelegung über die Option XgbLayout angeben. Für eine amerikanische Tastaturcodierung muss beispielsweise us, für die deutsche natürlich de angegeben werden.
Listing 22.9 Typische »InputDevice«-Sektion
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
EndSection
Maus
Es folgt die InputDevice-Sektion für die Maus. Zu beachten sind die Parameter wie der Treiber (Driver), das Protokoll (Protocol) und die Schnittstelle (Device) der Maus.
Dritte Maustaste emulieren
Für die bereits bei der Konfiguration angesprochene Emulation der dritten Maustaste kann die Option Emulate3Buttons aktiviert werden. Dazu wird ein gleichzeitiges Drücken der beiden Maustasten als ein Klick mit der dritten Maustaste interpretiert. Der Zeitraum, der zwischen den beiden Tastenklicks vergehen darf, um sie noch als Klick der dritten Maustaste zu interpretieren, wird mit Emulate3Timeout angegeben.
Mausrad
Die Benutzung eines Mausrades wird durch ZAxisMapping aktiviert.
Listing 22.10 InputDevice-Section
Section "InputDevice"
# Identifier and driver
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
# Option "Emulate3Buttons"
# Option "Emulate3Timeout" "50"
Option "ZAxisMapping" "4 5"
EndSection
22.5.5 Section »Monitor«
Nun geht es an die Konfiguration des Monitors bzw. der Monitore. Später werden wir noch darauf zu sprechen kommen, X11 mit mehreren Monitoren gleichzeitig zu betreiben. Betrachten wir aber zunächst die Konfiguration des primären Monitors.
Angegeben werden hier lediglich der bereits erwähnte Identifier und die beiden Werte für die Horizontal- und Vertikalfrequenz des Monitors (HorizSync und VertRefresh). Die Angaben werden dabei generell in der Einheit (k)Hz interpretiert.
Listing 22.11 Monitor-Section
Section "Monitor"
Identifier "My Monitor"
HorizSync 31.5 – 82.0 # kHz
VertRefresh 50-90 # Hz
EndSection
22.5.6 Section »Device«
Nun folgt die Konfiguration der Grafikkarte. Sind mehrere Monitore vorhanden, so braucht man für diese oft mehrere Grafikkarten. Daher erlaubt Ihnen X11, auch mehrere Grafikkarten (jeweils repräsentiert durch eine Device-Section) zu konfigurieren.
Listing 22.12 VGA-Karte
Section "Device"
Identifier "Standard VGA"
Driver "vesa"
BusID "PCI:1:0:0"
EndSection
Die Bezeichnungen der einzelnen Attribute sprechen für sich. Der vesa-Treiber ist ein Kompatibilitätstreiber, der mit den meisten Grafikkarten funktionieren sollte. Der dann dargestellte Modus wird aber in Punkto Auflösung und Farbtiefe den heutigen Ansprüchen in der Regel micht mehr gerecht. In der Regel sollte man den zum Chipsatz passenden Treiber direkt auswählen, um ansprechende Ergebnisse zu erzielen:
Listing 22.13 Eine weitere Grafikkarte
Section "Device"
Identifier "Card0"
Driver "radeon"
BusID "PCI:1:0:0"
EndSection
[»]Sollten Sie mit VMware arbeiten, kann übrigens dessen eigener SVGA-Treiber verwendet
werden, den Sie ebenfalls in der Grafikkartenauswahl während des Setups im Listing
finden. Sie können aber auch einfach als Treiber vmware angeben und gegebenenfalls einen Blick in die zugehörige Manpage werfen.
22.5.7 Sektion »Screen«
In der vorletzten Sektion, »Screen«, wird die Bildschirmanzeige konfiguriert und einer Grafikkarte (Device) sowie einem Monitor (Monitor) zugeordnet.
Es gibt verschiedene Konfigurationen für eine Bildschirmanzeige. Diese sind von der Farbtiefe abhängig – in der Regel sind das die Werte 8, 16 und 24. Die standardmäßig beim Start zu verwendende Farbtiefe wird über DefaultDepth angegeben.
Für jede Farbtiefe gibt es wiederum eine Display-Subsection. In dieser wird primär festgelegt, welche Auflösungen verwendet werden sollen; die Standardauflösung sollte dabei zuerst aufgelistet sein.
Die folgende Grafikkarte wird also nach dem Start, wenn alles glattgeht, mit einer Farbtiefe von 24 Bits und einer Auflösung von 1280 x 1024 Pixel initialisiert.
Listing 22.14 Screen-Sektion
Section "Screen"
Identifier "Screen 1"
Device "Card0"
Monitor "My Monitor"
DefaultDepth 24
Subsection "Display"
Depth 8
Modes "1280x1024" "1024x768"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1280x1024" "1024x768"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1280x1024"
ViewPort 0 0
EndSubsection
EndSection
22.5.8 Sektion »ServerLayout«
Die ServerLayout-Sektion hat die Aufgabe, alle Eingabe- und Ausgabedefinitionen zusammenzubinden, damit X11 letztlich auch weiß, welche Grafikkarte, welche Maus, welcher Monitor, welche Bildschirmanzeige und welche Tastatur überhaupt verwendet werden sollen.
Listing 22.15 Eine typische ServerLayout-Sektion
Section "ServerLayout"
Identifier "Simple Layout"
Screen "Screen 1"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
Wie Sie sehen, werden hier einfach die oben angegebenen Identifier verwendet.
22.5.9 Optionale Sektionen
Es stehen noch einige weitere Sektionen zur Verfügung, die bei Bedarf verwendet werden können. Dazu zählt beispielsweise die DRI-Sektion, die zusätzliche Informationen für die »direkte Rendering-Infrastruktur« liefert, oder die Vendor-Sektion, die zusätzliche herstellerspezifische Informationen bereitstellt.
... und dann gibt es noch die sogenannte VideoAdaptor-Sektion, bei der wir einfach einmal die xorg.conf-Manpage von OpenBSD zitieren:
Listing 22.16 VideoAdaptor-Sektion
VIDEOADAPTOR SECTION
Nobody wants to say how this works. Maybe
nobody knows ...
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.