7.5. Runlevels und X

In den meisten Fällen konfiguriert eine Standardinstallation von Red Hat Enterprise Linux einen Rechner zum Booten in die graphische Oberfläche, als Runlevel 5 bekannt. Es ist allerdings möglich, in eine text-basierte Oberfläche, auch Runlevel 3 genannt, zu Booten und eine X-Session von dort zu beginnen.

Für mehr Informationen zu Runlevels, sehen Sie Abschnitt 1.4.

Dieser Abschnitt behandelt das Starten von X in beide, Runlevel 3 und Runlevel 5.

7.5.1. Runlevel 3

Wenn Sie sich im Runlevel 3 befinden, ist es empfehlenswert X mit dem Befehl startx zu starten. startx ist ein Front-End zum Befehl xinit, das den X-Server (Xorg) startet und ihn mit X-Clients verbindet. Da Sie bereits im Runlevel 3 im System angemeldet sein müssen, startet startx weder den Display-Manager, noch authentifiziert er Benutzer. Sehen Sie Abschnitt 7.5.2 für weitere Informationen zu Display-Managern.

Wenn der Befehl startx ausgeführt wird, wird nach der Datei .xinitrc im Heimverzeichnis des Benutzers gesucht, um die Desktop-Umgebung und eventuell andere auszuführenden X-Clients zu bestimmen. Ist die Datei .xinitrc nicht vorhanden, wird die Standard-Datei /etc/X11/xinit/xinitrc ausgeführt.

Das standardmäßige xinitrc-Skript sucht anschließend im Home-Verzeichnis des Benutzers nach benutzerdefinierten Dateien und standardmäßigen Systemdateien, einschließlich .Xresources, .Xmodmap und .Xkbmap, und nach Xresources, Xmodmap und Xkbmap im Verzeichnis /etc/X11/. Die Dateien Xmodmap und Xkbmap werden, sofern sie vorhanden sind, vom Dienstprogramm xmodmap verwendet, um die Tastatur zu konfigurieren. Die Xresources-Dateien werden gelesen, um bestimmten Applikationen spezifische Präferenzwerte zuzuweisen.

Nachdem diese Optionen eingestellt sind, führt das Skript xinitrc alle Skripte im Verzeichnis /etc/X11/xinit/xinitrc.d aus. Ein wichtiges Skript dieses Verzeichnisses ist xinput, womit Einstellungen wie die zu verwendende Standardsprache und Desktop-Umgebung konfiguriert werden.

Anschließend versucht das Skript xinitrc, .Xclients im Home-Verzeichnis des Benutzers auszuführen, und kehrt zu /etc/X11/xinit/Xclients zurück, wenn diese Datei nicht gefunden wird. Der Zweck der Datei Xclients ist der Start der Desktop-Umgebung oder, wenn möglich, nur eines einfachen Window Managers. Das Skript .Xclients des Home-Verzeichnisses startet die vom Benutzer angegebene Desktop-Umgebung oder den Window Manager in der Datei .Xclients-default. Wenn .Xclients nicht im Home-Verzeichnis vorhanden ist, versucht das Standardskript /etc/X11/init/Xclients, eine andere Desktop-Umgebung zu starten und verwendet hierzu zunächst GNOME, dann KDE und anschließend twm.

Wenn der Benutzer sich aus X abmeldet, wird dieser sich wieder im Textmodus des Runlevel 3 befinden.

7.5.2. Runlevel 5

Wenn das System in den Runlevel 5 bootet, wird eine spezielle X-Client-Applikation, Display-Manager genannt, gestartet. Ein Benutzer muss sich gegen den Display-Manager authentifizieren, bevor Desktop-Umgebungen oder Window-Manager gestartet werden.

Je nach den auf Ihrem System installierten Desktop-Umgebungen stehen drei verschiedene Display Manager für die Benutzer-Authentifizierung zur Verfügung.

Wenn das System in Runlevel 5 bootet, bestimmt das Skript prefdm den bevorzugten Display-Manager für die Benutzer-Authentifizierung. Hierzu wird die Datei /etc/sysconfig/desktop verwendet. Sehen Sie die Datei /usr/share/doc/initscripts-<version-number>/sysconfig.txt (wobei <version-number> die Versionsnummer des initscripts-Pakets ist) für eine Liste der für diese Datei verfügbaren Optionen.

Jeder Display Manager verwendet die Datei /etc/X11/xdm/Xsetup_0, um den Anmeldebildschirm einzurichten. Sobald sich der Benutzer am System anmeldet, wird das Skript /etc/X11/xdm/GiveConsole ausgeführt, um dem Benutzer die Konsole als Eigentum zuzuweisen. Dann wird das Skript /etc/X11/xdm/Xsession ausgeführt, um viele der Aufgaben auszuführen, die in der Regel vom Skript xinitrc beim Start von X in Runlevel 3 ausgeführt werden. Dazu gehören u.a. das Festlegen der System- und Benutzerressourcen oder das Ausführen der Skripte im Verzeichnis /etc/X11/xinit/xinitrc.d/.

Der Benutzer kann mithilfe des GNOME oder KDE Display-Managers angeben, welche Desktop-Umgebung bei der Authentifizierung verwendet werden sollen. Die Display-Manager können im Menü Sitzung ausgewählt werden (Wählen Sie dazu Hauptmenü-Schaltfläche [auf dem Panel] => Präferenzen => Mehr Präferenzen => Sitzungen). Ist die Desktop-Umgebung nicht im Display-Manager angegeben, prüft das Skript /etc/X11/xdm/Xsession die Dateien .xsession und .Xclients im Heimverzeichnis des Benutzers, um zu entscheiden, welche Desktop-Umgebung geladen werden soll. Als letzte Möglichkeit wird die Datei /etc/X11/xinit/Xclients verwendet, um eine Desktop-Umgebung oder einen Window Manager zu wählen, der auf die gleiche Weise wie in Runlevel 3 benutzt wird.

Wenn der Benutzer eine X-Sitzung in der Standardanzeige beendet (:0) und sich abmeldet, wird das Skript /etc/X11/xdm/TakeConsole ausgeführt und weist dem root die Konsole neu zu. Der ursprüngliche Display Manager, der nach der Anmeldung weiter ausgeführt wurde, übernimmt die Steuerung und erzeugt einen neuen Display Manager. Auf diese Weise wird der X-Server neu gestartet, ein neuer Anmeldebildschirm angezeigt und der gesamte Prozess neu gestartet.

Wenn sich der Benutzer aus X (Runlevel 5) abmeldet, wird dieser sich wieder im Display Manager befinden.

Für weitere Informationen darüber, wie Display Manger die Benutzerauthentifizierung steuern, sehen Sie die Datei /usr/share/doc/gdm-<version-number>/README (wobei <version-number> die Versionsnummer des installierten gdm-Pakets ist) und die xdm man-Seiten.