Login
Login-Name Passwort


 
Newsletter
Di, 17. Dezember 2002, 20:55

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
einen Neustart des Display Managers veranlassen. Voilà! Der kdm meldet sich schmucklos, aber funktionell. Und bei Abmeldung erhält man das oben erwähnte Auswahlmenü - endlich.

Viel Spass beim Basteln!

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten