RedHat 8.0 und kdm
Wer RedHat 8.0 zum ersten Mal bootet und KDE unter Bluecurve betrachten möchte, wird sich vielleicht über das Aussehen des kdm gewundert haben.
Klar, denn es war ja auch nicht der kdm (also KDE Display Manager), sondern der gdm (GNOME Display Manager). Und das, obgleich KDE als einziger Desktop ausgewählt wurde...
Im Prinzip ja kein grosses Problem, beide DMs tun ihre Arbeit. Nur die Kommunikation scheint nicht ganz zu funktionieren: Meldet man sich am KDE-Desktop ab, erhält man bei einem Standard-KDE (mit kdm) die Möglichkeiten, sich entweder abzumelden, die Maschine herunterzufahren oder zu rebooten. Der gdm bei RedHat bietet nur die Möglichkeit, sich abzumelden, obwohl er dieses Feature im Zusammenhang mit GNOME auch beherrschen soll. Ein Shutdown oder Reboot muss dann vom gdm-Anmeldebildschirm aus angestossen werden - alles in allem eine umständliche, zeitraubende Prozedur. (Und ausserdem hatte man ja nur KDE haben wollen...)
Also auf, das System durchstöbern. In der /etc/inittab findet man den Eintrag, der für den Runlevel 5 den Display-Manager startet:
x:5:respawn:/etc/X11/prefdm -nodaemon
Aha. Was ist das eigentlich für eine Datei?
# file /etc/X11/prefdm /etc/X11/prefdm: Bourne shell script text executable
Ein Shellskript! Schön, denn das kann man sich ja mal ansehen. Mit schon wenig Skriptkenntnissen erkennt man, dass je nach Variable DISPLAYMANAGER entschieden wird, welcher Display Manager denn nun der bevorzugte (preferred) sein soll. Die Variable DISPLAYMANAGER ist vorher im Skript nicht initialisiert worden und muss daher aus der Datei /etc/sysconfig/desktop stammen.
preferred= if [ -f /etc/sysconfig/desktop ]; then . /etc/sysconfig/desktop if [ "$DISPLAYMANAGER" = GNOME ]; then preferred=gdm elif [ "$DISPLAYMANAGER" = KDE ]; then preferred=kdm elif [ "$DISPLAYMANAGER" = XDM ] ; then preferred=xdm fi fi
Und da zeigt sich des Rätsels Lösung: In dieser Datei wird keine Variable DISPLAYMANAGER gesetzt, so dass im weiteren Verlauf des Skripts der gdm als Default verwendet wird!
Ein Beheben des Problems fällt jetzt also leicht:
DISPLAYMANAGER=KDE
als einzelne Zeile in die Datei /etc/sysconfig/desktop einfügen und mittels
init 3; init 5
Viel Spass beim Basteln!