X
Das X window system, auch X oder X11 genannt, stellt unter Linux und anderen UNIX-artigen Betriebsystemen die grafische Oberfläche bereit. Die unter Linux wohl am meist genutze Implementierung ist X.org.
Installation
X.org wird mittels
pacman -S xorg
installiert. Diese Paketgruppe enthält die nötigsten Pakete.
Anschließend sollte der Treiber für die Grafikkarte installiert werden. Es stehen folgende zur Verfügung:
xf86-video-apm xf86-video-ark xf86-video-ati xf86-video-chips xf86-video-cirrus xf86-video-dummy xf86-video-fbdev xf86-video-glint xf86-video-i128 xf86-video-i740 xf86-video-imstt xf86-video-intel xf86-video-mga xf86-video-neomagic xf86-video-nv xf86-video-nouveau xf86-video-radeonhd xf86-video-rendition xf86-video-s3 xf86-video-s3virge xf86-video-savage xf86-video-siliconmotion xf86-video-sis xf86-video-sisusb xf86-video-tdfx xf86-video-trident xf86-video-tseng xf86-video-unichrome xf86-video-v4l xf86-video-vesa xf86-video-vga xf86-video-via xf86-video-vmware xf86-video-voodoo
Dieser wird mit
pacman -S xf86-video-<Treiberpaket>
installiert. Der Treiber xf86-video-vesa sollte immer funktionieren, bietet aber nur wenige Funktionen und ist äußerst langsam. Er ist also eher eine Notlösung, falls der eigentliche Treiber nicht funktioniert.
Weitere Informationen zur Installation der Treiber von AMD/ATI, Intel und Nvidia befinden sich in eigenen Beiträgen:
Konfiguration
X.org wird über Dateien in
/etc/X11/xorg.conf.d/
konfiguriert.
Eine komplette Konfigurationsdatei xorg.conf ist nicht mehr notwendig. Dadurch muss nur noch eine Datei in /etc/X11/xorg.conf.d/ angelegt werden, die die gewünschten Einträge enthält. Um die Übersichtlichkeit zu verbessern, sollte für unterschiedliche Einstellungen eigene Dateien angelegt haben, beispielsweise für die Monitorkonfiguration und die Tastatureinstellungen.
Tastaturlayout
Ist die Autoerkennung der Eingabegeräte nicht gewünscht oder funktioniert nicht richtig, kann diese deaktiviert werden. Dazu muss zunächst der Tastaturtreiber installiert werden
pacman -S xf86-input-keyboard
und die xorg.conf editiert werden.
Section "ServerFlags" Option "AutoAddDevices" "false" Option "AutoEnableDevices" "false" EndSection
Das Tastaturlayout kann nun in der xorg.conf konfiguriert werden. Dazu müssen in der xorg.conf die Einträge XkbLayout und XkbVariant angepasst werden.
Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "XkbLayout" "de" Option "XkbVariant" "nodeadkeys" EndSection
Ab Xorg Version 1.8 kann dieser auch ohne eine xorg.conf mittels evdev Geräte erkennen. Daher sollte es für die meisten Benutzer ausreichend sein, um ein deutsches Tastaturlayout zu haben, eine Konfigurationsdatei unter etc/X11/xorg.conf.d/de.conf mit folgendem Inhalt anzulegen:
Section "InputClass" Identifier "keyboard" MatchIsKeyboard "yes" Option "XkbLayout" "de" Option "XkbVariant" "nodeadkeys" EndSection
Xorg starten
Gestartet wird der X.org über /usr/bin/startx oder per Login-Manager. Bei der startx-Methode gibt es mehrere Möglichkeiten:
Nach Login manuell ausführen
startx muss nach dem Login manuell ausgeführt werden.
startx
Nach Login automatisch ausführen
startx wird nach dem Login (auf der 1. Konsole) automatisch ausgeführt. Dazu folgendes am Ende der ~/.bash_profile eintragen:
if [ "$(tty)" = "/dev/tty1" ]; then startx fi
Soll der User beim Beenden von X automatisch wieder ausgeloggt werden, kann man noch logout hinzufügen:
if [ "$(tty)" = "/dev/tty1" ]; then startx logout fi
Ohne Login automatisch ausführen
startx wird beim Booten automatisch (ohne Login) ausgeführt. Dazu muss die /etc/inittab folgendermaßen angepasst werden:
aus
id:3:initdefault: ... x:5:respawn:/usr/X11R6/bin/xdm -nodaemon
wird
id:5:initdefault: ... x:5:once:/bin/su USER -l -c "/bin/bash --login -c startx"
Wobei USER durch den User der X starten soll ersetzt werden muss.
TCP Port 6000 schließen
Standardmäßig lauscht Xorg auf dem TCP Port 6000. Um dies zu unterbinden muss die Option "-nolisten tcp" in der Datei /usr/bin/startx zu der Variablen "defaultserverargs" hinzugefügt werden.
defaultserverargs="-nolisten tcp"
Falls Xorg per kdm gestartet wird scheint das startx script nicht ausgeführt zu werden. In diesm Fall muss die Option "-nolisten tcp" in der Datei /opt/kde/share/config/kdm/kdmrc zu der Variablen "ServerCmd" hinzugefügt werden.
ServerCmd=/usr/bin/X -br -nolisten tcp
Die -br Option bewirkt das X mit einem schwarzen root Fenster startet. Weitere Optionen des X Servers findet man auf der man page.
$ man Xserver
Nutzt man keinen Login-Manager um X zu starten und will /usr/bin/startx nicht verändern, kann man die Option(en) auch als Parameter angeben.
$ startx -- -nolisten tcp
Dies ist jedoch nur notwendig, wenn startx mit weiteren Optionen aufgerufen wird. Werden keine Optionen übergeben, so liest X die Datei /etc/X11/xinit/xserverrc bzw ~/.xserverrc. In der ersteren ist unter Archlinux bereits -nolisten tcp eingetragen.
Fehlersuche
Bei der Fehlersuche kann es hilfreich sein einen Blick in die Xorg Log Datei zu werfen. Zur besseren Übersicht ist es empfehlenswert nur die Warnungen (WW) und Fehler (EE) anzeigen zu lassen.
grep -e WW -e EE /var/log/Xorg.0.log
Bekannte Probleme
X erkennt keine Eingabegeräte
Falls beim Start von X keine Eingabegeräte wie Maus und Tastatur erkannt werden, muss evdev funktionsfähig, der HAL Daemon gestartet, sowie xf86-input-evdev installiert sein. Sollte es dennoch nicht funktionieren, kann die automatische Erkennung auch deaktiviert werden. Dies sollte aber immer die letzte Notlösung bleiben.
Nach dem Deaktivieren der automatischen Erkennung müssen die Eingabegeräte noch konfiguriert werden.
X kann ACPI nicht laden
Steht in /var/log/Xorg.0.log
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
so liegt das wahrscheinlich daran, dass kein acpid-Daemon läuft. Diesen durch
pacman -S acpid
installieren und in das Daemon-Array der /etc/rc.conf eintragen.
Strg+Alt+Backspace beendet X nicht
Die Tastenkombination Strg+Alt+Backspace zum killen des X-Servers ist (seit Version 1.6.1) standardmäßig deaktiviert. Um die Tastenkombination zu aktivieren kann man bei aktivierter Autoerkennung der Eingabegeräte jedoch folgendes in die /etc/hal/fdi/policy/10-keymap.fdi eintragen.
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
Ist die Autoerkennung deaktiviert, kann man folgendes zur Tastatur-Section in der xorg.conf hinzufügen.
Option "XkbOptions" "terminate:ctrl_alt_bksp"
Damit sollte man den X-Server wieder mit Strg+Alt+Backspace killen können.
Ab Version 1.8 kommt X ohne HAL aus. Deshalb funktioniert der Eintrag in der /etc/hal/fdi/policy/10-keymap.fdi nicht mehr. man kann die Tastenkombination aber weiterhin durch
Option "XkbOptions" "terminate:ctrl_alt_bksp"
aktivieren. Am besten in der empfohlenen Datei für die deutsche Tastaturbelegung. ( /etc/X11/xorg.conf.d/de.conf )
Siehe auch
- Nvidia-Grafikkartentreiber installieren
- ATI-Grafikkartentreiber installieren
- Intel-Grafikkartentreiber installieren