Rhgb

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung

Red Hat Graphical Boot stellt, während des Startvorganges von Fedora, übergangsweise eine X-Anzeige zur Verfügung. Verläuft der Startvorgang wie gewünscht, wird bis zum Erreichen des 5. Runlevel (Mehrbenutzerumgebung mit X und Netzwerk) ein Fortschrittsbalken in einem Bild angezeigt. Es besteht die Möglichkeit, die ausführlichen Statusmeldungen in einem Terminal zu betrachten. Unter gewissen Umständen wechselt rhgb selbstständig in den Modus.



Inhaltsverzeichnis

Details zu rhgb

rhgb ist auch der Name des Programmpaketes und besteht im Wesentlichen aus den Programmen:

/usr/bin/rhbg

und

/usr/bin/rhgb-client

Die verwendeten Bilder befinden sich in

/usr/share/rhgb/



Funktionsbeschreibung

Übersetzung von HOW_IT_WORKS

/usr/share/doc/rhgb-0.17.7

Im Umgang mit rhgb ist Umsicht geboten. Damit ist nicht die Programmkomplexität gemeint, sondern in Hinsicht auf die Umgebung und dem Zeitpunkt während des Starts von rhgb.

Der Start von rhgb und X

Rhgb wird durch die Initialskripten (initscripts), konkret /etc/rc.sysinit, während des Startvorganges aufgerufen. Nach der Geräteerkennung und vor der Dateisystemprüfung und -einbindung. Wenn das Verzeichnis /usr/ verfügbar ist, wird auf die Datei /usr/bin/rhgb zugeriffen. Das root-Dateisystem ist schreibgeschützt eingebunden und die Ausführung von fsck steht unmittelbar bevor. Steht /usr nicht zur Verfügung oder kann X nicht gestartet werden, wird der Versuch erst wieder unternommen wenn das gesamte Dateisystem eingebunden wurde. Um sicher zu gehen, das X in einer gültigen Umgebung gestartet wird, überprüft rhgb den voreingestellten Betriebsmodus (Runlevel). Entweder ist init default mit 5, in der Initialisierungstabelle /etc/inittab, angegeben oder der Betriebsmodus 5 wurde vorher als Parameter übergeben. X und rhgb benötigen ein beschreibares Dateisystem für den Export von Nachrichtenkanälen zum Startvorgang. Hierzu wird ein kleines temporäres, im Hauptspeicher befindliches, Dateisystem eingebunden: /etc/rhgb/temp. Das logische Gerät für Netzwerk Rückmeldungen lo0 wird ebenfalls vor X gestartet und eingerichtet, um die Prozesskommunikation zu gewährleisten.

Sind Dateisystem und lo0 verfügbar, wird /usr/bin/X11/X ausgeführt. Die virtuelle Schnittstelle Nummer 8 (virtual terminal vt8) und die X Anzeige Nummer Eins (:1). Auf die Nutzung der X-Anzeige 0 wird bewusst verzichtet, um den visuellen Übergang vom temporären X-Server zum Mehrbenutzerbetrieb sanfter zu gestalten.

Wurde X erfolgreich gestartet, wird ein Bild mit einem einfachen Fortschrittsbalken angezeigt und die ausführliche Anzeige des Startvorganges mittels der Bibliothek VTE realisiert. VTE benötigt GTK+ 2 und höher, und emuliert grafisch ein virtuelle Benutzerschnittstelle, ein vt (virtual terminal).

Ist unter /etc/rhgb/ die Datei xorg.conf abgelegt, wird diese ausgewertet und an X, während seines Startvorganges, übergeben. Der Start von X aus einem schreibgeschützten Dateisystem birgt einige Probleme, wie z.B. die Tastatureinstellungen und der Wechsel der virtuellen Benutzerschnittstelle durch die gewohnte Tastenkombination.

Informationsaustausch zwischen dem Startprozess (init) und rhgb

