Autoren:

swift
Autor

nightmorph
Autor

Hannes Jochriem
Übersetzer

Tobias Scherbaum
Übersetzer

Jan Hendrik Grahl
Korrektor

Ekki Plicht
Übersetzer

Tobias Heinlein
Übersetzer
2010-05-23, Rev. 1.29

Das X-Server Konfigurations HOWTO

Xorg ist der X-Window-Server, der es einem Benutzer ermöglicht, eine grafische Benutzeroberfläche zu verwenden. Dieses HOWTO erklärt, was Xorg ist, wie man es installiert, und was für Konfigurationen es bietet.

Das X-Server Konfigurations HOWTO

1. Was ist der X-Window-Server?

1.1 Grafik gegen Texteingabe

Jeder normale Anwender hat wahrscheinlich Angst, wenn er daran denkt Befehle eintippen zu müssen. Warum ist es nicht möglich sich durch die von Gentoo (und Linux allgemein) zur Verfügung gestellte Freiheit einfach mit der Maus durchzuklicken? Ok, natürlich ist dies möglich! Linux bietet uns dazu eine große Palette an Benutzeroberflächen und -umgebungen, die man auf dem bereits bestehenden System installieren kann.

Die größte Überraschung, die Sie dabei erleben ist die, dass eine grafische Benutzeroberfläche lediglich ein Programm ist, das auf Ihrem System läuft. Es ist kein Teil des Linux-Kernels oder des Systems. Es ist ein kraftvolles Tool, welches die grafischen Fähigkeiten von Ihrem Computer aktiviert.

Da Standards wichtig sind, wurde ein Standard zur Erstellung und Bewegung von Fenstern am Bildschirm, kommunizieren mit dem Benutzer über Maus und Tastatur und anderen grundlegend wichtigen Dingen erschaffen. Benannt wurde dieser dann X Window System, kurz X11 oder nur X. Verwendet wird er auf Unix, Linux und Unix-ähnlichen Betriebssystemen auf der ganzen Welt.

Ein Programm, welches dem Benutzer ermöglicht, grafische Benutzeroberflächen zu starten und den X11 Standard verwendet ist Xorg-X11, eine Abspaltung vom XFree86-Projekt. XFree86 hat entschlossen, eine Lizenz zu verwenden, die nicht kompatibel mit der GPL ist; die Verwendung von Xorg ist daher empfehlenswert. Der offizielle Portage Baum stellt nunmehr keine XFree86 Pakete bereit.

1.2 Das X.org Projekt

Das X.org Projekt macht und wartet eine frei kopierbare open-source Implementation des X11-Systems. Es ist eine Open Source X11 basierende Desktop Infrastruktur.

Xorg unterstützt die Schnittstelle zwischen Hardware und der grafischen Software, die Sie starten wollen. Nebenbei hat Xorg auch noch volle Netzwerkunterstützung, was bedeutet, dass Programme auf einem Rechner laufen und auf einem anderen angezeigt werden können.

2. Installation von Xorg

2.1 Kernelkonfiguration

Standardmäßig verwendet Xorg evdev, einen generischen Input-Treiber. Sie müssen Unterstützung für evdev aktivieren, indem Sie eine Änderung an Ihrer Kernelkonfiguration vornehmen. (Lesen Sie den Kernelkonfigurationsleitfaden falls Sie nicht wissen, wie Sie einen Kernel aufstezen.)

Befehlsauflistung  1.1: Aktivieren von evdev im Kernel
Device Drivers --->
  Input device support --->
  <*>  Event interface

2.2 Konfiguration der make.conf

Bevor Sie Xorg installieren müssen Sie zwei wichtige Variablen in der Datei /etc/make.conf einstellen.

