X: Unterschied zwischen den Versionen
SiD (Diskussion | Beiträge) K →Eingabegeräte: typo |
Kleine änderungen und ergänzung |
||
Zeile 7: | Zeile 7: | ||
installiert. Diese Paketgruppe enthält die nötigsten Pakete. | installiert. Diese Paketgruppe enthält die nötigsten Pakete. | ||
Anschließend sollte der Treiber für die Grafikkarte installiert werden. Es stehen folgende | Anschließend sollte der Treiber für die Grafikkarte installiert werden. Es stehen folgende zu Verfügung: | ||
xf86-video-apm | xf86-video-apm | ||
Zeile 44: | Zeile 44: | ||
xf86-video-voodoo | xf86-video-voodoo | ||
Nach dem der Treiber oder die Treiber ausgewählt worden sind, mit | |||
pacman -S xf86-video-<Treiberpaket> | pacman -S xf86-video-<Treiberpaket> | ||
installieren. | |||
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: | Weitere Informationen zur Installation der Treiber von ''AMD/ATI'', ''Intel'' und ''Nvidia'' befinden sich in eigenen Beiträgen: | ||
Zeile 54: | Zeile 56: | ||
==Konfiguration== | ==Konfiguration== | ||
''X.org'' wird über Dateien in | ''X.org'' wird über die Dateien in | ||
/etc/X11/xorg.conf.d/ | /etc/X11/xorg.conf.d/ | ||
konfiguriert. | konfiguriert. | ||
Eine komplette Konfigurationsdatei ''xorg.conf'' ist nicht mehr notwendig. | Eine komplette Konfigurationsdatei wie bis zum X-Server 1.7 unter ''/etc/X11/xorg.conf'' ist nicht mehr notwendig. | ||
Jetzt können unter ''/etc/X11/xorg.conf.d/'' verscheidende Dateien mit der Endung ''*.conf'' angelegt werden z.B. für die Maus und Tastatur. Die Konfigurationsdateien werden alphabetisch eingelesen, was ermöglicht eine Einstellung, mit einer später folgenden Datei zu überschreiben. | |||
===Eingabegeräte=== | ===Eingabegeräte=== | ||
Eingabegeräte lassen sich mittels ''InputClasses'' konfigurieren. Sie beziehen sich nicht auf ein einzelnes Gerät sondern auf eine ganze Klasse von Geräten. Dazu wird eine ''Section "InputClass"'' angelegt, in der mittels ''matches'' festgelegt wird, auf welche Geräte die nachfolgenden Einstellungen zutreffen sollen. | Eingabegeräte lassen sich mittels ''InputClasses'' konfigurieren. Sie beziehen sich nicht auf ein einzelnes Gerät sondern auf eine ganze Klasse von Geräten. Dazu wird eine ''Section "InputClass"'' angelegt, in der mittels ''matches'' festgelegt wird, auf welche Geräte die nachfolgenden Einstellungen zutreffen sollen. | ||
Soll lediglich ein | Soll lediglich ein deutsche Tastaturlayout eingestellt werden, befinden sich im Beitrag [[Arch_Linux_auf_Deutsch_stellen|Arch Linux auf deutsch stellen]] weitere Informationen dazu. | ||
Dieses Beispiel weist allen Tastaturen ein deutsches Tastaturlayout zu: | Dieses Beispiel weist allen Tastaturen ein deutsches Tastaturlayout zu: | ||
Zeile 72: | Zeile 76: | ||
Option "XkbVariant" "nodeadkeys" | Option "XkbVariant" "nodeadkeys" | ||
EndSection | EndSection | ||
Und wird z.B. unter ''/etc/X11/xorg.conf.d/10-tastatur.conf'' abgespeichert. | |||
Es lassen sich auch mehrere ''Match*'' Option verwenden, um die Geräteklasse genauer anzugeben. Folgende Optionen sind verfügbar: | Es lassen sich auch mehrere ''Match*'' Option verwenden, um die Geräteklasse genauer anzugeben. Folgende Optionen sind verfügbar: | ||
Zeile 94: | Zeile 100: | ||
Die Optionen für die jeweiligen Treiber finden sich in den Manpages. | Die Optionen für die jeweiligen Treiber finden sich in den Manpages. | ||
z.B. | |||
man xorg.conf | |||
Eine Möglichkeit um die ''MatchProduct'' und ''MatchVendor'' anzuzeigen ist | |||
udevadm info --export-db | grep -Ew "(NAME|ID_VENDOR)" | |||
===TCP Port 6000 schließen=== | ===TCP Port 6000 schließen=== | ||
Standardmäßig | Standardmäßig startet X 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" | defaultserverargs="-nolisten tcp" | ||
Falls X per kdm gestartet wird scheint das ''startx'' | Falls X 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. | 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 | ServerCmd=/usr/bin/X -br -nolisten tcp | ||
Zeile 109: | Zeile 123: | ||
startx -- -nolisten tcp | 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''. | 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''. | ||
Der Ersteabschnitt ''-nolisten tcp'' ist unter Archlinux bereits eingetragen. | |||
==Xorg starten== | ==Xorg starten== | ||
Zeile 134: | Zeile 150: | ||
===Ohne Login automatisch ausführen=== | ===Ohne Login automatisch ausführen=== | ||
startx wird beim Booten automatisch (ohne Login) ausgeführt. | startx wird beim Booten automatisch (ohne Login) ausgeführt. | ||
Dazu muss die /etc/inittab folgendermaßen angepasst werden: | Dazu muss die /etc/inittab folgendermaßen angepasst werden: | ||
Zeile 148: | Zeile 165: | ||
x:5:once:/bin/su USER -l -c "/bin/bash --login -c startx" | 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. | Wobei USER durch den User der X starten soll, ersetzt werden muss. | ||
==Fehlersuche== | ==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. | 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 | grep -e WW -e EE /var/log/Xorg.0.log | ||
Zeile 159: | Zeile 178: | ||
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory) | (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory) | ||
so liegt das wahrscheinlich daran, dass kein acpid-Daemon läuft. | so liegt das wahrscheinlich daran, dass kein acpid-Daemon läuft. | ||
Damit ACPI läuft muss das Paket installiert werden, mit | |||
pacman -S acpid | pacman -S acpid | ||
Anschließend noch in der ''/etc/rc.conf'' acpid unter DAEMONS eintragen | |||
nano /etc/rc.conf | |||
DAEMONS=(acpid) | |||
===Strg+Alt+Backspace beendet X nicht=== | ===Strg+Alt+Backspace beendet X nicht=== | ||
Die Tastenkombination Strg+Alt+Backspace zum sofortigen beenden von X ist standardmäßig deaktiviert. | Die Tastenkombination Strg+Alt+Backspace zum sofortigen beenden von X ist standardmäßig deaktiviert. | ||
Um das gewünschte Verhalten zu erhalten, muss | Um das gewünschte Verhalten zu erhalten, muss | ||
Option "XkbOptions" "terminate:ctrl_alt_bksp" | Option "XkbOptions" "terminate:ctrl_alt_bksp" |
Version vom 4. Januar 2011, 15:41 Uhr
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 zu 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
Nach dem der Treiber oder die Treiber ausgewählt worden sind, mit
pacman -S xf86-video-<Treiberpaket>
installieren.
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 die Dateien in
/etc/X11/xorg.conf.d/
konfiguriert.
Eine komplette Konfigurationsdatei wie bis zum X-Server 1.7 unter /etc/X11/xorg.conf ist nicht mehr notwendig.
Jetzt können unter /etc/X11/xorg.conf.d/ verscheidende Dateien mit der Endung *.conf angelegt werden z.B. für die Maus und Tastatur. Die Konfigurationsdateien werden alphabetisch eingelesen, was ermöglicht eine Einstellung, mit einer später folgenden Datei zu überschreiben.
Eingabegeräte
Eingabegeräte lassen sich mittels InputClasses konfigurieren. Sie beziehen sich nicht auf ein einzelnes Gerät sondern auf eine ganze Klasse von Geräten. Dazu wird eine Section "InputClass" angelegt, in der mittels matches festgelegt wird, auf welche Geräte die nachfolgenden Einstellungen zutreffen sollen.
Soll lediglich ein deutsche Tastaturlayout eingestellt werden, befinden sich im Beitrag Arch Linux auf deutsch stellen weitere Informationen dazu.
Dieses Beispiel weist allen Tastaturen ein deutsches Tastaturlayout zu:
Section "InputClass" Identifier "keyboard" MatchIsKeyboard "yes" Option "XkbLayout" "de" Option "XkbVariant" "nodeadkeys" EndSection
Und wird z.B. unter /etc/X11/xorg.conf.d/10-tastatur.conf abgespeichert.
Es lassen sich auch mehrere Match* Option verwenden, um die Geräteklasse genauer anzugeben. Folgende Optionen sind verfügbar:
Option | Beschreibung |
MatchIsPointer, MatchIsKeyboard, MatchIsTouchpad, MatchIsTouchscreen, MatchIsJoystick | trifft auf die jeweiligen Geräte zu |
MatchProduct "foo|bar" | trifft auf alle Geräte zu, deren Name foo oder bar enthält |
MatchVendor "foo|bar" | trifft auf alle Geräte zu, deren Herstellername foo oder bar enthält |
MatchDevicePath "/dev/input/event*" | trifft auf alle Geräte zu, deren Pfad mit /dev/input/event beginnen |
Die Optionen für die jeweiligen Treiber finden sich in den Manpages.
z.B.
man xorg.conf
Eine Möglichkeit um die MatchProduct und MatchVendor anzuzeigen ist
udevadm info --export-db | grep -Ew "(NAME|ID_VENDOR)"
TCP Port 6000 schließen
Standardmäßig startet X 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 X 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.
Der Ersteabschnitt -nolisten tcp ist unter Archlinux bereits eingetragen.
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.
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 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.
Damit ACPI läuft muss das Paket installiert werden, mit
pacman -S acpid
Anschließend noch in der /etc/rc.conf acpid unter DAEMONS eintragen
nano /etc/rc.conf DAEMONS=(acpid)
Strg+Alt+Backspace beendet X nicht
Die Tastenkombination Strg+Alt+Backspace zum sofortigen beenden von X ist standardmäßig deaktiviert.
Um das gewünschte Verhalten zu erhalten, muss
Option "XkbOptions" "terminate:ctrl_alt_bksp"
in die Konfiguration wie folgt aufgenommen werden:
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection
Siehe auch
Grafiktreiber:
Treiber für Eingabegeräte:
Sonstiges: