X: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
KKeine Bearbeitungszusammenfassung
(42 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{righttoc}}
{{righttoc}}
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==
==Installation==
''X.org'' wird mittels
# pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils
installiert. Diese Paketgruppe enthält die nötigsten Pakete.


Xorg installieren wir durch
Anschließend sollte der Treiber für die Grafikkarte installiert werden. Es stehen folgende zu Verfügung:
 
pacman -Sy xorg
 
Jetzt sollte der Treiber für die Grafikkarte installiert werden. Es stehen folgende zur Verfügung:


  xf86-video-apm
  xf86-video-apm
Zeile 19: Zeile 20:
  xf86-video-i740
  xf86-video-i740
  xf86-video-imstt
  xf86-video-imstt
  xf86-video-intel
  [[Intel|xf86-video-intel]]
  xf86-video-mga
  xf86-video-mga
  xf86-video-neomagic
  xf86-video-neomagic
  [[Nvidia#Open Source Treiber|xf86-video-nv]]
  [[Nvidia#Open Source Treiber|xf86-video-nv]]
  [[Nvidia#Open Source Treiber|xf86-video-nouveau]]
  [[Nvidia#Open Source Treiber|xf86-video-nouveau]]
xf86-video-openchrome
  [[ATI#Open Source Treiber|xf86-video-radeonhd]]
  [[ATI#Open Source Treiber|xf86-video-radeonhd]]
  xf86-video-rendition
  xf86-video-rendition
Zeile 35: Zeile 37:
  xf86-video-trident
  xf86-video-trident
  xf86-video-tseng
  xf86-video-tseng
  xf86-video-unichrome
  xf86-video-unichrome (obsolet, instabil, unmaintained)
  xf86-video-v4l
  xf86-video-v4l
  xf86-video-vesa
  xf86-video-vesa
Zeile 43: Zeile 45:
  xf86-video-voodoo
  xf86-video-voodoo


Dieser wird mit
Nachdem der Treiber oder die Treiber ausgewählt worden sind, mit
  pacman -S xf86-video-<Treiberpaket>
  pacman -S xf86-video-<Treiberpaket>
installiert. Der "xf86-video-vesa" sollte im Regelfall immer funktioniern, er bietet allerdings nur wenige Funktionen.
installieren.  


Für NVIDIA bzw. ATI Grafikkarten gibt es außerdem properitäre Treiber, die volle 3D-Unterstützung bieten:
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.
* '''[[Nvidia#Properitärer Treiber|Nvidia]]'''
 
* '''[[ATI#Properitärer Treiber|ATI]]'''
Weitere Informationen zur Installation der Treiber von ''AMD/ATI'', ''Intel'' und ''Nvidia'' befinden sich in eigenen Beiträgen:
* [[ATI]]
* [[Intel]]
* [[Nvidia]]


==Konfiguration==
==Konfiguration==
{{Hinweis|Die Konfigurationsdatei ''xorg.conf'' ist nicht mehr zwingend notwendig!}}
''X.org'' wird über die Dateien in
X.org wird über die Datei '''/etc/X11/xorg.conf''' konfiguriert. Sie ist notwendig, falls proprietäre Treiber verwendet werden sollen, erweiterte Einstellungen vorgenommen werden sollen, oder die Eingabegeräte auf herkömmliche Weise [[#Tastaturlayout|konfiguriert werden sollen]].
/etc/X11/xorg.conf.d/
konfiguriert.


===xorg.conf erstellen===
Eine komplette Konfigurationsdatei wie bis zum X-Server 1.7 unter ''/etc/X11/xorg.conf'' ist nicht mehr notwendig.  
Sollte die xorg.conf dennoch nötig sein (z.B. wenn man proprietäre Treiber verwenden möchte), einfach


  X -configure
Jetzt können unter ''/etc/X11/xorg.conf.d/'' verschiedende 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.


als root ausführen und die Datei, die als Basis für weitere Einstellungen dienen kann, nach ''/etc/X11'' kopieren.
===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.


  mv /root/xorg.conf.new /etc/X11/xorg.conf
Soll lediglich ein deutsches Tastaturlayout eingestellt werden, befinden sich im Beitrag [[Arch_Linux_auf_Deutsch_stellen|Arch Linux auf deutsch stellen]] weitere Informationen dazu.


===Einstellungen===
Dieses Beispiel weist allen Tastaturen ein deutsches Tastaturlayout zu:
Section "InputClass"
        Identifier "keyboard"
        MatchIsKeyboard "yes"
        Option "XkbLayout" "de"
        Option "XkbVariant" "nodeadkeys"
EndSection


====Monitor Sektion:====
Und wird z.B. unter ''/etc/X11/xorg.conf.d/20-keyboard.conf'' abgespeichert.


'''Horizontal Sync einstellen'''
Es lassen sich auch mehrere ''Match*'' Option verwenden, um die Geräteklasse genauer anzugeben. Folgende Optionen sind verfügbar:


  HorizSync      30,0 - 82,0
{| {{prettytable}}
|style="width:30%;background-color:#E5E5E5"|'''Option'''
|style="width:70%;background-color:#E5E5E5"|'''Beschreibung'''
|-
|MatchIsPointer, MatchIsKeyboard, MatchIsTouchpad, MatchIsTouchscreen, MatchIsJoystick
|trifft auf die jeweiligen Geräte zu
|-
|MatchProduct "foo<nowiki>|</nowiki>bar"
|trifft auf alle Geräte zu, deren Name ''foo'' oder ''bar'' enthält
|-
|MatchVendor "foo<nowiki>|</nowiki>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
|-
|}


'''Refresh Rate'''
Die Optionen für die jeweiligen Treiber finden sich in den Manpages.


  VertRefresh    56,0 - 76,0
z.B.
man xorg.conf


====Screen Sektion:====
Eine Möglichkeit um die ''MatchProduct'' und ''MatchVendor'' anzuzeigen ist
  udevadm info --export-db | grep  -Ew "(NAME|ID_VENDOR)"


'''Farbtiefe'''
===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"


  Depth 24
Falls X per kdm gestartet wird, scheint das ''startx'' Script nicht ausgeführt zu werden.


'''Auflösung'''
In diesm Fall muss die Option ''-nolisten tcp'' in der Datei ''/usr/share/config/kdm/kdmrc'' zu der Variablen ''ServerCmd'' hinzugefügt werden.
ServerCmd=/usr/bin/X -br -nolisten tcp


  Modes "1280x1024" "1024x768" "800x600"
Die -br Option bewirkt, dass X mit einem schwarzen root-Fenster startet. Weitere Optionen des X Servers findet man auf der man page.
man Xserver


====Device Sektion:====
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


'''Grafiktreiber'''
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''.


Driver "radeon"
Der Ersteabschnitt ''-nolisten tcp'' ist unter Archlinux bereits eingetragen.
 
====Tastaturlayout====
 
Ist die [[evdev|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


==Xorg starten==
==Xorg starten==
{{Hinweis|Damit die automatische Erkennung von Eingabegeräten funktoniert muss [[HAL]] als Daemon aktiviert sein.}}
Gestartet wird der ''X.org'' über ''/usr/bin/startx'' oder per [[Login-Manager]]. Bei der startx-Methode gibt es mehrere Möglichkeiten:
Gestartet wird der Xorg ü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 manuell ausführen===
''startx'' muss nach dem Login manuell ausgeführt werden:
  startx


*'''Nach Login automatisch ausführen'''
===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:
startx wird nach dem Login (auf der 1. Konsole) automatisch ausgeführt. Dazu folgendes am Ende der ''~/.bash_profile'' eintragen:


  if [ "$(tty)" = "/dev/vc/1" ]; then
  if [ "$(tty)" = "/dev/tty1" ]; then
     startx
     startx
  fi
  fi
Zeile 132: Zeile 143:
Soll der User beim Beenden von X automatisch wieder ausgeloggt werden, kann man noch ''logout'' hinzufügen:
Soll der User beim Beenden von X automatisch wieder ausgeloggt werden, kann man noch ''logout'' hinzufügen:


  if [ "$(tty)" = "/dev/vc/1" ]; then
  if [ "$(tty)" = "/dev/tty1" ]; then
     startx
     startx
     logout
     logout
  fi   
  fi   


*'''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:
aus
id:3:initdefault:
...
x:5:respawn:/usr/X11R6/bin/xdm -nodaemon
wird


id:5:initdefault:
folgende Datei kopieren:
  ...
  cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@tty1.service
x:5:once:/bin/su USER -l -c "/bin/bash --login -c startx >/dev/null 2>&1"


Wobei USER durch den User der X starten soll ersetzt werden muss.
In der kopierten Datei folgende Zeile suchen und ändern:
von
ExecStart=-/sbin/agetty --noclear %I
nach
ExecStart=-/sbin/agetty --noclear -a USERname %I 38400


==TCP Port 6000 schließen==
Wobei USERname durch den Benutzer der X starten soll, ersetzt werden muss.<br>
Den normalen getty service sperren:
systemctl disable getty@tty1
Den neuen service freigeben:
systemctl enable autologin@tty1


Standardmäßig lauscht Xorg auf dem TCP Port 6000. Um dies zu unterbinden muss die Option "-nolisten tcp" in der Datei
Beim nächsten Neustart wird der Rechner ohne login mit dem Benutzer USERname durchstarten.
/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==
==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


==Bekannte Probleme==
==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  [[#Tastaturlayout|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===
===X kann ACPI nicht laden===
Steht in /var/log/Xorg.0.log
Steht in /var/log/Xorg.0.log
  (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. Diesen durch
 
  pacman -Sy acpid
so liegt das wahrscheinlich daran, dass kein acpid-Daemon läuft.  
installieren und in das Daemon-Array der ''/etc/rc.conf'' eintragen.
 
Damit ACPI läuft muss das Paket installiert werden, mit
  pacman -S acpid
Anschließend noch den acpid Daemon aktivieren
systemctl enable acpid


===Strg+Alt+Backspace beendet X nicht===
===Strg+Alt+Backspace beendet X nicht===
Ab der xorg-server Version 1.6.1 ist die Tastenkombination Strg+Alt+Backspace zum killen des X-Servers standardmäßig deaktiviert.
Die Tastenkombination Strg+Alt+Backspace zum sofortigen beenden von X ist standardmäßig deaktiviert.
Um sie zu aktivieren kann man entweder folgendes in die xorg.conf eintragen,
 
  Section "ServerFlags"
Um das gewünschte Verhalten zu erhalten, muss
      Option "DontZap" "false"
Option  "XkbOptions" "terminate:ctrl_alt_bksp"
in der Datei /etc/X11/xorg.conf.d/20-keyboard.conf hinzugefügt werden.<br>
  Section "InputClass"
        Identifier "keyboard"
        MatchIsKeyboard "yes"
        Option "XkbLayout" "de"
        Option "XkbVariant" "nodeadkeys"
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
  EndSection
  EndSection
oder X mit der Option "-retro" starten.
startx -- -retro
Die Option kann auch direkt in /usr/bin/startx eingetragen werden.
serverargs="-retro"


Beim aktuellen xorg-server-1.6.1.901 aus [extra] funktionieren die oben genannten Methoden nicht.<br>
==Siehe auch==
Man kann jedoch folgendes in die ''/etc/hal/fdi/policy/10-keymap.fdi'' eintragen.
Grafiktreiber:
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
* [[ATI]]
Damit sollte man den X-Server wieder mit Ctrl+Alt+Backspace killen können.
* [[Intel]]
* [[Nvidia]]
 
Treiber für Eingabegeräte:
* [[Synaptics Touchpad Treiber|Synaptics Touchpad Treiber]]


==Links==
Sonstiges:
*[http://www.x.org Xorg Homepage]
* [[Arch_Linux_auf_Deutsch_stellen|Deutsches Tastaturlayout]]
*[[Nvidia|Nvidia-Grafikkartentreiber installieren]]
* [[Schriftarten]]
*[[ATI|ATI-Grafikkartentreiber installieren]]
* [[Login-Manager]]
*[[Schriftarten]]
*[[Login-Manager]]
*[[evdev|Autoerkennung der Eingabegeräte (evdev)]]


==Weblinks==
* [http://www.x.org Xorg Homepage] {{sprache|en}}


[[Kategorie: X11]]
[[Kategorie: X11]]
[[en:Xorg]]

Version vom 15. Dezember 2013, 00:56 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-server xorg-xinit xorg-utils xorg-server-utils

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-openchrome
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 (obsolet, instabil, unmaintained)
xf86-video-v4l
xf86-video-vesa
xf86-video-vga
xf86-video-via
xf86-video-vmware
xf86-video-voodoo

Nachdem 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/ verschiedende 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 deutsches 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/20-keyboard.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 /usr/share/config/kdm/kdmrc zu der Variablen ServerCmd hinzugefügt werden.

ServerCmd=/usr/bin/X -br -nolisten tcp

Die -br Option bewirkt, dass 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.

folgende Datei kopieren:

cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@tty1.service

In der kopierten Datei folgende Zeile suchen und ändern: von

ExecStart=-/sbin/agetty --noclear %I

nach

ExecStart=-/sbin/agetty --noclear -a USERname %I 38400

Wobei USERname durch den Benutzer der X starten soll, ersetzt werden muss.
Den normalen getty service sperren:

systemctl disable getty@tty1

Den neuen service freigeben:

systemctl enable autologin@tty1

Beim nächsten Neustart wird der Rechner ohne login mit dem Benutzer USERname durchstarten.

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 den acpid Daemon aktivieren

systemctl enable 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 der Datei /etc/X11/xorg.conf.d/20-keyboard.conf hinzugefügt werden.

Section "InputClass"
        Identifier "keyboard"
        MatchIsKeyboard "yes"
        Option "XkbLayout" "de"
        Option "XkbVariant" "nodeadkeys"
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Siehe auch

Grafiktreiber:

Treiber für Eingabegeräte:

Sonstiges:

Weblinks