De X beeldschermmanager (XDM) is een optioneel onderdeel van het X Window systeem dat gebruikt wordt voor beheer van aanmeldsessies. Dit is vaak erg handig bij bijvoorbeeld “X Terminals”, desktops en grote netwerk beeldschermservers. Omdat het X Window systeem netwerk- en protocolonafhankelijk is, zijn er veel mogelijkheden om X clients en servers op verschillende machines in een netwerk te verbinden. XDM levert een grafische interface waarmee er gekozen kan worden welke beeldschermserver gebruikt moet worden en handelt autorisatie informatie (gebruikersnaam en wachtwoord) af.
XDM levert de gebruiker dezelfde functionaliteit levert als getty(8) (zie Paragraaf 26.3.2, “Instellen”). Dus het regelt de systeemaanmeldingen voor de schermen waaraan verbonden moet worden en start dan een sessie manager namens de gebruiker (meestal een X window manager). XDM wacht dan tot het programma stopt en geeft aan dat de gebruiker klaar is en afgemeld kan worden. Hierna kan XDM het aanmeldscherm weer tonen zodat de volgende gebruiker kan aanmelden.
Om XDM te gebruiken moet de port
x11/xdm geïnstalleerd worden
(het wordt in recente versies van Xorg niet
standaard geïnstalleerd). Het daemon-programma
XDM is daarna beschikbaar in
/usr/local/bin/xdm
. Dit programma
kan als root
altijd gestart worden en
regelt dan het X weergavegedeelte van de lokale machine. Als
XDM iedere keer bij het opstarten
moet starten is het handig om een regel toe te voegen aan
/etc/ttys
. Meer informatie over het
gebruik van dit bestand staat in Paragraaf 26.3.2.1, “Een regel aan /etc/ttys
toevoegen”.
In de standaardversie van /etc/ttys
staat
een regel om de applicatie daemon
XDM op een virtuele terminal te
draaien:
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
Standaard staat deze regel uit. Om hem aan te zetten moet
veld 5 van off
naar on
gewijzigd worden en moet met init(8) herstart worden met
gebruikmaking van de aanwijzingen in Paragraaf 26.3.2.2, “init
forceren om
/etc/ttys
opnieuw te lezen”.
Het eerste veld, de naam van de terminal die het programma
aanstuurt, is ttyv8
. Dit houdt in dat
XDM op de negende virtuele terminal
begint te draaien.
De map met instellingen voor XDM
is /usr/local/lib/X11/xdm
. In deze map
staan diverse bestanden die gebruikt kunnen worden om het
gedrag en uiterlijk van XDM te
veranderen. Meestal zijn dit de volgende bestanden:
Bestand | Omschrijving |
---|---|
Xaccess | Regels voor client authorisatie. |
Xresources | Standaard waarden voor X bronnen. |
Xservers | Lijst met op afstand en lokaal te beheren schermen. |
Xsession | Standaard sessie script voor logins. |
Xsetup_ * | Script die applicaties start voordat de login interface start. |
xdm-config | Algehele instellingen voor alle schermen op deze machine. |
xdm-errors | Fouten die gegenereerd zijn door het serverprogramma. |
xdm-pid | Het proces ID van de draaiende XDM. |
Tevens staan in deze map een aantal scripts en programma's om het bureaublad in te stellen als XDM draait. Het doel van elk van deze bestanden wordt kort omschreven. De juiste syntaxis en het gebruik van deze bestanden staat in xdm(1).
De standaardinstelling regelt een eenvoudig rechthoekig aanmeldvenster met bovenin de hostnaam van de machine in een groot lettertype met een “Login:” en “Password:” prompt eronder. Dit is een goed beginpunt om het uiterlijk en werking van het XDM venster te veranderen.
Om een verbinding te maken met
XDM-gestuurde schermen wordt het
protocol X Display Manager Connection Protocol (XDMCP)
gebruikt. Het bestand is een set regels die XDMCP
verbindingen met andere machines bestuurt. Het wordt
genegeerd, tenzij xdm-config
is
gewijzigd zodat er wordt geluisterd naar inkomende
verbindingen. Standaard wordt het clients niet toegestaan te
verbinden.
Dit is een bestand met standaarden voor de schermkiezer en de aanmeldschermen. Hier kan het uiterlijk van het aanmeldprogramma gewijzigd worden. De indeling is hetzelfde als bij het app-defaults bestand en is beschreven in de X11 documentatie.
Dit is het standaard sessiescript voor
XDM dat start nadat de gebruiker
is aangemeld. Normaal heeft iedere gebruiker een eigen
sessiescript in ~/.xsession
dat dit
script overheerst.
Deze starten automatisch voordat de kiezers of
aanmeldschermen getoond worden. Er is een script voor ieder
gebruikt scherm met de naam Xsetup_
gevolgd door het lokale schermnummer (bijvoorbeeld
Xsetup_0
). Normaal draaien deze scripts
éé of twee programma's in de achtergrond zoals
xconsole
.
Dit bevat de instellingen die toegepast worden op ieder scherm die deze installatie aanstuurt. De indeling is hetzelfde als van app-defaults.
Hierin staan de meldingen die de X servers geven als
XDM ze probeert te starten. Als
een scherm dat gestart is door XDM
om onduidelijke reden hangt, is dit een goede plaats om te
zoeken naar foutmeldingen. Deze meldingen worden ook per
sessie naar het ~/.xsession-errors
van
de gebruiker gestuurd.
Om gebruikers een verbinding te laten maken met een X
server moeten de toegangsregels gewijzigd worden en de
connectielistener moet aangezet worden. Deze hebben standaard
wat terughoudende waarden. Om XDM
te laten luisteren naar verbindingen moet als eerste een regel
uitgecommentarieerd worden in
xdm-config
:
! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with XDM DisplayManager.requestPort: 0
Hierna moet XDM herstart worden.
Afwijkend in dit bestand is dat commentaar in app-defaults
bestanden begint met het karakter “!” en niet met
het karakter “#”. Het kan wenselijk zijn om de
toegangscontrole aan te scherpen — hiervoor staan
voorbeeldregels in Xaccess
en lees de
hulppagina xdm(1) voor meer informatie.
Er bestaan diverse alternatieven voor het XDM programma. KDM (wordt geleverd bij KDE) wordt later in dit hoofdstuk behandeld. De beeldschermmanager KDM biedt vele grafische verbeteringen en cosmetische franje en de mogelijkheid om de gebruiker de kans te geven een window manager te laten kiezen bij het aanmelden.