Das X-Server Konfigurations HOWTO
1.
Was ist der X-Window-Server?
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.
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
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 2.1: Aktivieren von evdev im Kernel |
Device Drivers --->
Input device support --->
<*> Event interface
|
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 |
INPUT_DEVICES="evdev synaptics"
VIDEO_CARDS="nvidia"
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
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 3.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 3.2: Bearbeiten der 10-x11-input.fdi |
# nano -w /etc/hal/fdi/policy/10-x11-input.fdi
<match key="info.capabilities" contains="input.keys">
<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.
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 3.3: Lesen der xorg.conf Man-Page |
$ man 5 xorg.conf
|
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.
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 3.6: Kopieren der xorg.conf |
# cp /root/xorg.conf.new /etc/X11/xorg.conf
|
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 3.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
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 4.1: Ändern des Screen-Abschnitts in /etc/X11/xorg.conf |
Section "Screen"
Identifier "Default Screen"
Device "RadeonHD 4550"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1440x900"
EndSubSection
EndSection
|
Starten Sie nun X (startx), um herauszufinden, ob die Auflösung auch
wirklich verwendet wird.
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 4.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.
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
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.
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.
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|