Der Anmeldemanager ist ein Server, der einen Anmeldebildschirm anzeigt, die Zugriffsberechtigungen der Benutzer prüft und Benutzersitzungen startet. Die graphische Anmeldung ist auf graphikfähigen Bildschirmen eine attraktive Alternative zur Anmeldung im herkömmlichen Zeichenmodus. Die vom Anmelde-Server verwalteteten Anzeigen können direkt dem Anmelde-Server zugeordnet oder mit einem X-Terminal bzw. einer Workstation im Netzwerk verbunden werden.
Der Anmelde-Server kann nur vom Benutzer 'root' gestartet, angehalten oder konfiguriert werden.
Der Anmelde-Server führt folgende Aktionen aus:
Anzeigen eines Anmeldebildschirms uneingeschränkt oder auf Anforderung auf lokalen und Netzwerk-Grafikanzeigen.
Anpassen direkt angeschlossener Zeichenkonsolenanzeigen.
Anzeigen eines Auswahlbildschirms, mit dem der Benutzer Anmeldebildschirme anderer Server im Netzwerk anzeigen kann.
Kontrollierter Zugriff auf den Anmelde-Server.
Ermöglichen des Zugriffs auf die Anmeldung im herkömmlichen Zeichenmodus.
Vom Anmeldemanager verwaltete Anzeigen können direkt mit dem Anmelde-Server oder mit einem X-Terminal bzw. einer Workstation im Netzwerk verbunden sein. Für lokale Anzeigen startet der Anmelde-Server automatisch einen X-Server und zeigt einen Anmeldebildschirm an. Für Netzwerkanzeigen (z. B. X-Terminals) unterstützt der Anmelde-Server das XDMCP-Protokoll (X Display Manager Protocol) 1.0, mit dem Anzeigen eines Anmeldebildschirms vom Anmelde-Server angefordert werden können.
Der Anmelde-Server wird normalerweise beim Starten des Systems ausgeführt. Er kann aber auch von der Befehlszeile gestartet werden.
Mit dem folgenden Befehl kann der Anmelde-Server so konfiguriert werden, daß er beim Systemstart ausgeführt wird: /usr/dt/bin/dtconfig -e.
Der Anmelde-Server wird dann bei jedem Neustart des Systems automatisch aufgerufen.
Weitere Informationen über das Desktop-Konfigurationsprogrammdtconfig finden Sie in Anhang A. Dort finden Sie eine Kopie der Hilfeseite dtconfig.1.
Mit dem folgenden Befehl starten Sie den Anmelde-Server von der Befehlszeile: /usr/dt/bin/dtlogin -daemon; exit.
Der Anmelde-Server kann zwar über der Befehlszeile aufgerufen werden, um eine bestimmte Konfiguration zu testen, er sollte aber normalerweise beim Systemstart ausgeführt werden.
Abbildung 1-1 zeigt eine mögliche Konfiguration des Anmelde-Servers.
Standardmäßig wird die Prozeß-ID des Anmelde-Servers in der Datei /var/dt/Xpid gespeichert.
Soll eine andere Datei verwendet werden, ändern Sie die Ressource Dtlogin.pidFile in der Konfigurationsdatei Xconfig. Wird eine Änderung vorgenommen, muß das angegebene Verzeichnis beim Starten des Anmelde-Servers bereits existieren.
Um die Datei Xconfig zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config. Nehmen Sie die gewünschten Änderungen in /etc/dt/config/Xconfig vor, und veranlassen Sie anschließend den Anmelde-Server mit dem folgenden Befehl, der den Anmelde-Server anweist, die Datei Xconfig neu zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird der Befehl kill -HUP Anmelde-Server_Prozeß_ID aufgerufen.
Soll die Prozeß-ID des Anmelde-Servers beispielsweise in der Datei /var/myservers/Dtpid gespeichert werden, nehmen Sie folgende Zeile in die Datei Xconfig auf:
Dtlogin.pidFile: /var/myservers/Dtpid
Nach dem Neustart des Anmelde-Servers wird seine Prozeß-ID in der Datei /var/myservers/Dtpid gespeichert. Das Verzeichnis /var/myservers muß bereits vorhanden sein.
Beim Starten ermittelt der Anmelde-Server in der Datei Xservers, ob ein X-Server gestartet werden muß sowie ob und wie Anmeldebildschirme auf lokalen und Netzwerkbildschirmen angezeigt werden sollen.
Um die Datei Xservers zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config. Nehmen Sie die Änderungen in /etc/dt/config/Xservers vor, und weisen Sie den Server durch folgenden Befehl an, die Datei Xservers erneut zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird der Befehl kill -HUP Anmelde-Server_Prozeß_ID ausgeführt.
Die Zeilen in der Datei Xservers müssen im folgenden Format angegeben werden:
Anzeigename Anzeigeklasse Anzeigetyp X_Server_Befehl
Die Argumente haben folgende Bedeutung:
Anzeigename - Der für die Verbindung mit dem X-Server zu verwendende Verbindungsname (:0 im folgenden Beispiel). Der Wert * (Sternchen) wird zu Hostname:0 erweitert. Der angegebene Wert muß mit der Verbindungsnummer im Argument X_Server_Befehl übereinstimmen.
Anzeigeklasse - Spezifische Ressourcen für die Anzeige (im folgenden Beispiel Local).
Anzeigetyp - Dieses Argument gibt an, ob eine lokale oder eine Netzwerkanzeige vorliegt und wie die Option 'Befehlszeilenanmeldung' im Anmeldebildschirm verwaltet wird (local@console im folgenden Beispiel).
X_Server_Befehl - Die Befehlszeile, Verbindungsnummer und andere Optionen, die der Anmelde-Server zum Starten des X-Servers verwendet (im folgenden Beispiel /usr/bin/X11/X: 0). Die Verbindungsnummer muß mit dem in Anzeigename angegebenen Wert übereinstimmen.
Die Standardzeile in Xservers sieht ungefähr folgendermaßen aus:
:0 Local local@console /usr/bin/X11/X :0
Besitzt das Anmelde-Server-System keine Grafikanzeige, können Sie den Anmelde-Server auch ohne lokale Anzeige starten, indem Sie die Zeile für die lokale Anzeige in der Datei Xservers mit einem #-Zeichen auskommentieren. Ein Beispiel:
# :0 Local local@console /usr/bin/X11/X :0
Der Server läuft dann nach dem Start als Hintergrundprozeß und wartet auf Anforderungen von Netzwerkanzeigen.
Wählt der Benutzer im Anmeldebildschirm die Option 'Befehlszeilenanmeldung', beendet der Anmelde-Server vorübergehend den X-Server und ermöglicht auf einem grafikfähigen Terminal den Zugriff auf die herkömmliche Anmeldung in der Befehlszeile. Nachdem sich der Benutzer an- und wieder abgemeldet hat, bzw. nach einer definierten Zeitüberschreitung, startet der Anmelde-Server den X-Server neu.
Auf Netzwerkanzeigen ist die Option 'Befehlszeilenanmeldung' nicht verfügbar.
Das Argument Anzeigetyp steuert die Funktionsweise der Option 'Befehlszeilenanmeldung'. Das Format von Anzeigetyp lautet:
Wird local@Anzeige_Terminalgerät angegeben, sucht der Anmelde-Server den X-Server und /dev/Anzeige_Terminalgerät auf demselben physischen Gerät und setzt voraus, daß eine Befehlszeilenanmeldung (normalerweise getty) auf dem Gerät ausgeführt wird. Wählt der Benutzer 'Befehlszeilenanmeldung', wird der X-Server beendet und ermöglicht den Zugriff auf die Befehlszeilenanmeldung (getty), die auf /dev/Anzeige_Terminalgerät ausgeführt wird.
Die Option 'Befehlszeilenanmeldung' kann für eine Anzeige deaktiviert werden, indem der Wert none für Anzeige_Terminalgerät angegeben wird. Der Standardwert für Anzeige_Terminalgerät ist console. Wird der Wert local angegeben, erhält Anzeige_Terminalgerät automatisch den Standardwert console. Bei Angabe von foreign wird die Option 'Befehlszeilenanmeldung' deaktiviert.
Die Option 'Befehlszeilenanmeldung' ist auf einer lokalen Anzeige deaktiviert, wenn der Anmelde-Server von der Befehlszeile aus gestartet wird.
Verfügt das Anmelde-Server-System über eine direkt angeschlossene Zeichenanzeige als Konsole, sollte Anzeige_Terminalgerät auf none gesetzt werden, damit die Option 'Befehlszeilenanmeldung' auf einem grafikfähigen Anmeldebildschirm deaktiviert wird.
Sie können aber auch Anzeige_Terminalgerät auf der Grafikanzeige in das Gerät für die Befehlszeilenanmeldung (getty) ändern, wenn dieses auf der Zeichenkonsole und der Grafikanzeige ausgeführt wird.
Befindet sich beispielsweise die Befehlzeilenanmeldung für die Grafikanzeige (getty) auf dem Gerät /dev/tty01, ändern Sie den Wert von Anzeigetyp zu local@tty01.
Der Anmelde-Server kann Anforderungen von Netzwerkanzeigen zur Anzeige eines Anmeldefensters entgegennehmen. Die Netzwerkanzeige ist normalerweise ein X-Terminal, kann aber auch eine Workstation sein.
Um Anforderungen von Netzwerkanzeigen zu verwalten, unterstützt der Anmelde-Server das Protokoll XDMCP (X Display Manager Protocol) 1.0. Es ermöglicht dem Server, die Anforderungen anzunehmen oder abzulehnen. Bei den meisten X-Terminals ist XDMCP integriert.
Wird ein X-Terminal so konfiguriert, daß XDMCP direkt verwenden wird (Abfragemodus), wird dem X-Terminal der Hostname des Anmelde-Server-Systems mitgeteilt. Das X-Terminal nimmt dann beim Starten automatisch Kontakt mit dem Anmelde-Server auf, und dieser zeigt ein Anmeldefenster auf dem X-Terminal an. In der Dokumentation des X-Terminals wird beschrieben, wie das Terminal für den XDMCP-Direktmodus konfiguriert werden kann.
Die meisten X-Server unterstützen auch die Option -query. In diesem Modus verhält sich der X-Server wie ein X-Terminal und sendet eine Anforderung an den Anmelde-Server, damit dieser ein Anmeldefenster anzeigt. Wird beispielsweise der X-Server auf einer Grafikanzeige auf Workstation bridget gestartet, zeigt der Anmelde-Server anita einen Anmeldebildschirm auf dem X-Server an:
X -query anita
Wird ein X-Terminal so konfiguriert, daß XDMCP indirekt verwendet wird, wird dem X-Terminal der Hostname des Anmelde-Server-Systems mitgeteilt. Das X-Terminal nimmt dann beim Starten automatisch Kontakt mit dem Anmelde-Server auf, und dieser zeigt in einem Auswahlfenster eine Liste der anderen Anmelde-Server-Hosts im Netzwerk an. Der Benutzer kann aus der Liste den Host wählen, der ein Anmeldefenster auf dem X-Terminal anzeigen soll. In der Dokumentation des X-Terminals wird beschrieben, wie das Terminal für den indirekten XDMCP-Modus konfiguriert werden kann.
Die meisten X-Server unterstützen die Option -indirect. In diesem Modus nimmt der X-Server im indirekten XDMCP-Modus Kontakt mit dem Anmelde-Server auf.
Ältere X-Terminals unterstützen möglicherweise XDMCP nicht. Damit der Anmelde-Server einen Anmeldebildschirm auf diesen Terminals anzeigen kann, muß der Name des X-Terminals in die Datei Xserversaufgenommen werden.
Da sich die Anzeige in einem Netzwerk befindet, muß Anzeigename den Hostnamen als Namenskomponente enthalten. Mit Anzeigeklasse können spezifische Ressourcen einer bestimmten Klasse von X-Terminals angegeben werden (die Klasse des X-Terminals können Sie der zugehörigen Dokumentation entnehmen). Der Wert foreign für Anzeigetyp weist den Anmelde-Server an, keinen eigenen X-Server zu starten, sondern eine Verbindung mit einem vorhandenen X-Server herzustellen. In diesem Fall wird X_Server_Befehl nicht angegeben.
Durch die folgenden Zeilen in der Datei Xservers zeigt der Anmelde-Server einen Anmeldebildschirm auf den beiden X-Terminals ruby und wolfie:
ruby.blackdog.com:0 AcmeXsta foreign wolfie:0 PandaCo foreign
Standardmäßig kann jeder Host im Netzwerk, der Zugriff auf den Anmelde-Server-Host hat, die Anzeige eines Anmeldefensters anfordern. Der Zugriff auf den Anmelde-Server kann durch Ändern der Datei Xaccess eingeschränkt werden.
Um die Datei Xaccess zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config . Nehmen Sie die gewünschten Änderungen in /etc/dt/config/Xaccess vor, und weisen Sie anschließend den Anmelde-Server durch folgenden Befehl an, die Datei Xaccess erneut zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird der Befehl kill -HUP Anmelde-Server_Prozeß_ID ausgeführt.
Versucht ein Host, im direkten XDMCP-Modus eine Verbindung mit dem Anmelde-Server herzustellen, wird der Hostname mit den Einträgen in der Datei Xaccess verglichen. In dieser Datei sind die Hosts aufgeführt, die auf den Anmelde-Server zugreifen dürfen. Jeder Eintrag in Xaccess ist ein Hostname, der auch die Platzhalterzeichen * (Sternchen) und ? (Fragezeichen) enthalten kann. Ein * entspricht beliebig vielen und ein ? einem beliebigen Zeichen. Ist ein ! (Ausrufezeichen) angegeben, ist dem betreffenden Host der Zugriff nicht gestattet. Fehlen solche Angaben, ist der Zugriff gestattet.
Ein Beispiel: Die Datei Xaccess enthält die folgenden drei Einträge:
amazon.waterloo.com *.dept5.waterloo.com !*
Der erste Eintrag erlaubt dem Host amazon.waterloo.com den Zugriff auf den Anmelde-Server, der zweite allen Hosts, deren Domain-Name mit dept5.waterloo.com endet, und der letzte Eintrag verweigert allen anderen Hosts den Zugriff.
Versucht ein Host, im indirekten XDMCP-Modus eine Verbindung mit dem Anmelde-Server herzustellen, wird der Hostname mit den Einträgen in der Datei Xaccess verglichen. In dieser Datei sind die Hosts aufgeführt, die auf den Anmelde-Server zugreifen dürfen. Die Einträge in Xaccess entsprechen den Einträgen für den direkten XDMCP-Modus (einschließlich Platzhalterzeichen), werden aber zusätzlich mit der Zeichenfolge CHOOSER gekennzeichnet. Beispiel:
amazon.waterloo.com CHOOSER BROADCAST *.dept5.waterloo.com CHOOSER BROADCAST !* CHOOSER BROADCAST
Wie im vorhergehenden Beispiel erlaubt der erste Eintrag dem Host amazon.waterloo.com den Zugriff auf den Anmelde-Server, der zweite allen Hosts, deren Domain-Name mit dept5.waterloo.com endet, und der letzte Eintrag verweigert allen anderen Hosts den Zugriff.
Nach der Zeichenfolge CHOOSER kann einer der folgenden Einträge aufgeführt werden:
BROADCAST bewirkt, daß der Anmelde-Server eine Nachricht an alle Systeme seines Teilnetzwerks sendet, um eine Liste der verfügbaren Anmelde-Server-Hosts zu erstellen. Wird zusätzlich eine Liste angegeben, wird diese als Liste der verfügbaren Anmelde-Server-Hosts verwendet. Beispiel:
amazon.waterloo.com CHOOSER shoal.waterloo.com alum.waterloo.com *.dept5.waterloo.com CHOOSER BROADCAST !* CHOOSER BROADCAST
Stellt amazon.waterloo.com eine Verbindung im indirekten XDMCP-Modus her, erhält das System eine Liste mit den beiden Hosts shoal und alum. Stellt alice.dept5.waterloo.com eine Verbindung her, enthält die Liste alle verfügbaren Anmelde-Server-Hosts im Teilnetzwerk des Anmelde-Servers. Anforderungen anderer Hosts im indirekten XDMCP-Modus werden nicht akzeptiert.
Anstatt eine Liste der Hostnamen anzugeben, können auch wie im folgenden Beispiel ein oder mehrere Makros definiert werden, die eine Host-Liste angeben. Beispiel:
%list1 shoal.waterloo.com alum.waterloo.com amazon.waterloo.com CHOOSER %list1
Standardmäßig protokolliert der Anmelde-Server alle Fehler in der Datei /var/dt/Xerrors. Soll eine andere Datei verwendet werden, ändern Sie die Ressource Dtlogin.errorLogFile in der Konfigurationsdatei Xconfig. Das im Pfad angegebene Verzeichnis muß beim Start des Anmelde-Servers bereits existieren.
Sollen die Fehler beispielsweise in der Datei /var/mylogs/Dterrors protokolliert werden, muß die Datei Xconfig folgende Zeile enthalten:
Dtlogin.errorLogFile: /var/mylogs/Dterrors
Wird der Anmelde-Server anschließend neu gestartet, schreibt er die Fehler in die Datei /var/mylogs/Dterrors. Das Verzeichnis /var/mylogs muß jedoch bereits vorhanden sein.
Soll der Anmelde-Server beim Booten des Systems nicht gestartet werden, geben Sie folgenden Befehl ein:
/usr/dt/bin/dtconfig -d
Der Anmelde-Server wird dann nicht automatisch ausgeführt, wenn das System neu gestartet wird.
Sie können den Anmelde-Server auch beenden, indem Sie die Prozeß-ID folgendermaßen löschen:
/usr/dt/bin/dtconfig -kill
Dadurch wird folgender Befehl ausgeführt: kill Anmelde-Server_Prozeß_ID.
Durch das Abbrechen des Anmelde-Server-Prozesses werden alle vom Server verwalteten Benutzersitzungen beendet.
Sie können den Anmelde-Server durch Löschen der Prozeß-ID beenden. Die Prozeß-ID wird in der Datei /var/dt/Xpid oder in der Datei gespeichert, die in der Xconfig-Datei durch die Ressource Dtlogin.pidFile festgelegt wird.
Sind Sie beim Beenden des Anmelde-Servers beim Desktop angemeldet, wird die Desktop-Sitzung sofort geschlossen.
Der Anmeldebildschirm stellt eine attraktive Alternative zu herkömmlichen Anmeldefenstern im Zeichenmodus dar und bietet ein Leistungsspektrum, das weit über die Möglichkeiten der Anmeldung im Zeichenmodus hinausgeht.
Wie bei der Anmeldung im Zeichenmodus muß der Benutzer einen Benutzernamen und ein Paßwort eingeben. Besteht Zugriffsberechtigung, startet der Anmelde-Server eine Desktop-Sitzung für den Benutzer. Beendet der Benutzer die Sitzung, zeigt der Anmelde-Server ein neues Anmeldefenster an, und der Prozeß wird wiederholt.
Der Anmeldebildschirm kann folgendermaßen angepaßt werden:
Das Erscheinungsbild des Anmeldebildschirms ändern.
Die X-Zugriffsberechtigung für den X-Server konfigurieren.
Die Standardsprache ändern.
Befehle vor dem Anzeigen des Anmeldebildschirms ausführen.
Das Menü 'Sprachen' des Anmeldebildschirms ändern.
Den Befehl zum Starten der Benutzersitzung angeben.
Befehle vor dem Starten der Benutzersitzung ausführen.
Befehle nach dem Beenden der Benutzersitzung ausführen.
Jede dieser Aktionen kann für alle Anzeigen gemeinsam oder für jede Anzeige einzeln durchgeführt werden.
Das Erscheinungsbild des Anmeldebildschirms kann angepaßt werden, indem das Logo oder die Grafik, die Begrüßungsmeldungen und die Schriftarten geändert werden.
Um die Datei Xresources zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config/Sprache in das Verzeichnis /etc/dt/config/Sprache. Die vorgenommenen Änderungen werden beim nächsten Anzeigen des Anmeldefensters wirksam. Soll der Anmeldebildschirm sofort aktualisiert werden, wählen Sie 'Anmeldeanzeige zurücksetzen' im Menü 'Optionen'.
Folgende Attribute des Anmeldebildschirms können mit den Ressourcenspezifikationen in der Datei Xresources festgelegt werden:
Dtlogin*logo*bitmapFile - Bitmap- oder Pixmap-Datei für Logo
Dtlogin*greeting*persLabelString - Persönliche Begrüßungsmeldung
Dtlogin*greeting*labelString - Begrüßungsmeldung
Dtlogin*greeting*fontList - Schriftart für Begrüßungsmeldung
Dtlogin*labelFont - Schriftart für Schaltflächen und Beschriftungen
Dtlogin*textFont - Schriftart für Hilfe- und Fehlermeldungen
Dtlogin*Sprache*languageName - Alternativer Text für Gebietsschema Sprache
Das Logo wird mit der Ressource Dtlogin*logo*bitmapFile in der Datei Xresources festgelegt.
Es kann eine farbige Pixmap- oder eine Bitmap-Datei verwendet werden.
Im folgenden Beispiel wird die Bitmap-Datei Mylogo als Logo verwendet:
Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Mylogo.bm
Standardmäßig zeigt der Anmelde-Server die Meldung Willkommen bei Hostname im Anmeldebilschirm an. Dieser Text kann folgendermaßen geändert werden:
Ändern Sie den Wert der Ressource Dtlogin*greeting*labelString in der Datei Xresources.
Die Ressource labelString kann den Wert %LocalHost% enthalten, der durch den Hostnamen des Anmelde-Servers ersetzt wird, sowie den Wert %DisplayName%, für den der X-Server-Anzeigename eingesetzt wird.
Im folgenden Beispiel wird die Begrüßungsmeldung in Hier ist Hostname! geändert:
Dtlogin*greeting*labelString: Hier ist %LocalHost%!
Nachdem der Benutzername eingegeben wurde, zeigt der Anmelde-Server die Standardmeldung Willkommen Benutzername an. Dieser Text kann mit der Ressource Dtlogin*greeting*persLabelString in der Datei Xresources geändert werden. Der Wert von persLabelString kann die Variable %s enthalten, die durch den Benutzernamen ersetzt wird.
Im folgenden Beispiel wird die persönliche Begrüßungsmeldung in Hallo username geändert.
Dtlogin*greeting*persLabelString: Hallo %s
Die im Anmeldebildschirm verwendeten Schriftarten können mit den folgenden Ressourcen in der Datei Xresources geändert werden:
Dtlogin*greeting*fontList - Schriftart für Begrüßungsmeldungen
Dtlogin*labelFont - Schriftart für Schaltflächen und Beschriftungen
Dtlogin*textFont - Schriftart für Hilfe- und Fehlermeldungen
Mit folgendem Befehl können die verfügbaren Schriftarten abgerufen werden:
xlsfonts [-Optionen][-fn Muster]
Im folgenden Beispiel wird für die Begrüßungsmeldung eine große Schrift verwendet (der Wert muß in eine Zeile eingegeben werden):
Dtlogin*greeting*fontList: -dt-interface \ system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:
Soll im Menü 'Sprachen' des Anmeldebildschirms statt der Standardnamen landesspezifischer Text angezeigt werden, ändern Sie die Ressource Dtlogin*Sprache*languageName in der Datei Xresources:
Dtlogin*En_US*languageName: American
Der Text American wird ab jetzt statt des Gebietsschemanamens En_US angezeigt.
Die Funktionsweise des Anmeldebildschirms kann durch Ändern der entsprechenden Ressourcen in der Datei Xconfig angepaßt werden.
Um die Datei Xconfig zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config. Nehmen Sie die gewünschten Änderungen in /etc/dt/config/Xconfig vor, und veranlassen Sie anschließend den Anmelde-Server mit dem folgenden Befehl, der den Anmelde-Server anweist, die Datei Xconfig neu zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird folgender Befehl ausgeführt: kill -HUP Anmelde-Server_Prozeß_ID.
Die Datei Xconfig enthält folgende Ressourcen:
Dtlogin*authorize - Xaccess - Dateispezifikation
Dtlogin*environment - X-Server-Umgebung
Dtlogin*language - Standardsprache
Dtlogin*languageList - Liste der Sprachen für das Menü 'Sprachen'
Dtlogin*resources - Xresources-Dateispezifikation
Dtlogin*setup - Xsetup-Dateispezifikation
Dtlogin*startup - Xstartup-Dateispezifikation
Dtlogin*session - Xsession-Dateispezifikation
Dtlogin*failsafeClient - Xfailsafe-Skriptspezifikation
Dtlogin*reset - Xreset-Skriptspezifikation
Dtlogin*userPath - PATH für Xsession und Xfailsafe
Dtlogin*systemPath - PATH für Xsetup, Xstartup und Xfailsafe
Dtlogin*systemShell - SHELL für Xsetup, Xstartup und Xfailsafe
Dtlogin.timeZone - Zeitzone für alle Skripts
In den folgenden Beispielen wird durch das Ändern einer Ressource in der Datei Xconfig die betreffende Funktion für alle Anzeigen angepaßt. Die mit einem * (Sternchen) gekennzeichneten Ressourcen können für jede Anzeige getrennt festgelegt werden. Dadurch können für einzelne Anzeigen angepaßte Anmeldebildschirme konfiguriert werden. Soll eine Ressource für eine bestimmte Anzeige festgelegt werden, geben Sie die Ressource als Dtlogin*Anzeigename *Ressource an. Folgendermaßen können Sie beispielsweise die benutzerbasierte Zugriffssteuerung für die Anzeige expo:0 deakivieren, jedoch für alle anderen Anzeigen aktiviert lassen:
Dtlogin*expo_0*authorize: False
Alle Sonderzeichen im Anzeigenamen (z. B. Doppelpunkte oder Punkte) werden durch Unterstriche ( _ ) ersetzt.
Standardmäßig steuert der Anmelde-Server die Zugriffsrechte auf den X-Server für jeden Benutzer getrennt. Dazu werden Informationen in der Datei Home-Verzeichnis/.Xauthority gespeichert und geschützt. Nur Benutzer mit Leserechten für diese Datei können eine Verbindung mit dem X-Server herstellen. Normalerweise ist das die beste Methode, den Zugriff auf den X-Server zu steuern.
Eine Alternative zur benutzerbasierten ist die Zugriffssteuerung auf Host-Basis. Bei dieser Vorgehensweise kann jeder Benutzer auf einem Host mit Zugriffsberechtigung eine Verbindung mit dem X-Server herstellen. Es gibt folgende Gründe für die Verwendung der Zugriffssteuerung auf Host-Basis:
Ältere R2 und R3 X-Clients können mit der benutzerbasierten Zugriffssteuerung keine Verbindung mit dem X-Server herstellen.
In ungesicherten Netzwerken können die Berechtigungsinformationen abgefangen werden, die zwischen dem X-Client und dem X-Server im Netzwerk ausgetauscht werden.
Mit der Ressource Xconfig Dtlogin*authorize wird festgelegt, daß der Anmelde-Server die benutzerbasierte Zugriffssteuerung verwendet. Soll die Zugriffssteuerung auf Host-Basis erfolgen, ändern Sie den Wert der Ressource in False. Ein Beispiel:
Dtlogin*authorize: False
Sollen dem X-Server beim Start durch den Anmelde-Server eine oder mehrere Umgebungsvariablen und -werte zur Verfügung gestellt werden, geben Sie diese über die Ressource Dtlogin*environment in der Datei Xconfig an. Beispiel:
Dtlogin*environment: VAR1=foo VAR2=bar
Der lokale X-Server erhält den Zugriff auf die Variablen VAR1 und VAR2. Die Variablen werden auch in die Skripts Xsession und Xfailsafe exportiert.
Wenn sich der Benutzer im Anmeldebildschirm beim Desktop anmeldet, wird die Benutzersitzung mit dem im Menü 'Sprachen' gewählten Gebietsschema ausgeführt. Wählt der Benutzer keine Sprache aus, wird die Standardeinstellung des Anmelde-Servers verwendet. Die Standardsprache kann mit der Ressource Dtlogin*language in der Datei Xconfig festgelegt werden. Beispiel:
Dtlogin*language: Ja_JP
Der Dokumentation des Systems können Sie entnehmen, welche Sprachen auf Ihrem System verfügbar sind.
Standardmäßig werden im Menü 'Sprachen' des Anmeldebildschirms alle im System installierten Sprachen angezeigt. Wählt der Benutzer eine Sprache aus der Liste, wird der Anmeldebildschirm im gewählten Gebietsschema erneut angezeigt. Meldet sich der Benutzer dann später an, wird die Desktop-Sitzung mit diesem Gebietsschema gestartet.
Sie können eine eigene Liste mit Sprachen erstellen, indem Sie die Ressource Dtlogin*languageList in der Datei Xconfig entsprechend ändern:
Dtlogin*languageList: En_US De_DE
Der Anmelde-Server zeigt jetzt nur die Einträge En_US und De_DE im Menü 'Sprachen' an.
Der Anmelde-Server führt nach dem Starten des X-Servers, jedoch vor dem Anzeigen des Anmeldebildschirms das Skript Xsetup aus. Xsetup wird mit der Zugriffsberechtigung 'root' ausgeführt und enthält Befehle, die vor dem Anzeigen des Anmeldebildschirms aufgerufen werden müssen.
Um die Datei Xsetup zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config. Beim nächsten Erscheinen des Anmeldebildschirms wird dann die geänderte Xsetup-Datei ausgeführt.
Nachdem der Benutzername und das Paßwort eingegeben wurden und die Zugriffsberechtigung überprüft wurde, jedoch bevor die Benutzersitzung gestartet wird, führt der Anmelde-Server das Skript Xstartup aus. Xstartup wird mit der Zugriffsberechtigung 'root' ausgeführt und enthält Befehle, die vor dem Starten der Benutzersitzung ausgeführt werden müssen.
Um die Datei Xstartup zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config. Meldet sich der Benutzer das nächste Mal an, wird die geänderte Xstartup-Datei ausgeführt.
Standardmäßig startet der Anmelde-Server die Benutzersitzung, indem er das Skript Xsession ausführt. Xsession wird mit der Zugriffsberechtigung des Benutzers ausgeführt und enthält die Befehle, die zum Starten des Desktops benötigt werden.
Aktualisieren Sie das Skript Xsession nicht direkt.
Im Abschnitt Kapitel 2 finden Sie weitere Informationen zum Anpassen des Sitzungsstarts auf einem Benutzer-Desktop.
Wählt der Benutzer im Untermenü 'Sitzungen' des Menüs 'Optionen' die Option 'Failsafe-Sitzungen', führt der Anmelde-Server das Skript Xfailsafe aus. Xfailsafe wird mit der Zugriffsberechtigung des Benutzers ausgeführt und enthält die Befehle, die zum Starten einer minimalen Fensterumgebung benötigt werden (normalerweise ein Terminalfenster und ein optionaler Fenstermanager).
Um die Datei Xfailsafe zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config. Meldet sich der Benutzer das nächste Mal an, wird die geänderte Xfailsafe-Datei ausgeführt.
Nachdem der Benutzer die Desktop- oder Failsafe-Sitzung beendet hat, führt der Anmelde-Server das Skript Xreset aus. Xreset wird mit der Zugriffsberechtigung 'root' ausgeführt und enthält Befehle, die nach dem Beenden der Benutzersitzung ausgeführt werden müssen.
Um die Datei Xreset zu ändern, kopieren Sie sie aus dem Verzeichnis /usr/dt/config in das Verzeichnis /etc/dt/config. Bei der nächsten Sitzung des Benutzers wird die geänderte Xreset-Datei verwendet.
Die Umgebung des Anmelde-Servers wird in die Skripts Xsetup, Xstartup, Xsession, Xfailsafe und Xreset exportiert. Tabelle 1-1. enthält eine Beschreibung der Umgebung. Es können auch weitere Variablen vom Anmelde-Server exportiert werden.
Tabelle 1-1 Umgebung des Anmelde-Servers
Umgebungs- variable |
Xsetup |
Xstartup |
Xsession |
Xreset |
Beschreibung |
---|---|---|---|---|---|
X |
X |
X |
X |
Standard- oder gewählte Sprache. |
|
X |
X |
X |
X |
Andere X-Berechtigungsdatei (optional). |
|
X |
X |
X |
X |
Wert der Ressource Dtlogin*userPath (Xsession , Xfailsafe) oder Dtlogin*systemPath (Xsetup, Xstartup, Xreset). |
|
X |
X |
X |
X |
Verbindungsnummer des X-Servers. |
|
X |
X |
X |
X |
In Datei /etc/passwd (Xsession, Xfailsafe) oder Ressource Dtlogin*systemShell (Xsetup, Xstartup , Xreset) angegebene Shell. |
|
X |
X |
X |
X |
Wert der Ressource Dtlogin.timeZone oder vom System vorgegebene Zeitzone. |
|
|
X |
X |
X |
Benutzername |
|
|
X |
X |
X |
In /etc/passwd angegebenes Home-Verzeichnis. |
|
|
X |
X |
X |
Benutzername |
Der Anmelde-Server setzt die Umgebungsvariable PATH beim Ausführen der Skripts Xsession und Xfailsafe. Sie können auch einen anderen Pfad für die Skripts angeben.
Legen Sie den Benutzerpfad wird über die Ressource Dtlogin*userPath in der Datei Xconfig fest. Beispiel:
Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11
Der Systempfad wird über die Ressource Dtlogin*systemPath in der Datei Xconfig festgelegt. Beispiel:
Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb
Der Anmelde-Server setzt die Umgebungsvariable SHELL beim Ausführen der Skripts Xsetup, Xstartup und Xfailsafe. Der Standardwert ist /bin/sh. Soll eine andere Shell für diese Skripts verwendet werden, ändern Sie den Wert der Ressource Dtlogin*systemShell in der Datei Xconfig. Beispiel:
Dtlogin*systemShell: /bin/ksh
Der Anmelde-Server setzt die Umgebungsvariable TZ beim Ausführen der Skripts Xsetup, Xstartup, Xsession, Xfailsafe und Xreset. Der Standardwert wird aus dem System ermittelt und muß normalerweise nicht geändert werden. Soll eine andere Zeitzone verwendet werden, ändern Sie den Wert der Ressource Dtlogin.timeZone in der Datei Xconfig. Beispiel:
Dtlogin.timeZone: CST6CDT
Beim Aufrufen des Anmelde-Servers wird ein dtlogin-Prozeß gestartet. Der Prozeß dtlogin liest die Datei Xconfig, um die Anfangskonfiguration des Anmelde-Servers und die anderen Konfigurationsdateien des Anmelde-Servers zu ermitteln. Der Anmelde-Server liest dann die Datei Xservers, um festzustellen, ob explizit zu verwaltende Anzeigen vorhanden sind. Außerdem liest er die Datei Xaccess, um den Zugriff auf den Anmelde-Server zu steuern.
Stellt der Anmelde-Server in der Datei Xservers fest, daß eine lokale Anzeige verwaltet werden muß, startet er entsprechend den Anweisungen in der Datei Xservers einen X-Server und zeigt anschließend einen Anmeldebildschirm auf der lokalen Anzeige an.
Stellt der Anmelde-Server in der Datei Xservers fest, daß eine Netzwerkanzeige verwaltet werden muß, wird unterstellt, daß bereits ein X-Server mit dem angegebenen Anzeigenamen ausgeführt wird, und zeigt einen Anmeldebildschirm auf der Netzwerkanzeige an.
Anschließend wartet der Anmelde-Server auf XDMCP-Anforderungen aus dem Netzwerk.
Für jede verwaltete Anzeige erstellt der Anmelde-Server zuerst einen neuen dtlogin-Prozeß. Verwaltet der Server n Anzeigen, sind n+1 dtlogin-Prozesse vorhanden. Der Anmelde-Server führt dann das Skript Xsetup aus, lädt die Datei Xresources und startet dtgreet, um den Anmeldebildschirm anzuzeigen. Nachdem der Benutzername und das Paßwort eingegeben und die Zugangsberechtigung überprüft worden ist, führt der Anmelde-Server das Xstartup-Skript und anschließend das Xsession- oder Xfailsafe-Skript aus. Wenn der Benutzer die Sitzung beendet, führt der Anmelde-Server das Xreset-Skript aus.
Erhält der Anmelde-Server eine indirekte XDMCP-Anforderung, führt er dtchooser aus, um eine Liste der Anmelde-Server-Hosts auf der Anzeige auszugeben. Wählt der Benutzer einen Host aus der Liste, wird die Anzeige vom Anmelde-Server dieses Hosts verwaltet.
Bei den Konfigurationsdateien Xaccess, Xconfig, Xfailsafe, Xreset, Sprache/Xresources, Xservers, Xsetup und Xstartup durchsucht der Anmelde-Server standardmmäßig zuerst /etc/dt/config und anschließend /usr/dt/config. Er verwendet dann die als erstes gefundene Datei.
Die Dateien des Anmeldemanagers befinden sich in folgenden Standardverzeichnissen:
/usr/dt/bin/dtlogin - Der Anmelde-Server und Anzeigemanager.
/usr/dt/bin/dtgreet - Zeigt einen Anmeldebildschirm für eine Anzeige an.
/usr/dt/bin/dtchooser - Zeigt ein Auswahlfenster für eine Anzeige an.
/usr/dt/bin/Xsession - Startet eine Desktop-Sitzung.
/usr/dt/config/Xfailsafe - Startet eine Failsafe-Sitzung.
/usr/dt/config/Xconfig - Konfigurationsdatei des Anmelde-Servers.
/usr/dt/config/Xservers - Anzeigebeschreibungsdatei des Anmelde-Servers.
/usr/dt/config/Xaccess - Zugriffsbeschreibungsdatei des Anmelde-Servers.
/usr/dt/config/Sprache/Xresources - Anzeige-Layoutressourcen.
/usr/dt/config/Xsetup - Setup-Datei für die Anzeige.
/usr/dt/config/Xstartup - Startdatei zur Sitzungsvorbereitung.
/usr/dt/config/Xreset - Rücksetzungsdatei nach der Sitzung.
/var/dt/Xpid - Prozeß-ID des Anmelde-Servers.
/var/dt/Xerrors - Fehlerprotokolldatei des Anmelde-Servers.