Die Init-Skripten zeigen mittels dem Programm /usr/bin/rhgb-client dem rhgb-Prozess Fortschritte an, hierfür wird ein socket (eine Anschlusstelle) in /etc/rhgb/temp/ namens rhgb-socket, mit Schreib- und Lesezugriff erstellt. Beispielsweise erlaubt der Parameter ping eine Prüfung, ob der rhgb-Prozess läuft:

rhgb_client ping

Rhgb_client wird in bestimmten Momenten des Fedora-Startvorganges aufgerufen und dementsprechend wird die grafische Anzeige angepasst.

Die Datei /etc/rhgb/temp/rhgb-console dient als fifo (first in, first out) Stapelspeicher, anders beschrieben, dient die Datei als Weiterleitung (pipe), in der Datei gespeicherten Informationen befinden sich in einer Warteschlange und werden, vorrangig nach Zeitpunkt der Ablage, verarbeitet. Was zuerst gespeichert wurde, wird auch zuerst verarbeitet. Sie erweitert den Informationsaustausch, insbesondere die Ausgabe des Programmes fsck, wenn eine Prüfung des Dateisystemes erzwungen wurde, erscheint die Meldung in der ausführlichen rhgb-Ansicht.

Wurden alle möglichen Betriebsbedingungen aus der Datei /etc/rc.sysinit (race condition, systeminit - Betriebsbedingungen Systemstart) und durch das Skript /etc/rc.d/rc alle Dienste gestartet, bzw. gestoppt (je nach K(ill) (Beendigung) oder S(tart)-Skript), werden alle möglichen Funktionen aus /etc/init.d/functions ausgeführt und rhgb wird hierüber informiert. Somit kann rhgb den Rückgabewert der Dienste anzeigen.

In /etc/rc.d/rc ist rhgb lediglich mit der Skriptzeile:

if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
 /usr/bin/rhgb-client --quit
fi

bedacht.

Der besondere Fall: firstboot

firstboot bedeutet erster Start und bezeichnet ein Programm und Programmpaket. Ist die Ausführung von firstboot nötig, wird es die rhgb X-Anzeige übernehmen, der Anzeigewert wird aus der Datei /etc/rhgb/temp/display übernommen. Da, wie bereits vorher beschrieben, die Tastatureinstellung aus /etc/X11/xorg.conf fehlschlägt, wird an dieser Stelle die Einstellung des Benutzers gesetzt. Nun verbirgt rhgb seine Ausgabe und stellt firstboot seine Anzeige zur Verfügung. Firstboot führt den Fensterverwalter Metacity aus, bisher war ein Solcher nicht erforderlich.

Fehlererkennung und -darstellung

rhgb wechselt automatisch zur ausführlichen Startvorgangsbeschreibung, wenn ein Rückgabe keinen Erfolg meldet. Grundsätzlich wird nach Ablauf von zehn Sekunden, nach Beginn der Ausführung eines Startskriptes und mangelnder Fortschrittsrückmeldung, die ausführliche Startvorgangsbeschreibung geöffnet, dies kann geschehen, wenn ein Dateisystem geprüft wird oder ein Zeitlimit (Netzwerk/DNS) erreicht wurde. Nach einem Fortschritt dieser Ereignisse wechselt rhgb wieder in den Bildmodus. Bei einem Fehlschlag eines Ereignisses wird der ausführliche Modus permanent aktiviert. Als letzte Option, sollte weder eines der Startskripte, noch rhgb-console, über einen Zeitraum von 30 Sekunden, Rückmeldung erstatten, übergibt rhgb die Anzeige an vt1 im Textmodus; dies bedeutet ein ernsteres Problem und erfordert vermutlich einen manuellen Eingriff.


rhgb nicht nutzen

Ein Eintrag im Wiki zeigt, wie rhgb abgeschaltet werden kann: Grub-rhgb


rhgb-Ersatz

Ab Fedora 10 wird rhgb durch Plymouth ergänzt, der externe Verweis enthält englische Informationen zu Plymouth auf der Projektseite.


Siehe auch