Die erste Variable ist VIDEO_CARDS. Dieser Wert wird verwendet um den Videotreiber festzulegen den Sie verwenden wollen und richtet sich in der Regel nach dem Hersteller und dem Typ Ihrer Videokarte. Die gängigsten Einstellungen sind nvidia für Nvidia-Karten und fglrx für ATI Radeon Karten. Diese Namen stehen für die proprietären Treiber von Nvidia bzw. von ATI. Falls Sie lieber den Opensource-nVidia-Treiber verwenden möchten, wählen Sie nv anstatt nvidia, bedenken Sie aber bitte, dass bei diesem Treiber keine 3D-Beschleunigung möglich ist. Die freien radeon und radeonhd Treiber sind für ATI-Karten verfügbar und entsprechen mehr oder weniger dem proprietären fglrx Treiber. Der intel Treiber kann für Desktops und Laptops mit bekannten Intel integrierten Grafikchipsätzen verwendet werden. Die Variable VIDEO_CARDS kann auch mehr als einen Treiber beinhalten, in diesem Fall können mehrere Werte mit Leerzeichen getrennt angegeben werden.

Die zweite Variable ist INPUT_DEVICES und wird verwendet, um festzulegen, welche Treiber für die Eingabegeräte erstellt werden sollen. In den meisten Fällen reicht es aus, hier evdev anzugeben. Falls Sie alternative Eingabegeräte verwenden, z.B. ein Synaptics-Touchpad für ein Laptop, stellen Sie sicher, diese auch zu INPUT_DEVICES hinzuzufügen.

Nun müssen Sie sich also entscheiden, welche Treiber Sie verwenden möchten und die entsprechenden Einstellungen dann in /etc/make.conf vornehmen:

Befehlsauflistung  2.2: Beispiel für Einträge in make.conf
(Für Maus-, Tastatur- und Synaptics-Touchpad-Unterstützung)
INPUT_DEVICES="evdev synaptics"
(Für NVidia-Karten)
VIDEO_CARDS="nvidia"
(ODER für ATI Radeon Karten)
VIDEO_CARDS="radeon"
Notiz
Mehr Anweisungen und Informationen zur Konfiguration von nVidia und ATI-Grafikkarten gibt es im Gentoo Linux nVidia Guide und in den Gentoo Linux ATI FAQ. Falls Sie nicht wissen, welchen Treiber Sie verwenden sollten, lesen Sie bitte in diesen Anleitungen nach.

Falls die oben vorgeschlagenen Einstellungen für Sie nicht zutreffen, dann starten Sie emerge -pv xorg-server, gucken Sie sich die angebotenen Optionen an und wählen die aus, die für Ihr System zutreffen. Das folgende Beispiel ist für ein System mit Tastatur, Maus, Synaptics Touchpad und einer Radeon-Grafikkarte.

Befehlsauflistung  2.3: Anzeige aller vorhandenen Treiberoptionen
# emerge -pv xorg-server

These are the packages that would be merged, in order:

