Der Anmeldemanager ist ein Server, der einen Anmeldebildschirm anzeigt, die Zugriffsberechtigungen der Benutzer prüft und Benutzersitzungen startet. Die grafische Anmeldung ist auf grafikfähigen Bildschirmen eine attraktive Alternative zur Anmeldung im herkömmlichen Zeichenmodus. Die vom Anmeldeserver verwalteteten Anzeigen können direkt dem Anmeldeserver zugeordnet oder mit einem X-Terminal bzw. einer Workstation im Netzwerk verbunden werden.
Der Anmeldeserver kann nur vom Benutzer 'root' gestartet, angehalten oder konfiguriert werden.
Der Anmeldeserver führt folgende Aktion aus:
Anzeigen einer Anmeldeanzeige uneingeschränkt oder auf Anforderung auf lokalen und Netzwerk-Grafikanzeigen.
Anpassen direkt angeschlossener Zeichenkonsolenanzeigen.
Anzeigen eines Auswahlbildschirms, mit dem der Benutzer Anmeldeanzeigen anderer Server im Netzwerk anzeigen kann.
Kontrollierter Zugriff auf den Anmeldeserver.
Ermöglichen des Zugriffs auf die Anmeldung im herkömmlichen Zeichenmodus.
Vom Anmeldemanager verwaltete Anzeigen können direkt mit dem Anmeldeserver oder mit einem X-Terminal bzw. einer Workstation im Netzwerk verbunden sein. Für lokale Anzeigen startet der Anmeldeserver automatisch einen X-Server und zeigt eine Anmeldeanzeige an. Für Netzwerkanzeigen (z. B. X-Terminals) unterstützt der Anmeldeserver das XDMCP-Protokoll (X Display Manager Protocol) 1.0, mit dem Anzeigen eine Anmeldeanzeige vom Anmeldeserver angefordert werden können.
Der Anmeldeserver wird normalerweise beim Starten des Systems ausgeführt. Er kann aber auch in der Befehlszeile gestartet werden.
Mit dem folgenden Befehl kann der Anmeldeserver so konfiguriert werden, daß er beim Systemstart ausgeführt wird: /usr/dt/bin/dtconfig -e
Der Server wird dann bei jedem Neustart des Systems automatisch aufgerufen.
Weitere Informationen zum Desktop-Konfigurationsprogramm dtconfig enthält Anhang A. Dort finden Sie eine Kopie der Handbuchseite dtconfig.1.
Mit dem folgenden Befehl starten Sie den Anmeldeserver in der Befehlszeile: /usr/dt/bin/dtlogin -daemon ; exit.
Der Anmeldeserver kann zwar in 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 Anmeldeservers.
Standardmäßig wird die Prozeß-ID des Anmeldeservers 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 Anmeldeservers bereits existieren.
Kopieren Sie dazu die Datei Xconfig aus /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 Anmeldeserver mit dem folgenden Befehl, die Datei Xconfig neu zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird der Befehl kill -HUP Anmeldeserver_Prozeß _ID aufgerufen.
Soll die Prozeß-ID des Anmeldeservers 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 Neustarten des Anmeldeservers wird seine Prozeß-ID in der Datei /var/myservers/Dtpid gespeichert. Das Verzeichnis /var/myservers muß bereits vorhanden sein.
Beim Starten ermittelt der Anmeldeserver in der Datei Xservers , ob ein X-Server gestartet werden muß sowie ob und wie Anmeldeanzeigen auf lokalen und Netzwerkbildschirmen angezeigt werden sollen.
Um die Datei Xservers zu ändern, kopieren Sie sie aus /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, Xservers erneut zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird der Befehl kill -HUP Anmeldeserver_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' in der Anmeldeanzeige verwaltet wird (local@console im folgenden Beispiel).
X_Server_Befehl - Die Befehlszeile, Verbindungsnummer und andere Optionen, die der Anmeldeserver 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 Anmeldeserversystem keine Grafikanzeige, können Sie den Anmeldeserver 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 in der Anmeldeanzeige die Option 'Befehlszeilenanmeldung', beendet der Anmeldeserver 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 Anmeldeserver 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 der Wert local@Anzeige_Terminalgerät angegeben, sucht der Anmeldeserver 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 als 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 Anmeldeserver von der Befehlszeile aus gestartet wird.
Verfügt das Anmeldeserversystem über eine direkt angeschlossene Zeichenanzeige als Konsole, sollte Anzeige_Terminalgerät auf none gesetzt werden, damit die Option 'Befehlszeilenanmeldung' auf einer grafikfähigen Anmeldeanzeige 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 in local@tty01.
Der Anmeldeserver 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 Anmeldeserver 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 dazu konfiguriert, XDMCP direkt zu verwenden (Abfragemodus), wird dem X-Terminal der Hostname des Anmeldeserversystems mitgeteilt. Das X-Terminal nimmt dann beim Starten automatisch Kontakt mit dem Anmeldeserver 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; er stellt einen direkten Kontakt zum Anmeldeserver her und sendet an diesen die Anforderung, ein Anmeldefenster anzuzeigen. Wird beispielsweise der X-Server auf einer Grafikanzeige auf der Workstation bridget gestartet, zeigt der Anmeldeserver anita ein Anmeldefenster auf dem X-Server an:
X -query anita
Wird ein X-Terminal konfiguriert, XDMCP indirekt zu verwenden, wird dem X-Terminal der Hostname des Anmeldeserversystems mitgeteilt. Das X-Terminal stellt dann beim Starten automatisch Kontakt mit dem Anmeldeserver her, und dieser zeigt in einem Auswahlfenster eine Liste der anderen Anmeldeserver-Hosts im Netzwerk an. Der Benutzer kann aus der Liste den Host wählen, der ihm 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 . Damit stellt der X-Server im indirekten XDMCP-Modus einen Kontakt zum Anmeldeserver her.
Ältere X-Terminals unterstützen möglicherweise XDMCP nicht. Damit der Anmeldeserver eine Anmeldeanzeige auf diesen Terminals anzeigen kann, muß der Name des X-Terminals in die Datei Xservers aufgenommen 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 Anzeigeklasse des X-Terminals können Sie der zugehörigen Dokumentation entnehmen. Der Anzeigetyp foreign weist den Anmeldeserver an, keinen eigenen X-Server zu starten, sondern eine Verbindung zu einem vorhandenen X-Server herzustellen. In diesem Fall wird X_Server_Befehl nicht angegeben.
Durch die folgenden Zeilen in der Datei Xservers zeigt der Anmeldeserver eine Anmeldeanzeige 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 Anmeldeserver-Host hat, die Anzeige eines Anmeldefensters anfordern. Der Zugriff auf den Anmeldeserver kann durch Ändern der Datei Xaccess eingeschränkt werden.
Um die Datei Xaccess zu ändern, kopieren Sie sie aus /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 Anmeldeserver durch folgenden Befehl an, die Datei erneut zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird der Befehl kill -HUP Anmeldeserver_Prozeß_ID ausgeführt.
Versucht ein Host, im direkten XDMCP-Modus eine Verbindung mit dem Anmeldeserver herzustellen, wird der Hostname mit den Einträgen in der Datei Xaccess verglichen. In dieser Datei sind die Hosts aufgeführt, die auf den Anmeldeserver zugreifen dürfen. Jeder Eintrag in Xaccess ist ein Hostname, einschlieálich der die Platzhalterzeichen * (Sternchen) und ? (Fragezeichen). Ein * (Sternchen) entspricht keinem oder mehreren Zeichen und ein ? (Fragezeichen) einem beliebigen Zeichen. Wird ein ! (Ausrufezeichen) angegeben, ist dem betreffenden Host der Zugriff nicht gestattet. Kein Zeichen bedeutet, der Zugriff ist 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 Anmeldeserver, 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 Anmeldeserver herzustellen, wird der Hostname mit den Einträgen in der Datei Xaccess verglichen. In dieser Datei sind die Hosts aufgeführt, die auf den Anmeldeserver 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. Ein 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 Anmeldeserver, der zweite allen Hosts, deren vollständiger Domain-Name mit dept5.waterloo.com endet, und der letzte Eintrag verweigert allen anderen Hosts den Zugriff.
Eine der folgenden Angaben steht nach der Zeichenfolge CHOOSER.
BROADCAST bewirkt, daß der Anmeldeserver eine Nachricht an alle Systeme seines Teilnetzwerks sendet, um eine Liste der verfügbaren Anmeldeserver-Hosts zu erstellen. Wird zusätzlich eine Liste angegeben, wird diese als Liste der verfügbaren Anmeldeserver-Hosts verwendet. Ein Beispiel:
amazon.waterloo.com CHOOSER shoal.waterloo.com alum.waterloo.com *.dept5.waterloo.com CHOOSER BROADCAST !* CHOOSER BROADCAST
Wenn amazon.waterloo.com eine Verbindung im indirekten XDMCP-Modus herstellt, erhält das System eine Liste mit den beiden Hosts shoal und alum. Wenn alice.dept5.waterloo.com eine Verbindung herstellt, enthält die Liste alle verfügbaren Anmeldeserver-Hosts im Teilnetzwerk des Anmeldeservers. 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 enthalten: Ein Beispiel:
%list1 shoal.waterloo.com alum.waterloo.com amazon.waterloo.com CHOOSER %list1
Standardmäßig protokolliert der Anmeldeserver 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 Anmeldeservers 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 Anmeldeserver 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 Anmeldeserver beim Booten des Systems nicht gestartet werden, geben Sie folgenden Befehl ein:
/usr/dt/bin/dtconfig -d
Der Anmeldeserver wird dann nicht automatisch ausgeführt, wenn das System neu gestartet wird.
Sie können den Anmeldeserver auch beenden, indem Sie die Prozeß-ID folgendermaßen löschen:
/usr/dt/bin/dtconfig -kill
Dadurch wird folgender Befehl ausgeführt: kill Anmeldeserver_Prozeß_ID.
Durch das Abbrechen des Anmeldeserver-Prozesses werden alle vom Server verwalteten Benutzersitzungen beendet.
Sie können den Anmeldeserver 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 Ressource Dtlogin.pidFile in der Konfigurationsdatei Xconfig angegeben ist.
Sind Sie beim Beenden des Anmeldeservers beim Desktop angemeldet, wird die Desktop-Sitzung sofort geschlossen.
Die Anmeldeanzeige 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 Anmeldeserver eine Desktop-Sitzung für den Benutzer. Beendet der Benutzer die Sitzung, zeigt der Anmeldeserver ein neues Anmeldefenster an, und der Prozeß wird wiederholt.
Die Anmeldeanzeige kann folgendermaßen angepaßt werden:
Das Erscheinungsbild der Anzeige ändern.
Die X-Zugriffsberechtigung für den X-Server konfigurieren.
Die Standardsprache ändern.
Befehle vor dem Anzeigen des Anmeldefensters ausführen.
Das Menü 'Sprachen' der Anmeldeanzeige ä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 der Anmeldeanzeige 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 /usr/dt/config/Sprache in das Verzeichnis /etc/dt/config/Sprache . Die vorgenommenen Änderungen werden beim nächsten Anzeigen des Anmeldefensters wirksam. Soll die Anmeldeanzeige sofort aktualisiert werden, wählen Sie 'Anmeldeanzeige zurücksetzen' im Menü 'Optionen'.
Folgende Attribute der Anmeldeanzeige können mit den Ressourcen in der Datei Xresources festgelegt werden:
Dtlogin*logo*bitmapFile - Bitmap- oder Pixmap-Datei als 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 regionale Einstellungen Sprache
Das Logo wird mit der Ressource Dtlogin*logo*bitmapFile in der Datei Xresources festgelegt.
Als Logo 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 Anmeldeserver die Meldung Willkommen: bei Hostname in der Anmeldeanzeige 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 Anmeldeservers 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 Anmeldeserver 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 HalloBenutzername geändert.
Dtlogin*greeting*persLabelString: Hallo %s
Die in der Anmeldeanzeige 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 passen):
Dtlogin*greeting*fontList: -dt-interface \ system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:
Soll im Menü 'Sprachen' der Anmeldeanzeige statt der Standardnamen der jeweilige landesspezifische Text angezeigt werden, ändern Sie die Ressource Dtlogin*Sprache*languageName in der Datei Xresources:
Dtlogin*En_US*languageName: American
Angezeigt wird ab jetzt der Text American statt des Standardnamens En_US.
Die Funktionsweise der Anmeldeanzeige kann durch Ändern der entsprechenden Ressourcen in der Datei Xconfig angepaßt werden.
Um die Datei Xconfig zu ändern, kopieren Sie diese aus /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 Anmeldeserver, die Datei Xconfig mit dem folgenden Befehl neu zu lesen:
/usr/dt/bin/dtconfig -reset
Dadurch wird folgender Befehl ausgeführt: kill -HUP Anmeldeserver_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 Anmeldefenster konfiguriert werden. Soll eine Ressource für eine bestimmte Anzeige festgelegt werden, geben Sie die Ressource als Dtlogin*Anzeigename*Ressource an. Mit folgendem Befehl 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 Anmeldeserver die Zugriffsrechte für den X-Server getrennt für jeden Benutzer. 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 dies die beste Methode, den Zugriff auf den X-Server zu steuern.
Eine Alternative zur benutzerbasierten Variante ist die Zugriffssteuerung auf Host-Basis. Bei dieser Vorgehensweise kann auf einem Host mit Zugriffsberechtigung jeder Benutzer 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 Anmeldeserver die benutzerbasierte Zugriffssteuerung verwendet. Soll die Zugriffssteuerung auf Host-Basis erfolgen, ändern Sie den Wert der Ressource in False. Beispiel:
Dtlogin*authorize: False
Sollen dem X-Server beim Start durch den Anmeldeserver eine oder zwei Umgebungsvariablen und -werte zur Verfügung gestellt werden, geben Sie diese mit der Ressource Dtlogin*environment in der Datei Xconfig an. Beispiel:
Dtlogin*environment: VAR1=foo VAR2=bar
Der lokale X-Server erhält so den Zugriff auf die Variablen VAR1 und VAR2. Die Variablen werden auch in die Skripts Xsession und Xfailsafe exportiert.
Wenn sich der Benutzer in der Anmeldeanzeige beim Desktop anmeldet, wird die Benutzersitzung mit den im Menü 'Sprachen' gewählten landesspezifischen Einstellungen ausgeführt. Wählt der Benutzer keine Sprache aus, wird die Standardeinstellung des Anmeldeservers verwendet. Die Standardsprache kann mit der Ressource Dtlogin*language in der Datei Xconfig festgelegt werden. Beispiel:
Dtlogin*language: Ja_JP
Der Dokumentation Ihres Systems können Sie entnehmen, welche Sprachen verfügbar sind.
Standardmäßig werden im Menü 'Sprachen' der Anmeldeanzeige alle im System installierten Sprachen angezeigt. Wählt der Benutzer eine Sprache aus der Liste, wird die Anmeldeanzeige in der gewählten Sprache erneut angezeigt. Bei jeder späteren Anmeldung des Benutzers, wird die Desktop-Sitzung mit dieser Einstellung 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 Anmeldeserver zeigt ab jetzt nur die Einträge En_US und De_DE im Menü 'Sprachen' an.
Der Anmeldeserver führt nach dem Starten des X-Servers, jedoch vor dem Anzeigen des Anmeldefensters das Skript Xsetup aus. Xsetup wird mit der Zugriffsberechtigung 'root' ausgeführt und enthält Befehle, die vor dem Anzeigen des Anmeldefensters aufgerufen werden müssen.
Um die Datei Xsetup zu ändern, kopieren Sie diese aus /usr/dt/config in das Verzeichnis /etc/dt/config. Beim nächsten Erscheinen der Anmeldeanzeige wird dann die geänderte Xsetup-Datei ausgeführt.
Nachdem Benutzername/Paßwort eingegeben und die Zugriffsberechtigung überprüft wurde, aber bevor die Benutzersitzung gestartet wird, führt der Anmeldeserver 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 diese aus /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 Anmeldeserver 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 Desktop benötigt werden.
Aktualisieren Sie das Skript Xsession nicht direkt.
Informationen zur Anpassung des Starts der Desktop-Sitzung für den Benutzer finden Sie im Abschnitt Kapitel 2
Wählt der Benutzer im Untermenü 'Sitzungen' des Menüs 'Optionen' die Option 'Failsafe-Sitzungen', führt der Anmeldeserver 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 diese aus /usr/dt/config in das Verzeichnis /etc/dt/config. Meldet sich der Benutzer das nächste Mal an, wird die geänderte Datei ausgeführt.
Nachdem der Benutzer die Desktop- oder Failsafe-Sitzung beendet hat, führt der Anmeldeserver 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 diese aus /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 Anmeldeservers wird in die Skripts Xsetup, Xstartup, Xsession, Xfailsafe und Xreset exportiert. Tabelle 1-1. enthält eine Beschreibung der verschiedenen Werte. Es können auch weitere Variablen vom Anmeldeserver exportiert werden.
Tabelle 1-1 Umgebung des Anmeldeservers
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 Anmeldeserver setzt die Umgebungsvariable PATH beim Ausführen der Skripts Xsession und Xfailsafe. Sie könne auch einen anderen Pfad für die Skripts angeben.
Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11
Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb
Der Anmeldeserver 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 Anmeldeserver 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 Anmeldeservers wird ein dtlogin-Prozeß gestartet. Der Prozeß liest die Datei Xconfig, um die Anfangskonfiguration des Anmeldeservers zu ermitteln, und die anderen Serverkonfigurationsdateien zu suchen. Der Anmeldeserver liest dann die Datei Xservers, um festzustellen, ob explizit zu verwaltende Anzeigen vorliegen. Zudem liest er die Datei Xaccess, um den Zugriff auf den Anmeldeserver zu kontrollieren.
Stellt der Anmeldeserver in der Datei Xservers fest, daá eine lokale Anzeige verwaltet werden muá, startet er einen X-Server wie in der Datei Xservers beschrieben, und zeigt dann einen Anmeldebildschirm an.
Stellt der Anmeldeserver in der Datei Xservers fest, daá eine Netzwerkanzeige verwaltet werden muá, wird davon ausgegangen, daá bereits ein X-Server mit entsprechenden Anzeigenamen läuft, und eine Anmeldeanzeige wird auf dem Bildschirm angezeigt.
Anschließend wartet der Anmeldeserver auf XDMCP-Anforderungen aus dem Netzwerk.
Für jede verwaltete Anzeige erstellt der Anmeldeserver zuerst einen neuen dtlogin-Prozeß. Verwaltet der Server n Anzeigen, sind demnach n+1dtlogin-Prozesse vorhanden. Der Anmeldeserver führt dann das Skript Xsetup aus, lädt die Datei Xresources und startet dtgreet, um das Anmeldefenster anzuzeigen. Nachdem der Benutzername und das Paáwort eingegeben und die Zugriffsberechtigung geprüft wurde, wird zuerst das Skript Xstartup und dann das Skript Xsession oder Xfailsafe ausgeführt. Wenn der Benutzer die Sitzung beendet hat, führt der Anmeldeserver das Skript Xreset aus.
Erhält der Anmeldeserver eine indirekte XDMCP-Anforderung, führt er dtchooser aus, um eine Liste der Anmeldeserver-Hosts auf der Anzeige auszugeben. Wählt der Benutzer einen Host aus der Liste, verwaltet der Anmeldeserver für diesen Host die Anzeige.
Bei den Konfigurationsdateien Xaccess, Xconfig, Xfailsafe, Xreset, language/Xresources, Xservers, Xsetup und Xstartup sucht der Anmeldeserver standardmäáig zuerst in /etc/dt/config, dann in /usr/dt/config, und verwendet dann die zuerst gefundene Datei.
Die Dateien des Anmeldemanagers befinden sich in folgenden Standardverzeichnissen:
/usr/dt/bin/dtlogin - Der Anmeldeserver und Anzeigemanager.
/usr/dt/bin/dtgreet - Zeigt ein Anmeldefenster 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 Anmeldeservers.
/usr/dt/config/Xservers - Anzeigebeschreibungsdatei des Anmeldeservers.
/usr/dt/config/Xaccess - Zugriffsbeschreibungsdatei des Anmeldeservers.
/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 Anmeldeservers.
/var/dt/Xerrors - Fehlerprotokolldatei des Anmeldeservers.