![]() ![]() ![]() |
![]() ![]() |
Der xdm
-Dämon stellt dem Nutzer ein grafisches Login zur
Verfügung. Nach erfolgreicher Installation und Konfiguration der X-Servers
(z.B. Runlevel 3, Einstellung in /etc/inittab
) sollte auf SuSE-Systemen der
in folgender Abbildung dargestellte Login-Bildschirm starten.
Die Konfigurationsdateien des xdm
befinden sich im selben Verzeichnis
wie die der Windowmanager (z.B. /usr/X11R6/lib/X11/xdm
bei SuSE,
/etc/X11/xdm
bei RedHat-basierenden Systemen). Die Möglichkeiten
zur Konfiguration des xdm
sind sehr komplex, immerhin ist er neben dem Management
des lokalen Logins auch in der Lage, die Anmeldevorgänge auf entfernten Terminals zu steuern.
An dieser Stelle betrachten wir deshalb nur elementare Schritte, um die Optik des Startbildschirms etwas
aufzufrischen.
Die zentrale Konfigurationsdatei ist xdm-config
, die hier vorgestellt sei:
! $XConsortium: xdm-conf.cpp /main/3 1996/01/15 15:17:26 gildea $ DisplayManager.errorLogFile: /var/log/xdm.errors DisplayManager.pidFile: /var/run/xdm.pid DisplayManager.keyFile: /var/lib/xdm/xdm-keys DisplayManager.authDir: /var/lib/xdm DisplayManager.servers: /usr/X11R6/lib/X11/xdm/Xservers DisplayManager.accessFile: /usr/X11R6/lib/X11/xdm/Xaccess ! All displays should use authorization, but we cannot be sure ! X terminals will be configured that way, so by default ! use authorization only for local displays :0, :1, etc. DisplayManager._0.authorize: true DisplayManager._1.authorize: true DisplayManager.*.authName: -MAGIC-COOKIE-1 ! The following three resources set up display :0 as the console. DisplayManager._0.setup: /usr/X11R6/lib/X11/xdm/Xsetup_0 DisplayManager._0.startup: /usr/X11R6/lib/X11/xdm/GiveConsole DisplayManager._0.reset: /usr/X11R6/lib/X11/xdm/TakeConsole DisplayManager._0.terminateServer: true ! DisplayManager*resources: /usr/X11R6/lib/X11/xdm/Xresources DisplayManager*session: /usr/X11R6/lib/X11/xdm/Xsession DisplayManager*authComplain: false DisplayManager*systemPath: /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usrDisplayManager*userPath: /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr!! !! Handle all other local or remote sessions. !! !! Note: If you want your own special entries you have to use the !! full qualified name of the specific host where the dots !! and colon are replaced by underscores. E.g. DISPLAY !! xterminal01.domain.de:0 is here xterminal01_domain_de_0 !! DisplayManager.*.setup: /usr/X11R6/lib/X11/xdm/Xsetup_default DisplayManager.*.startup: /usr/X11R6/lib/X11/xdm/LogOn DisplayManager.*.reset: /usr/X11R6/lib/X11/xdm/LogOff DisplayManager.*.chooser: /usr/X11R6/lib/X11/xdm/RunChooser DisplayManager.*.terminateServer: false !!
Vereinfacht ausgedrückt, findet in dieser Datei eine Beschreibung statt, welche Datei / welches Skript für welche
Eigenschaft des xdm
verantwortlich ist. Wir betrachten des Weiteren nur eine Auswahl:
DisplayManager.errorLogFile
Ist diese Resource nicht gesetzt, schreibt der xdm
seine Fehlermeldungen auf die Konsole.
DisplayManager.servers
Meist wird zu einer Zeit nur ein X-Server auf dem Rechner aktiv sein (auf jeden Fall stellt nur ein Server
seine Ausgaben auf dem lokalen Bildschirm dar). Stellt der lokale Rechner aber die Ressourcen für andere
Terminals bereit, so muss eine Zuordnung zwischen Server und Display (unter Display versteht man eine Kollektion
aus Monitor und Tastatur/Maus...) getroffen werden.
# Ausschnitt aus einer XServer-Datei # Aufbau einer Zeile für einen lokalen Server :0 local /usr/X11R6/bin/X :0 vt07
:0
für den Namen des Displays, die zweite :0
betrifft den
"Screen" (z.B. zur Ansteuerung eines zweiten Monitors). vt07
ordnet dem Server die 7. Konsole zu. Ist das
Display nicht lokal, muss das Schlüsselwort local
durch foreign
ersetzt werden.
DisplayManager.accessFile
Hier sind die Rechner aufgeführt, denen direkter Zugriff auf einen X-Server des lokalen Rechners gestattet ist.
Wer mit einer neueren SuSE-Version arbeitet und die Verbindung zum X-Server von anderen Rechnern aus zulassen
möchte, der muss diese Datei unbedingt editieren (Ein einzelner Stern *
auf einer Zeile gestattet allen
Rechnern den Zugriff).
DisplayManager*resources
Die hier spezifizierte Datei bestimmt das generelle Aussehen des Anmeldebildschirms.
Der *
bedeutet hier, dass diese Datei für alle Displays gilt.
DisplayManager._0.setup
Falls gesetzt, wird das zugehörige Skript vor dem Start des Anmeldebildschirms ausgeführt.
._0.
besagt, dass diese Datei nur das Display :0
betrifft.
Zum Ende dieses Abschnittes möchte ich noch kurz die Konfigurationsmöglichkeiten andeuten, indem ich sowohl den Hintergrund als auch die Ausschriften des Anmeldebildschirms verändere.
tux.xpm
wird im xpm
-Format ins Verzeichnis des xdm
(/usr/X11R6/lib/X11/xdm
)
abgelegt und die Datei Xsetup_0
angepasst. Außerdem möchte ich auf die X-Konsole verzichten.
#!/bin/sh # # Xsetup_0: Handle the local system console. # # Stark gekürzte Datei # LIBDIR=/usr/X11R6/lib/X11 XDMDIR=${LIBDIR}/xdm BINDIR=/usr/X11R6/bin # hier wird das Hintergrundbild angepasst # # background=${XDMDIR}/BackGround.xpm background=${XDMDIR}/tux.xpm # Die X-Konsole wird auskommentiert # #exec $xconsole -geometry 480x130-0-0 \ # -daemon -notify -nostdin -verbose -exitOnFail #$xmessage -timeout 10 -default okay -center "$0: $xconsole failed." exit 1
Xresources
treffen.
! $XConsortium: Xresources /main/8 1996/11/11 09:24:46 swick $ !! xlogin*login.translations: #override\ !! Oft wird X so konfiguriert, dass es mit <CTRL><ALT><Backspace> !! beendet werden kann. Durch streichen der nächsten Zeile kann dieses !! Verhalten verhindert werden Ctrl<Key>R: abort-display()\n\ <Key>F1: set-session-argument(failsafe) finish-field()\n\ Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\ <Key>Return: set-session-argument() finish-field() !! Hier folgen die optischen Einstellungen xlogin*borderWidth: 4 !! Anzeigetext, der als Überschrift erscheint xlogin*greeting: Willkommen auf CLIENTHOST !! Was soll als Login-Prompt erscheinen xlogin*namePrompt: Anmeldung:\040 xlogin*passwordPrompt: Passwort:\040 !! Was bei einem fehlgeschlagenem Anmeldeversuch xlogin*fail: Anmeldung fehlgeschlagen !! Mit welchen Schriften sollen Ausgaben dargestellt werden xlogin*login.failFont: *-new century schoolbook-bold-r-normal-*-180-* xlogin*login.greetFont: *-new century schoolbook-bold-i-normal-*-240-* xlogin*login.promptFont: *-new century schoolbook-bold-r-normal-*-180-* xlogin*login.Font: *-new century schoolbook-medium-r-normal-*-180-* #ifdef COLOR !! blaue Schrift xlogin*greetColor: #0000b6 xlogin*failColor: red *Foreground: black !! Goldener Hintergrund *Background: #ffd700 #else xlogin*Foreground: black xlogin*Background: white #endif # gekürzt!!!
Das neue Erscheinungsbild des Anmeldebildschirms zeigt die folgende Abbildung.
![]() ![]() ![]() |
![]() ![]() |