Calculating dependencies... done!
+[ebuild   R   ] x11-base/xorg-server-1.6.3.901-r2  USE="hal nptl xorg -debug
+-dmx -ipv6 -kdrive -minimal -sdl -tslib" 0 kB
+[ebuild   R   ]  x11-base/xorg-drivers-1.6  INPUT_DEVICES="evdev synaptics
+-acecad -aiptek -citron -elographics -fpit -hyperpen -joystick -keyboard -mouse
+-mutouch -penmount -tslib -virtualbox -vmmouse -void -wacom"
+VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
+(-geode) -glint -i128 (-i740) (-impact) (-imstt) -intel -mach64 -mga -neomagic
+(-newport) -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage
+-siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb)
+(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l (-vermilion) -vesa -via
+-virtualbox -vmware (-voodoo) (-xgi)" 0 kB

Nachdem Sie die nötigen Variablen richtig gesetzt haben, können Sie nun das Xorg-Paket installieren.

Befehlsauflistung  2.4: Installation von Xorg
# emerge xorg-server
Notiz
Sie können anstelle des leichtgewichtigen Pakets xorg-server auch das Metapaket xorg-x11 installieren. xorg-x11 und xorg-server haben die gleiche Funktionalität, jedoch bringt xorg-x11 viele weitere Pakete mit sich, die Sie wahrscheinlich nicht benötigen, z.B. ein großes Sortiment bestehend aus Schriftarten in verschiedensten Sprachen. Diese sind für einen funktionierenden Desktop nicht erforderlich.

Wenn die Installation fertig ist, müssen Sie ein paar Umgebungsvariablen reinitialisieren. Dies geht mit folgenden zwei Befehlen ganz einfach: env-update und dann source /etc/profile.

Befehlsauflistung  2.5: Reinitialisierung der Umgebungsvariablen
# env-update
# source /etc/profile

Nun ist es an der Zeit, den Hardware Abstraction Layer (HAL) Daemon zu starten und ihn so einzurichten, dass er bei jedem Boot automatisch startet. Dies ist erforderlich, um eine funktionierende X-Umgebung zu erhalten, ansonsten würden Ihre Eingabegeräte nicht erkannt und Sie würden wahrscheinlich nur einen schwarzen Bildschirm erhalten. Wir gehen auf HAL im nächsten Abschnitt genauer ein.

Befehlsauflistung  2.6: Starten von HAL
# /etc/init.d/hald start
# rc-update add hald default

3. Konfiguration von Xorg

3.1 Verwenden von HAL

Neuere X-Server-Versionen sollten direkt ohne weitere Anpassungen funktionieren, ohne dass Xorgs Konfigurationsdateien manuell editiert werden müssen.

Sie sollten zuerst versuchen X zu starten ohne die /etc/X11/xorg.conf zu erstellen.

Falls Xorg nicht startet (wenn etwas mit Ihrem Bildschirm nicht in Ordnung ist oder Tastatur/Maus nicht funktionieren), dann können Sie versuchen, die Probleme zu beheben, indem Sie die richtigen Konfigurationsdateien verwenden.

Standardmäßig verwendet Xorg HAL (Hardware Abstraction Layer), um Geräte wie Tastaturen und Mäuse zu erkennen und zu konfigurieren.

HAL kommt mit vielen voreingestellten Geräteregeln, auch genannt Policies. Diese Policy-Dateien sind unter /usr/share/hal/fdi/policy/ verfügbar. Suchen Sie einfach welche, die Ihren Wünschen am ehesten entsprechen und kopieren Sie sie nach /etc/hald/fdi/policy/.

Wichtig
Editieren Sie die Dateien nicht unter /usr/share/hal/fdi/! Kopieren Sie einfach die, die Sie benötigen, und editieren Sie sie dann unter /etc.

Um eine grundlegende funktionierende Tastatur/Maus-Kombination zu erhalten, könnten Sie beispielsweise die folgenden Dateien nach /etc/hald/fdi/policy/ kopieren:

Befehlsauflistung  1.1: Verwenden der HAL-Policy-Files
# cp /usr/share/hal/fdi/policy/10osvendor/10-input-policy.fdi /etc/hal/fdi/policy
# cp /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi /etc/hal/fdi/policy

Es gibt viele weitere HAL-Policies unter /usr/share/hal/fdi/, die Sie interessieren könnten, wie z.B. Laptopkonfigurationen, Handhabung von Speichergeräten, Energieverwaltung, und weitere. Kopieren Sie einfach die entsprechenden Policies nach /etc/hal/fdi/policy/.

Wichtig
Denken Sie daran, dass Sie jedes Mal, wenn Sie die HAL-Policy-Files verändern, den HAL-Daemon neu starten müssen, indem Sie /etc/init.d/hald restart ausführen.

Sie können die Policy-Files unter /etc/hal/fdi/policy nach Ihren Wünschen bearbeiten. Sie können einfach nur kleinere Verbesserungen machen oder zusätzliche Funktionen aktivieren. Schauen wir uns ein Beispiel an, wie eine HAL-Policy angepasst wird.

Ein sehr hilfreicher Trick ist es, den X-Server durch Drücken von Strg-Alt-Backspace komplett zu killen. Dies ist nützlich, wenn Ihr X-Server nicht richtig funktioniert, einfriert, etc. Es ist nicht so extrem als würden Sie den ganzen Rechner mit Strg-Alt-Del neu starten.

Neuere X-Server-Versionen haben diese Tastenkombination standardmäßig deaktiviert. Sie können sie jedoch wieder aktivieren, indem Sie 10-x11-input.fdi nach /etc/hal/fdi/policy kopieren und bearbeiten. Sie müssen nur eine Zeile zum entsprechenden Abschnitt hinzufügen, wie unten gezeigt:

Befehlsauflistung  1.2: Bearbeiten der 10-x11-input.fdi
(Öffnen Sie die Datei in Ihrem bevorzugten Editor)
# nano -w /etc/hal/fdi/policy/10-x11-input.fdi
(Suchen Sie den Abschnitt "input.keys")
<match key="info.capabilities" contains="input.keys">
(Fügen Sie den "terminate" Merge-String wie gezeigt hinzu)
<match key="info.capabilities" contains="input.keys">
      <merge key="input.x11_driver" type="string">keyboard</merge>
      <merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev<merge>
      </match>
    </match>

Sobald dies erledigt ist, führen Sie /etc/init.d/hald restart aus, so dass HAL Ihre Änderungen aufgreift.

So, nun haben Sie einen handlichen Weg, einen X-Server, der nicht antwortet, zu killen. Dies ist nützlich, wenn Programme Ihren Bildschirm komplett eingefroren haben oder wenn Sie Ihre Xorg-Umgebung konfigurieren und anpassen. Seien Sie vorsichtig, wenn Sie Ihren Desktop mit dieser Tastenkombination killen -- die meisten Programme mögen es nicht so, wenn sie auf diese Weise beendet werden, und Sie könnten (teilweise) einen Datenverlust erleiden.

Hoffentlich genügt es, einfach mit den HAL-Policy-Files zu arbeiten, um einen funktionierenden X-Desktop zu erhalten. Falls Xorg immer noch nicht starten will oder es ein anderes Problem gibt, dann müssen Sie die xorg.conf manuell wie im nächsten Abschnitt gezeigt konfigurieren.

3.2 Die xorg.conf Datei

Notiz
Das Konfigurieren der xorg.conf sollte als "letzte Rettung" angesehen werden. Es wird wirklich empfohlen gar keine zu verwenden, sofern dies möglich ist, und die gesamte Konfiguration über HAL-Policy-Files vorzunehmen. Wenn Sie trotzdem keine funktionierende Konfiguration erzielen können, lesen Sie bitte weiter.

Die Konfigurationsdatei von Xorg heißt xorg.conf und befindet sich in /etc/X11. Xorg stellt ein Beispiel für eine solche Konfigurationsdatei bereit, nämlich /etc/X11/xorg.conf.example, welche Sie nutzen können, um Ihre eigene Konfiguration zu erstellen. Diese Datei enthält jede Menge Kommentare, und falls Ihnen diese nicht genügen, können Sie noch die Man-Seiten zu Rate ziehen:

Befehlsauflistung  2.3: Lesen der xorg.conf Man-Page
$ man 5 xorg.conf

3.3 Automatische Erzeugung von xorg.conf

Xorg ist dazu fähig, die meisten Einstellungen für Sie zu übernehmen. In den meisten Fällen wird es nur nötig sein, ein paar Zeilen zu ändern, um die Auflösung einzustellen. Wenn Sie etwas über Optimierung erfahren wollen, schauen Sie am Ende dieses Kapitels nach! Aber zuerst werden wir nun versuchen, eine (hoffentlich) lauffähige Xorg-Konfigurationsdatei zu generieren.

Befehlsauflistung  3.4: Generieren der xorg.conf Datei
# Xorg -configure

Vergessen Sie nicht, die letzten Zeilen, die Xorg auf den Bildschirm schreibt, zu lesen! Wenn irgendwo steht, dass etwas schief gegangen ist, müssen Sie die xorg.conf Datei wohl oder übel selbst schreiben. Für den Fall, dass es keine Fehler gab, wird bestätigt, dass die /root/xorg.conf.new Datei bereit zum Testen ist. Also tun wir das auch! :)

Befehlsauflistung  3.5: Testen der xorg.conf.new Datei
# X -retro -config /root/xorg.conf.new

Wenn alles geklappt hat, sollten Sie ein simples schwarzweiß Muster sehen. Stellen Sie sicher, dass Ihre Maus korrekt funktioniert und dass die Auflösung gut genug ist. Sie werden vielleicht nicht in der Lage sein, die exakte Auflösung zu erraten, aber es sollte Ihnen möglich sein, zu erkennen, ob sie zu niedrig ist. Sie können jederzeit beenden, indem Sie Strg-Alt-Backspace drücken.

3.4 Kopieren der xorg.conf Datei

Kopieren Sie nun die xorg.conf.new nach /etc/X11/xorg.conf, so dass Sie nicht immer X -config tippen müssen -- startx ist ein Stück leichter. :)

Befehlsauflistung  4.6: Kopieren der xorg.conf
# cp /root/xorg.conf.new /etc/X11/xorg.conf

3.5 Verwenden von startx

Versuchen Sie nun startx um damit den X-Server zu starten. startx ist ein Skript, welches eine X-Session ausführt. Das heißt, dass es den X Server und einige graphische Anwendungen darauf startet. Es entscheidet welche Anwendungen gestartet werden sollen mit folgender Logik:

  • Wenn eine Datei genannt .xinitrc im Home Verzeichnis existiert, dann wird es die dort aufgeführten Befehle ausführen.
  • Ansonsten wird es den Wert der XSESSION Variable auslesen und eine der verfügbaren Sitzungen in /etc/X11/Sessions/ entsprechend ausführen. Sie können den Wert von XSESSION in /etc/env.d/90xsession setzen, um es als einen Standard für alle Benutzer des Systems zu definieren. Beispielsweise führen Sie als root echo XSESSION="Xfce4" > /etc/env.d/90xsession aus. Dies erzeugt die Datei 90xsession und setzt die standardmäßige X-Sitzung auf Xfce4.
