Konfiguration des X-Servers - xorg.conf |
Die zentrale Konfigurations-Datei für den X-Server ist die Datei xorg.conf, welche normalerweise im Verzeichnis /etc/X11/ liegt. Hier werden sämtliche Hardware-Informationen die für den Betrieb der grafischen Oberfläche nötig sind konfiguriert, wie z.B. das Tastatur-Layout, die Maus, die Grafikkarte und der verwendete Monitor. Heutige Distributionen können eine minimale xorg.conf-Datei besitzen, da der X-Server versucht, sämtliche Geräte vollautomatisch zu erkennen und einzurichten. Sollten jedoch einige Dinge fehlen oder falsch konfiguriert sein, kann man diese in der minimalen xorg.conf nachtragen. Die xorg.conf ist in einzelne Abschnitte aufgeteilt, welche mit dem Schlüsselwort Section eingeleitet und mit EndSection wieder abgeschlossen werden. Die einzelnen Sektionen erkläre ich hier im Detail: Section "Files"
RgbPath "/usr/share/X11/rgb"
EndSection
Module Path "/usr/lib/xorg/modules" FontPath "/usr/share/fonts/X11/misc:unscaled" ... Der Files-Abschnitt definiert
Pfadangaben für i.d. Regel 3 Verschiedene Parameter:
Load "dbe"
EndSection
Load "dri" Load "glx" .... Der Module-Abschnitt gibt an, welche grafikkartenunabhängigen X-Server-Module geladen werden sollen, etwa zur Unterstützung bestimmter Schriftformate oder für besondere Eigenschaften wie direkte Videodarstellung (Direct Rendering). Section "ServerFlags"
Option "AllowMouseOpenFail"
EndSection
Option "BlankTime" "0" Option "StandbyTime" "0" Option "SuspendTime" "0" Option "OffTime" "0" Der ServerFlags-Abschnitt
beeinflusst das Verhalten des X-Servers. In diesem Beispiel erlaubt
die Option "AllowMouseOpenFail" den Start des X-Server
auch dann, wenn keine Maus initialisiert werden kann.
Identifier "Generic Keyboard"
EndSectionDriver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "de" Option "XkbVariant" "nodeadkeys" Section "InputDevice"
Identifier "Configured Mouse"
EndSectionDriver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "Emulate3Buttons" "true" Section "InputDevice"
Identifier "Synaptics Touchpad"
EndSection
Driver "synaptics" Option "SHMConfig" "On" Option "TapButton1" "0" Option "TapButton2" "0" Option "TapButton3" "0" Der InputDevice-Abschnitt
konfiguriert jeweils ein Eingabegerät wie Maus oder Tastatur
und kann mehrmals vorkommen. Das dritte Eingabegerät
hier ist das Touchpad eines Laptops, welches mit der Option "SHMConfig"
"On" konfiguriert wird. Diese Option ermöglicht
es, das Touchpad während des laufenden Betriebs an- und abzuschalten.
Dazu gibt man auf der Konsole den Befehl Zu diesem Abschnitt und speziell zu der Bezeichnung "CoreKeyboard" möchte ich noch folgendes anmerken: Bei mehreren Tastaturen definiert die Bezeichnung "CoreKeyboard" diese Tastatur als Haupt-Eingabe-Gerät. Ich weiß nicht, ob es sich dabei um einen Bug handelt oder nicht, aber unter Debian lenny führt der Zusatz CoreKeyboard dazu, daß bei einem Wechsel von einer der Konsolen (F1-F6) mittels ALT-STRG-F7 auf die grafische Oberfläche, die zuletzt gedrückte Taste, also F7 im Puffer verbleibt und auf das gerade aktive Programm angewendet wird. Was bei einem X-Term-Fenster zu einer Tilde (~) führt und bei geöffnetem Iceweasel (Firefox) zum Dialog-Fenster für das Caret Browsing. Um dieses Verhalten zu unterbinden, läßt man einfach die Bezeichnung CoreKeyboard weg oder deaktiviert den Eintrag mit einer Raute (#). Aber mal ehrlich, wer hat denn schon zwei oder mehr Keyboards an seinem PC hängen? Section "Monitor"
Identifier "Monitor0"
EndSection
HorizSync 30-69 VertRefresh 54-80 Option "DPMS" "true" UseModes "Modus1" Der Monitor-Abschnitt beschreibt die Eigenschaften des verwendeten Monitors. Auch dieser Abschnitt kann mehrmals auftreten, falls man mehrere Monitore besitzt und muß einen Identifier haben, mit dem er im ServerLayout-Abschnitt aufgerufen wird. Die horizontalen und vertikalen Frequenzen können der Dokumentation des Monitors entnommen werden. Die Zeile UseModes ist optional und verwaist auf den optionalen Abschnitt Section "Modes", in welcher die Einstellungen zur Grafik anhand von sogenannten "Modelines" sehr genau definiert werden können. Jedoch muß man dafür seine Grafikhardware genau kennen (für die Anleitung wie man eine solche Modeline generiert, siehe nächstes Kapitel). Ein Beispiel: Section "Modes"
Identifier "Modus1"
EndSectionModeline "800x600" 48.67 800 816 928 1072... Section "Device"
Identifier "Card0"
EndSection
Driver "nv" BusID "PCI:1:0:0" Der Device-Abschnitt
legt fest, welche Grafikkarte für den X-Server verwendet werden
soll. Auch diese Sektion kann bei mehreren Grafikkarten mehrmals
auftreten.
Identifier "Screen0"
EndSection
Device "Card0" Monitor "Monitor0" DefaultColorDepth 16 SubSection "Display"
Depth 16
EndSubSectionModes "1024x768" "800x600" "640x480" SubSection "Display"
Depth 24
EndSubSection
Modes "1024x768" "800x600" "640x480" Der Screen-Abschnitt
verknüpft jeweils einen Monitor und eine Grafikkarte. Die Unterabschnitte
namens Display legen verschiedene Kombinationen aus Farbtiefe
und Auflösung fest, zwischen denen im laufenden System mit
STRG+ALT+plus, bzw. STRG+ALT+minus hin-
und hergeschaltet werden kann.
Identifier "Default
Screen"
EndSection
Screen "Screen0" InputDevice "Generic Keyboard" "CoreKeyboard" InputDevice "Configured Mouse" "CorePointer" InputDevice "Synaptics Touchpad" Der ServerLayout-Abschnitt
verbindet schließlich die zu verwendenden Eingabegeräte
(InputDevice) und Ausgabegeräte (Screen) miteinander.
In Mehrschirmkonfigurationen wird hier auch die physikalische Anordnung
der Bildschirme beschrieben (siehe Dual-Head xorg.conf für
matrox g550). Optional kommt auch sehr häufig dieser Eintrag vor: Section "DRI"
Mode 0666
EndSection
Der DRI-Abschnitt ist auf das Modul dri angewiesen und beschreibt das Direct-Rendering. Hier noch ein paar xorg.conf-Beispiel-Dateien: minimale xorg.conf nach einer Debian Installation Dual-Head xorg.conf für matrox g550 Standard xorg.conf mit Synaptics Touchpad
TV-Out aktivieren für NVidia-Grafikkarten im Clone-Modus Um den TV-Ausgang einer NVidia-Grafikkarte im Clone-Modus zu aktivieren, genügen ein paar zusätzliche Einträge in der "Device-Section": Section "Device"
Identifier "Card0"
EndSection
Driver "nv" BusID "PCI:1:0:0" Option "TwinView" Option "TwinViewOrientation" "Clone" # Option "MetaModes" "CRT-0: 1024x768, TV-0: 800x600" # Option "HorizSync" "CRT-0: 30-81; TV-0: 30-50" # Option "VertRefresh" "CRT-0: 56-76; TV-0: 60" Option "ConnectedMonitor" "CRT, TV" Option "TVStandard" "PAL-B" Option "TVOutFormat" "SVIDEO" Option "TVOverScan" "0.7" TwinView und TwinViewOrientation
mit der Option Clone schalten den Clone-Modus überhaupt
ein. MetaModes, HorizSync und VertRefresh dienen
der näheren Bestimmung der Auflösung und Frequenzen der
angeschlossenen Monitore, bzw. TV-Geräte und können auch
weggelassen werden. In diesem Fall versucht die Grafikkarte die
angeschlossenen Geräte zu erkennen und automatisch die korrekten
Frequenzen zuzuordnen. Wichtig sind die korrekten Bezeichnungen
für die Geräte: Option "TwinView" Weiter ist zu beachten, daß wenn die Auflösung des TV-Geräts geringer ist als die Auflösung des Monitors, nur ein Ausschnitt des Bildschirms auf dem TV-Gerät erfolgt. Jedoch ist dieser Ausschnitt sehr gut beeinflußbar. Man kann einen Wert zum verschieben aus der linken oberen Ecke eingeben: Option "MetaModes" "DFP-0: 1280x1024, TV-0: 800x600 +50+100" +50+100 bedeutet, daß der Ausschnitt um 50 Pixel nach rechts und 100 Pixel nach unten geschoben wird. Noch interessanter ist das sogenannte "Panning" bei dem der Ausschnitt automatisch verschoben wird, sobald die Maus den Rand berührt. Diese Funktion wird mittels dem @-Zeichen angegeben: Option "MetaModes" "DFP-0: 1280x1024, TV-0: 800x600 @1280x1024" Hier die xorg.conf zum runterladen:
Log-Datei des X-Servers Sollte der X-Server Probleme
machen und -aus welchen Gründen auch immer- den Start verweigern,
hilft ein Blick in die Log-Datei des X-Servers, die normalerweise
bei jedem X-Server-Start angelegt wird. Zu finden ist diese unter Sollte sie nicht angelegt
werden, kann man einen X-Server-Start mit folgendem Befehl initiieren: |
Zurück zur Auswahl |