Befehlsauflistung  5.7: Starten von X
$ startx

Sie können die X-Sitzung mit der Strg-Alt-Backspace-Tastenkombination killen. Allerdings wird X dadurch abrupt beendet -- etwas, das nicht immer die richtige Wahl ist.

Wenn Sie noch keinen Window-Manager installiert haben, werden Sie lediglich einen schwarzen Bildschirm sehen. Da dies aber auch ein Zeichen dafür sein kann, dass etwas falsch gelaufen ist, sollten Sie am besten twm und xterm emergen, nur um X zu testen.

Sobald diese beiden Programme installiert sind, führen Sie startx erneut aus. Einige xterm-Fenster sollten erscheinen, was darauf hinweist, dass X korrekt funktioniert. Wenn Sie mit den Ergebnissen zufrieden sind, können Sie emerge --unmerge twm xterm als root ausführen, um die Pakete wieder loszuwerden. Sie werden sie nicht brauchen, so bald Sie eine richtige Desktopumgebung aufgesetzt haben.

4. Optimieren der X-Einstellungen

4.1 Einstellen der Auflösung

Wenn es Ihnen so vorkommt, dass die Bildschirmauflösung nicht richtig ist, müssen Sie zwei Abschnitte in Ihrer xorg.conf kontrollieren. Als erstes den Screen Abschnitt, in welchem die gesamten Auflösungen, mit denen der X-Server dann läuft, enthalten sind. Standardmäßig sind hier eventuell keine Einstellungen vorgegeben. Wenn dies der Fall ist, schätzt Xorg die Auflösungen auf Grundlage der Informationen im zweiten Abschnitt, Monitor.

Xorg kontrolliert die Einstellungen für HorizSync und VertRefresh im Monitor Abschnitt und wählt daraus die richtige Auflösung. Daher lassen wir diese Einstellungen noch wie sie sind. Nur, und nur dann, wenn die Änderungen im Screen Abschnitt (darauf gehen wir gleich ein) nichts bewirken, müssen Sie die Eigenschaften des Monitor herausfinden und richtig eintragen.

Warnung
Ändern Sie die Werte dieser beiden Variablen nicht, ohne zuvor die genauen Spezifikationen des Bildschirms zu kennen. Dies kann im besten Fall dazu führen, dass Sie eine Fehlermeldung des Monitors erhalten oder schlimmstenfalls, dass der Monitor unter die Raucher geht...

Nun ändern Sie die Auflösung. Im nächsten Beispiel von /etc/X11/xorg.conf fügen Sie die Zeilen Modes und DefaultDepth hinzu, damit der X-Server standardmäßig mit 24bit Farbtiefe und 1440x900 startet. Beachten Sie dabei die anderen Werte nicht, sie sind Beispiele und können abweichen!

Befehlsauflistung  1.1: Ändern des Screen-Abschnitts in /etc/X11/xorg.conf
Section "Screen"
  Identifier  "Default Screen"
  Device    "RadeonHD 4550"
  Monitor   "Generic Monitor"
  DefaultDepth  24
  # Ein wenig Text wurde der Lesbarkeit halber übersprungen
  SubSection "Display"
    Depth   24
    Modes   "1440x900"
  EndSubSection
EndSection

Starten Sie nun X (startx), um herauszufinden, ob die Auflösung auch wirklich verwendet wird.

4.2 Konfiguration der Tastatur

Um X beizubringen, eine internationale Tastatur zu verwenden, können Sie die Inhalte der /usr/share/doc/hal-*/*/use-estonian-layout.fdi.bz2 nach /etc/hal/fdi/policy/10-xinput-configuration.fdi kopieren:

Befehlsauflistung  2.2: Verwenden einer existierenden Konfigurationsdatei
# bzcat /usr/share/doc/hal-*/*/use-estonian-layout.fdi.bz2 > /etc/hal/fdi/policy/10-xinput-configuration.fdi

Nun können Sie einfach 10-xinput-configuration.fdi bearbeiten und das estnische Tastaturlayout (ee) auf Ihr eigenes ändern, wie z.B. Großbritannien (gb) oder Polnisch (pl).

Wenn Sie fertig sind, führen Sie /etc/init.d/hald restart als root aus, um sicherzustellen, dass HAL die Änderungen der Konfigurationsdateien aufnimmt.

4.3 Letzte Schritte

Geben Sie nun startx ein, und freuen Sie sich über das Ergebnis. Gratulation, Sie haben nun (hoffentlich) ein funktionierendes Xorg auf Ihrem System. Der nächste Schritt ist, einen nutzbaren Window-Manager (oder sogar eine Desktopumgebung), wie z.B. KDE oder Gnome, zu installieren, aber dies ist nicht Teil dieses Leitfadens.

5. Ressourcen

5.1 Erzeugen und Optimieren von xorg.conf

Zuallererst: man xorg.conf und man evdev stellen gute Referenzen aller Einstellungen der Konfigurationdateien zur Verfügung. Halten Sie diese immer in der näheren Umgebung geöffnet, wenn Sie Änderungen vornehmen!

Stellen Sie ebenfalls sicher, einen Blick in die /etc/X11/xorg.conf.example zu werfen; Sie können diese kopieren und als Basis zum Schreiben Ihrer eigenen xorg.conf verwenden.

Sie finden die X.org FAQ auf der Website, zusätzlich zu weiteren Dokumentationen.

Es gibt auch jede Menge Beschreibungen im Internet. Wir führen hier nur ein paar auf, aber scheuen Sie sich nicht davor, nach weiteren zu googlen.

5.2 Andere Ressourcen

Mehr Informationen zur Installion und Konfiguration verschiedener grafischer Desktopumgebungen und Anwendungen finden Sie im Abschnitt Gentoo Desktop Dokumentationsressourcen unserer Dokumentation.

Wenn Sie von einer früheren Version auf xorg-server-1.6 upgraden, lesen Sie auf jeden Fall den Migrationsleitfaden.



Kontakt | Impressum
Gentoo ® ist eine eingetragene Marke des Förderverein Gentoo e.V.