Befehl "xdm"
Zweck
Verwaltet einen Verbund von X-Anzeigen mit Unterstützung für XDMCP.
Syntax
xdm [ -konfiguration ConfigurationFile] [ -fehlersuche DebugLevel ] [ -nodaemon ] [ -fehler ErrorLogFile ] [ -ressourcen ResourceFile ] [ -server ServerEntry ] [ -udpPort PortNumber ] [ -sitzung SessionProgram ] [ -xrm ResourceSpecification ]
Beschreibung
Der Befehl xdm (X Display Manager, X-Anzeigemanager) verwaltet einen Verbund von X-Anzeigen, die sich auf dem lokalen Host oder auf fernen Servern befinden können. Das Design des Befehls xdm orientiert sich an den Anforderungen von X-Terminals sowie dem Standard-XDMCP (X Display Manager Control Protocol) des X Consortium. Der Befehl xdm stellt ähnliche Services wie die Befehle init, getty und login auf zeichenorientierten Terminals bereit: Anforderung eines Anmeldenamens und eines Kennworts, Authentifizierung des Benutzers und Ausführung einer Sitzung.
Eine Sitzung wird durch die Laufzeit oder Lebensdauer eines bestimmten Prozesses definiert. In der traditionellen Welt zeichenbasierter Terminals ist dies die Anmeldeshell des Benutzers. Im xdm-Kontext ist es ein beliebiger Sitzungsmanager. Dies ist darauf zurückzuführen, dass der Anmeldeshellprozess eines Benutzers in einer Umgebung mit Fenstertechnik nicht unbedingt eine terminalähnliche Schnittstelle für die Verbindungsherstellung hat. Wenn kein echter Sitzungsmanager verfügbar ist, wird in der Regel ein Fenstermanager oder Terminalemulator als Sitzungsmanager verwendet. Wenn dieser Prozess beendet wird, wird auch die Sitzung des Benutzers beendet.
Bei der Beendigung der Sitzung setzt xdm den X-Server zurück und startet (optional) den gesamten Prozess erneut.
Wenn der Befehl xdm eine indirekte Abfrage über XDMCP empfängt, kann er einen chooser-Prozess zum Durchführen einer XDMCP-Broadcastabfrage (oder einer XDMCP-Abfrage an bestimmte Hosts) für die Anzeige ausführen und ein Menü mit möglichen Hosts anzeigen, die das Management von XDMCP-Anzeigen unterstützen. Dieses Feature ist für X-Terminals hilfreich, die selbst kein Hostmenü anbieten.
Da der Befehl xdm die erste Schnittstelle ist, die Benutzer sehen, ist er einfach zu bedienen und lässt sich ohne großen Aufwand an die Anforderungen einer bestimmte Site anpassen.
Typische Verwendung
Der Befehl xdm wurde für den Einsatz in verschiedenen Umgebungen entwickelt.
DisplayManager.servers: /usr/lib/X11/xdm/Xservers
DisplayManager.errorLogFile: /usr/lib/X11/xdm/xdm-errors
DisplayManager*resources: /usr/lib/X11/xdm/Xresources
DisplayManager*startup: /usr/lib/X11/xdm/Xstartup
DisplayManager*session: /usr/lib/X11/xdm/Xsession
DisplayManager.pidFile: /usr/lib/X11/xdm/xdm-pid
DisplayManager._0.authorize: true
DisplayManager*authorize: falseDiese Datei enthält Verweise auf andere Dateien. Einige der Ressourcen sind mit einem * (Stern) gekennzeichnet, der die Komponenten voneinander trennt. Diese Ressourcen können für jede Anzeige eindeutig festgelegt werden, indem der Stern (*) durch den Anzeigenamen ersetzt wird. In der Regel ist dies jedoch nicht hilfreich. Eine vollständige Diskussion finden Sie im Abschnitt Ressourcen auf der nächsten Seite.
Die erste Datei, /usr/lib/X11/xdm/Xservers, enthält die Liste der zu verwaltenden Anzeige, die XDMCP nicht verwenden. Die meisten Workstations haben nur eine einzige Anzeige mit der Nummer 0 (null). In diesem Fall sieht die Datei in etwa wie folgt aus:
:0 Local local /usr/bin/X11/X -forceDiese Datei sorgt dafür, dass /usr/bin/X11/X weiterhin auf dieser Anzeige ausgeführt wird und ein fortlaufender Zyklus von Sitzungen verwaltet wird.
Die Datei /usr/lib/X11/xdm/xdm-errors enthält Fehlernachrichten von xdm und alle Ausgaben der Scripts Xsetup, Xstartup, Xsession und Xreset für die Standardfehlerausgabe. Wenn Sie Probleme mit dem Starten des Befehls xdm haben, überprüfen Sie die Datei /usr/lib/X11/xdm/xdm-errors, um festzustellen, ob der Befehl xdm irgendwelche Hinweise auf das Problem gibt.
Der nächste Konfigurationseintrag, /usr/lib/X11/xdm/Xresources, wird mit dem Befehl xrdb als Ressourcendatenbank in die Anzeige geladen. Da das Authentifizierungswidget diese Datenbank vor dem Start liest, enthält es gewöhnlich Parameter für dieses Widget.
Flags
Die folgenden Optionen (mit Ausnahme von -config) geben alle Werte an, die auch in der Konfigurationsdatei als Ressourcen angegeben werden können.
| Element | Beschreibung |
|---|---|
| -config ConfigurationFile | Benennt die Konfigurationsdatei, die Ressourcen zum Steuern des Verhaltens des Befehls xdm angibt. Standardmäßig wird die Datei /usr/lib/X11/xdm/xdm-config verwendet. |
| -debug DebugLevel | Gibt den numerischen Wert für die Ressource DisplayManager.debugLevel an. Ein Wert ungleich null bewirkt, dass xdm Debuginformationen am Terminal ausgibt, und inaktiviert die Ressource DisplayManager.daemonMode, was die asynchrone Ausführung von xdm verhindert. Diese Debuginformationen sind unter Umständen nicht verständlich. Verwenden Sie für die Interpretation dieser Nachrichten den X11R4-Quellcode für den Befehl xdm. |
| -nodaemon | Gibt "False" als Wert für die Ressource DisplayManager.daemonMode an. Dieser Wert unterdrückt das übliche Dämonverhalten, bei dem der Befehl xdm alle Dateideskriptoren schließt, seine Verbindung zum Steuerterminal trennt und beim Start in den Hintergrund wechselt. |
| -fehler ErrorLogFile | Gibt den Wert für die Ressource DisplayManager.errorLogFile an. Diese Datei enthält sowohl Fehler von xdm als auch alle Nachrichten, die die verschiedenen Scripts und Programme, die während der Sitzung ausgeführt werden, in die Standardfehlerausgabe schreiben. |
| -resources ResourceFile | Gibt den Wert für die Ressource DisplayManager*resources an. Diese Datei wird mit dem Befehl xrdb geladen, um Konfigurationsparameter für das Authentifizierungswidget anzugeben. |
| -server ServerEntry | Gibt den Wert für die Ressource DisplayManager.servers an. Eine Beschreibung dieser Ressource finden Sie im Abschnitt Serverspezifikation . |
| -udpPort PortNumber | Gibt den Wert für die Ressource DisplayManager.requestPort an. Diese Option legt die Nummer des Ports fest, den der Befehl xdm auf XDMCP-Anforderungen hin überwacht. XDMCP verwendet den registrierten gängigen UDP-Port 177. Ändern Sie diese Ressource nur zum Debuggen. |
| -session SessionProgram | Gibt den Wert für die Ressource DisplayManager*session an. Diese Option gibt an, dass das Programm nach der Anmeldung des Benutzers als Sitzung ausgeführt werden soll. |
| -xrm ResourceSpecification | Ermöglicht die Angabe einer beliebigen Ressource, wie es in den meisten X Toolkit-Anwendungen möglich ist. |
Ressourcen
In vielen Phasen können die Aktionen von xdm durch die Verwendung der zugehörigen Konfigurationsdatei im X-Ressourcenformat gesteuert werden. Einige Ressourcen ändern das Verhalten von xdm auf allen Anzeigen, während andere das Verhalten nur auf einer einzigen Anzeige ändern. Wenn sich Aktionen auf eine bestimmte Anzeige beziehen, wird der Anzeigename in den Ressourcennamen zwischen "DisplayManager" und dem letzten Segment des Ressourcennamens eingefügt. Angenommen, DisplayManager.expo_0.startup ist der Name der Ressource, die die Startshelldatei für die Anzeige "expo:0" definiert. Da der Ressourcenmanager Doppelpunkte verwendet, um den Namen der Ressource von ihrem Wert zu trennen, und Punkte für die Trennung der einzelnen Ressourcennamenskomponenten, ersetzt der Befehl xdm Punkte und Doppelpunkte durch Unterstreichungszeichen, wenn er den Ressourcennamen generiert.
| Element | Beschreibung |
|---|---|
| DisplayManager.servers | Gibt entweder den Namen einer Datei mit Servereinträgen (einem pro Zeile) an, wenn der Wert mit einem Schrägstrich beginnt, oder einen einzelnen Servereintrag an. Weitere Informationen finden Sie im Abschnitt Serverspezifikation . |
| DisplayManager.requestPort | Gibt die Nummer des UDP-Ports an, an dem der Befehl xdm auf eingehende XDMCP-Anforderungen wartet. Sofern Sie das System nicht debuggen müssen, übernehmen Sie den Standardwert 177. |
| DisplayManager.errorLogFile | Leitet Fehlernachrichten so um, dass sie in die benannte Datei und nicht in die Konsole geschrieben werden. Diese Datei enthält auch alle Ausgaben, die von den Xsetup-, Xstartup-, Xsession- und Xreset-Dateien an die Standardfehlerausgabe gesendet werden, und damit auch Beschreibungen der in diesen Scripts aufgetretenen Probleme. |
| DisplayManager.debugLevel | Wenn der ganzzahlige Wert dieser Ressource größer als 0 (null) ist, gibt der Befehl xdm sehr viele Debuginformationen aus. Außerdem inaktiviert er den Dämonmodus, in dem die Informationen verworfen werden und Benutzer ohne Rootberechtigung den Befehl xdm ausführen können, was normalerweise nicht hilfreich ist. |
| DisplayManager.daemonMode | Der Befehl xdm versucht, sich selbst als Dämonprozess auszuführen, der keinem Terminal zugeordnet ist. Dies wird erreicht, indem der übergeordnete Prozess aufgespaltet und dann verlassen wird und anschließend die Dateideskriptoren geschlossen werden und das Steuerterminal freigegeben wird. In einigen Umgebungen ist dies nicht erwünscht (insbesondere beim Debugging). Wenn Sie diese Ressource auf "False" setzen, wird das Feature inaktiviert. |
| DisplayManager.pidFile | Die angegebene Datei wird erstellt und enthält eine ASCII-Darstellung der Prozess-ID des xdm-Hauptprozesses. Der Befehl xdm verwendet auch eine Dateisperre für diese Datei, um zu verhindern, dass mehrere Dämonprozesse auf derselben Maschine ausgeführt werden, was zu unvorhersehbaren Ergebnissen führen würde. |
| DisplayManager.lockPidFile | Steuert, ob der Befehl xdm eine Dateisperre verwendet, um zu verhindern, dass mehrere Anzeigemanager gleichzeitig ausgeführt werden. |
| DisplayManager.authDir | Benennt ein Verzeichnis, in dem der Befehl xdm während der Initialisierung der Sitzung Berechtigungsdateien speichert. Standardmäßig wird das Verzeichnis /usr/lib/X11/xdm verwendet. |
| DisplayManager.autoRescan | Ein boolescher Wert, der steuert, ob der Befehl xdm die Konfigurations-, Server-, Zugriffssteuerungs- und Authentifizierungsschlüsseldateien erneut scannt, wenn eine Sitzung beendet wird und sich die Dateien geändert haben. Der Standardwert ist "True". Sie können erzwingen, dass der xdm-Dämon diese Dateien erneut liest, indem Sie ein SIGHUP-Signal an den Hauptprozess senden. |
| DisplayManager.removeDomainname | Wenn der Bildschirmname für XDMCP-Clients ermittelt wird, erstellt der Namensresolver gewöhnlich einen vollständig qualifizierten Hostnamen für das Terminal. Da dies manchmal verwirrend ist, entfernt der Befehl xdm den Domänennamensteil des Hostnamens, wenn dieser dem Domänennamen des lokalen Hosts entspricht und die Variable gesetzt ist. Der Standardwert ist "True". |
| DisplayManager.keyFile | Die XDMCP-Authentifizierung im XDM-AUTHENTICATION-1-Stil erfordert, dass ein privater Schlüssel vom xdm-Dämon und vom Terminal gemeinsam genutzt wird. Diese Ressource gibt die Datei an, die diese Werte enthält. Jeder Eintrag in der Datei setzt sich aus einem Anzeigenamen und dem gemeinsam genutzten Schlüssel zusammen. Standardmäßig unterstützt der Befehl xdm XDM-AUTHENTICATION-1 nicht, weil dieser Authentifizierungsstil die Datenverschlüsselungsmethode DES voraussetzt, die aufgrund von US-Exportbeschränkungen im Allgemeinen nicht verteilbar ist. |
| DisplayManager.accessFile | Um den nicht autorisierten XDMCP-Service zu verhindern und die Weiterleitung von XDMCP IndirectQuery-Anforderungen zuzulassen, enthält diese Datei eine Datenbank mit Hostnamen, die direkt auf diese Maschine zugreifen dürfen oder eine Liste von Hosts, an die Abfragen weitergeleitet werden sollen. Das Format dieser Datei ist im Abschnitt "XDMCP-Zugriffssteuerung" beschrieben. |
| DisplayManager.exportList | Eine durch Leerzeichen getrennte Liste zusätzlicher Umgebungsvariablen, die an die Programme Xsetup, Xstartup, Xsession und Xreset übergeben werden. |
| DisplayManager.randomFile | Eine Datei zur Erstellung einer Kontrollsumme, mit der der Startwert für die Berechtigungsschlüssel generiert wird. Dies sollte eine Datei sein, die sich häufig ändert. Der Standardwert ist /dev/mem. |
| DisplayManager.choiceTimeout | Die Anzahl der Sekunden, die auf eine Antwort der Anzeige gewartet wird, nachdem ein Benutzer einen Host in der Auswahlfunktion ausgewählt hat. Wenn die Anzeige eineXDMCP IndirectQueryInnerhalb dieser Zeit wird die Anforderung an den ausgewählten Host weitergeleitet. Andernfalls wird angenommen, dass es sich um eine neue Sitzung handelt, und die Auswahlfunktion wird erneut angezeigt. Der Standardwert ist 15. |
| DisplayManager.DISPLAY.resources | Gibt den Namen der Datei an, die der Befehl xrdb als Ressourcendatenbank in das Basisfenster von Anzeige 0 des Bildschirms laden soll. Das Anmeldewidget und die Programme Xsetup und chooser verwenden die in dieser Datei festgelegten Ressourcen. Diese Ressourcendatenbank wird unmittelbar vor dem Start der Authentifizierungsprozedur gestartet, damit diese die Darstellung des Anmeldefensters steuern kann. Weitere Informationen finden Sie im Abschnitt Authentifizierungsclient , in dem die verschiedenen Ressourcen beschrieben werden, die in dieser Datei platziert werden können. Für diese Ressource gibt es keinen Standardwert, aber konventionell wird der Name /usr/lib/X11/xdm/Xresources verwendet. |
| DisplayManager.DISPLAY.chooser | Gibt das Programm an, das ausgeführt wird, um ein Hostmenü für indirekte Abfragen anzubieten, die an den speziellen Hostnamen CHOOSERumgeleitet werden. /usr/lib/X11/xdm/chooser ist der Standardwert. Weitere Informationen finden Sie in den Abschnitten XDMCP-Zugriffssteuerung und Auswahlfunktion. |
| DisplayManager.DISPLAY.xrdb | Gibt das Programm an, mit dem die Ressourcen geladen werden. Standardmäßig verwendet der Befehl xdm das Programm /usr/bin/X11/xrdb. |
| DisplayManager.DISPLAY.cpp | Gibt den Namen des C-Vorprozessors an, der vom Befehl xrdb verwendet wird. |
| DisplayManager.DISPLAY.setup | Gibt ein Programm an, das vor der Anzeige des Anmeldefensters (als Root) ausgeführt wird. Diese Ressource kann verwendet werden, um die Darstellung der Anzeige um das Anmeldefenster herum zu ändern oder um andere Fenster zu erstellen (Sie können beispielsweise xconsole hier ausführen). Standardmäßig wird kein Programm ausgeführt. Der konventionelle Name für eine Datei, die hier verwendet wird, ist Xsetup. Siehe den Abschnitt Installationsprogramm. |
| DisplayManager.DISPLAY.startup | Gibt ein Programm an, das nach Abschluss des Authentifizierungsprozesses als Root ausgeführt wird. Standardmäßig wird kein Programm ausgeführt. Der konventionelle Name für eine Datei, die hier verwendet wird, ist Xstartup. Siehe den Abschnitt Startprogramm. |
| DisplayManager.DISPLAY.session | Gibt die auszuführende Sitzung an (bei der Ausführung ohne Rootrechte). Standardmäßig wird /usr/bin/X11/xterm ausgeführt. Gewöhnlich wird das Xsession-Script verwendet. Siehe den Abschnitt Sitzungsprogramm. |
| DisplayManager.DISPLAY.reset | Gibt ein Programm an, das nach dem Ende der Sitzung (als Root) ausgeführt wird. Standardmäßig wird kein Programm ausgeführt. Gewöhnlich wird das Xreset-Script verwendet. Siehe den Abschnitt Programm zurücksetzen. |
| DisplayManager.DISPLAY.openDelay | Steuert das Verhalten des Befehls xdm beim Versuch, unkooperative Server zu öffnen, indem die Länge der Pause (in Sekunden) zwischen aufeinanderfolgenden Versuchen angegeben wird. |
| DisplayManager.DISPLAY.openRepeat | Steuert das Verhalten des Befehls xdm beim Versuch, unkooperative Server zu öffnen, indem die Anzahl der auszuführenden Versuche angegeben wird. |
| DisplayManager.DISPLAY.openTimeout | Steuert das Verhalten des Befehls xdm beim Versuch, unkooperative Server zu öffnen, indem die Anzahl der Sekunden angegeben wird, die gewartet werden soll, während tatsächlich versucht wird, die Verbindung zu öffnen (d. h., die maixmal im Systemaufruf connect(2) verbrachte Zeit). |
| Element | Beschreibung |
|---|---|
| DisplayManager.DISPLAY.startAttempts | Steuert das Verhalten des Befehls xdm beim Versuch, unkooperative Server zu öffnen, indem angegeben wird, wie oft der gesamte Prozess ausgeführt werden soll, bevor die Versuche mit diesem Server eingestellt werden. Nachdem die von der Ressource openRepeat des Anzeigemanagers angegebene Anzahl von Versuchen durchgeführt wurde oder die mit der Ressource openTimeout des Anzeigemanagers angegeben Anzahl von Sekunden bei einem der Versuche abgelaufen ist, wird der Befehl xdm beendet und der Server neu gestartet. Dieser Prozess wird so oft wiederholt, wie mit startAttempts angegeben wurde. Danach wird die Anzeige als inaktiv deklariert und inaktiviert. Obwohl dieses Verhalten willkürlich erscheinen mag, wurde es empirisch entwickelt und funktioniert auf den meisten Systemen gut. Der Standardwert ist 5 für openDelay, 5 für openRepeat, 30 für openTimeout und 4 für startAttempts. |
| DisplayManager.DISPLAY.pingInterval | Um erkennen zu können, dass ferne Anzeigen nicht mehr verfügbar sind, sendet der Befehl xdm
gelegentlich über eine X-Verbindung und XSync-Aufrufe Pingsignale an diese Anzeigen. Diese Ressource gibt die Zeit (in Minuten) zwischen den Pingversuchen an. Standardmäßig ist sie auf einen Wert von 5 Minuten gesetzt. Wenn Sie häufig X-Terminals verwenden, die vom Verwaltungshost isoliert werden können, sollten Sie diesen Wert erhöhen. Anmerkung: AIXwindows -Sitzungen können weiterhin bestehen, nachdem das Terminal versehentlich inaktiviert wurde. Der Befehl xdm sendet keine Pingsignale an lokale Bildschirme. Eine Workstationsitzung kann beendet werden, wenn der Server beispielsweise durch den NFS-Service blockiert ist und nicht auf das Pingsignal antwortet.
|
| DisplayManager.DISPLAY.pingTimeout | Um erkennen zu können, dass ferne Anzeigen nicht mehr verfügbar sind, sendet der Befehl xdm
gelegentlich über eine X-Verbindung und XSync-Aufrufe Pingsignale an diese Anzeigen. Diese Ressource gibt die maximale Zeit (in Minuten) an, die auf eine Antwort des Terminals auf die Anforderung gewartet wird. Wenn das Terminal nicht antwortet, wird die Sitzung als inaktiv deklariert und beendet. Standardmäßig ist sie auf einen Wert von 5 Minuten gesetzt. Wenn Sie häufig X-Terminals verwenden, die vom Verwaltungshost isoliert werden können, sollten Sie diesen Wert erhöhen. Anmerkung: AIXwindows -Sitzungen können weiterhin bestehen, nachdem das Terminal versehentlich inaktiviert wurde. Der Befehl xdm sendet keine Pingsignale an lokale Bildschirme. Eine Workstationsitzung kann beendet werden, wenn der Server beispielsweise durch den NFS-Service blockiert ist und nicht auf das Pingsignal antwortet.
|
| DisplayManager.DISPLAY.terminateServer | Gibt an, ob die Ausführung des X-Servers abgebrochen werden soll, wenn eine Sitzung beendet wird (anstatt den X-Server zurückzusetzen). Mit dieser Option kann die Ausführungszeit des Servers begrenzt werden, wenn dieser unbegrenzt anwachsen zu scheint. Der Standardwert ist "False". |
| DisplayManager.DISPLAY.userPath | Der Befehl xdm setzt die Umgebungsvariable PATH für die Sitzung auf diesen Wert. Es sollte sich um eine durch Doppelpunkte getrennte Liste von Verzeichnissen handeln. Eine vollständige Beschreibung finden Sie im Abschnitt Sh Befehl in Befehlsreferenz . :/bin:/usr/bin:/usr/bin/X11:/usr/ucb ist eine allgemeine Einstellung. Der Standardwert kann zur Erstellungszeit in der AIXwindows-Systemkonfigurationsdatei mit der Ressource DefaultUserPath angegeben werden. |
| DisplayManager.DISPLAY.systemPath | Der Befehl xdm setzt die Umgebungsvariable PATH für die Start- und Zurücksetzungsscripts auf den Wert dieser Ressource. Der Standardwert für diese Ressource wird zur Buildzeit mit dem DefaultSystemPath-Ressourceneintrag in der Systemkonfigurationsdatei angegeben. Ein gängiger Wert ist /etc:/bin:/usr/bin:/usr/bin/X11:/usr/ucb. Beachten Sie das Fehlen von. (Punkt) (das aktuelle Verzeichnis) aus diesem Eintrag. Dies empfiehlt sich für die Ausführung als Root. Auf diese Weise werden viele gängige Schemas für unbefugten Zugriff auf das System ("Trojanische Pferde") verhindert. |
| DisplayManager.DISPLAY.systemShell | Der Befehl xdm setzt die Umgebungsvariable SHELL für die Startup- und Zurücksetzungsscripts auf den Wert dieser Ressource. Der Standardwert ist /bin/sh. |
| DisplayManager.DISPLAY.failsafeClient | Wenn die Standardsitzung nicht ausgeführt werden kann, kehrt der Befehl xdm zu diesem Programm zurück. Dieses Programm wird ohne Argumente ausgeführt und verwendet dieselben Umgebungsvariablen wie die Sitzung (siehe den Abschnitt "Sitzungsprogramm"). Standardmäßig wird /usr/bin/X11/xterm verwendet. |
| DisplayManager.DISPLAY.grabServer DisplayManager.DISPLAY.grabTimeout |
Zur Verbesserung der Sicherheit annektiert der Befehl xdm beim Lesen des Anmeldenamens und des Kennworts den Server und die Tastatur. Die Ressource grabServer gibt an, ob der Server während des Lesens des Namens und des Kennworts annektiert werden sollen. Wenn diese Ressource auf "False" gesetzt ist, wird die Annektierung des Servers aufgehoben, wenn die Annektierung der Tastatur erfolgreich ist. Andernfalls wird der Server unmittelbar vor Beginn der Sitzung annektiert. Der Standardwert ist "False". Die Ressource grabTimeout gibt an, wie lange der Befehl xdm maximal auf eine erfolgreiche Annektierung wartet. Die Annektierung kann fehlschlagen, wenn ein anderer Client den Server annektiert hat oder wenn die Netzlatenzzeiten sehr hoch sind. Diese Ressource hat einen Standardwert von 3 Sekunden. Gehen Sie beim Erhöhen dieses Werts vorsichtig vor, da es den Benutzer verwirren könnte, wenn er ein ähnliches Fenster am Bildschirm sieht. Wenn die Annektierung fehlschlägt, wird der Befehl xdm inaktiviert und der Server (sofern möglich) und die Sitzung werden neu gestartet. |
| DisplayManager.DISPLAY.authorize DisplayManager.DISPLAY.authName |
Die Ressource authorize ist eine boolesche Ressource, die steuert, ob der Befehl xdm die Berechtigung für lokale Serververbindungen generiert und verwendet. Wenn eine Berechtigung verwendet wird, verwendet der Befehl xdm die Berechtigungsmechanismen, die als durch Leerzeichen getrennte Liste als Wert für die Ressource authName angegeben ist. XDMCP-Verbindungen geben dynamisch an, welche Berechtigungsmechanismen unterstützt werden. Deshalb wird die authName-Ressource in diesem Fall ignoriert. Wenn die Ressource authorize für einen Bildschirm gesetzt ist und keine Berechtigung verfügbar ist, wird der Benutzer in einer anderen Nachricht darüber informiert, die im Anmeldewidget angezeigt wird. Standardmäßig ist die Ressource authorize auf "True" gesetzt und authName auf MIT-MAGIC-COOKIE-1. |
| DisplayManager.DISPLAY.authFile | Gibt die Datei an, die zum Übertragen der Berechtigungsdaten vom Befehl xdm an den Server mit der Befehlszeilenoption -auth verwendet wird. Diese Datei muss in einem Verzeichnis mit eingeschränkten Schreibberechtigungen gespeichert werden, da sie ansonsten ohne großen Aufwand entfernt werden könnte und damit der Berechtigungsmechanismus im Server außer Kraft gesetzt würde. |
| DisplayManager.DISPLAY.authComplain | Wenn diese Ressource auf den Wert "False" gesetzt ist, ist die Verwendung von unsecureGreeting im Anmeldefenster inaktiviert. Siehe den Abschnitt Authentifizierungsclient . Der Standardwert ist "True". |
| DisplayManager.DISPLAY.resetSignal | Die Nummer des Signals, das der Befehl xdm sendet, um den Server zurückzusetzen. Siehe den Abschnitt Server steuern . Der Standardwert ist 1 (SIGHUP). |
| DisplayManager.DISPLAY.termSignal | Die Nummer des Signals, das der Befehl xdm sendet, um den Server zu beenden. Siehe den Abschnitt Server steuern . Der Standardwert ist 15 (SIGTERM). |
| DisplayManager.DISPLAY.resetForAuth | Bewirkt, dass der Befehl xdm nach der Konfiguration der Berechtigungsdatei ein SIGHUP-Signal an den Server sendet, um eine weitere Zurücksetzung des Servers durchzuführen, während die neuen Berechtigungsinformationen gelesen werden. Der Standardwert ist False, was für alle AIXwindows -Server funktioniert. |
| DisplayManager.DISPLAY.userAuthDir | Wenn der Befehl xdm nicht in die gewöhnlich verwendete Benutzerberechtigungsdatei ($HOME/.Xauthority) schreiben kann, erstellt er eine Datei mit einem eindeutigen Namen in diesem Verzeichnis und setzt die Umgebungsvariable XAUTHORITY auf den Namen der erstellten Datei. Standardmäßig wird /tmp verwendet. |
XDMCP-Zugriffssteuerung
Die mit der Ressource DisplayManager.accessFile angegebene Datenbankdatei enthält Informationen, die der Befehl xdm verwendet, um Zugriffe von Bildschirmen zu steuern, die den XDMCP-Service anfordern. Diese Datei enthält drei Typen von Einträgen:
- Einträge, die die Antwort auf Direkt -und Broadcast-Übertragung -Abfragen steuern.
- Einträge, die die Antwort auf Indirekt -Abfragen steuern.
- Makrodefinitionen.
Einträge für direkte Abfragen enthalten entweder einen Hostnamen oder ein Muster, das sich von einem Hostnamen durch den Einschluss eines oder mehrerer Mustererkennungszeichen unterscheidet. Ein Stern (*) entspricht einer beliebigen Folge von 0 (null) oder mehr Zeichen und einem Fragezeichen (?) (Fragezeichen) entspricht einem beliebigen einzelnen Zeichen. Diese werden mit dem Hostnamen der Anzeige verglichen. Wenn es sich bei dem Eintrag um einen Hostnamen handelt, werden alle Vergleiche mit Netzadressen durchgeführt, sodass jeder Name verwendet werden kann, der in die richtige Netzadresse aufgelöst wird. Bei Mustern werden nur tatsächliche Hostnamen für den Vergleich verwendet. Stellen Sie daher sicher, dass Sie nicht versuchen, Aliasse abzugleichen. Vor einem Hostnamen oder einem Muster mit einem! (Ausrufezeichen) bewirkt, dass Hosts, die diesem Eintrag entsprechen, ausgeschlossen werden.
Ein Eintrag für indirekte Abfragen enthält auch einen Hostnamen oder ein Muster, dem jedoch eine Liste von Hostnamen oder Makros folgt, an die die indirekten Abfragen gesendet werden sollen.
Eine Makrodefinition enthält einen Makronamen und eine Liste von Hostnamen und anderen Makros, in die das Makro erweitert wird. Um Makros von Hostnamen unterscheiden zu können, beginnen Makronamen mit einem Prozentzeichen (%). Makros können verschachtelt werden.
In Einträgen für indirekte Abfragen kann auch angegeben werden, dass der Befehl xdm den Befehl chooser ausführen soll, um ein Menü mit Hosts anzubieten, zu denen eine Verbindung hergestellt werden kann. Weitere Informationen finden Sie unter Auswahlfunktion.
Bei der Überprüfung des Zugriffs für einen bestimmten Bildschirmhost werden die Einträge nacheinander gescannt und der erste übereinstimmende Eintrag bestimmt die Antwort. Ein Eintrag für eine direkte Abfrage wird beispielsweise ignoriert, wenn ein Eintrag für eine indirekte Abfrage gesucht wird. Ein Eintrag für eine Broadcastabfrage wird ignoriert, wenn ein Eintrag für eine direkte Abfrage gesucht wird.
Leerzeilen werden ignoriert. Das Zeichen # wird als Kommentartrennzeichen behandelt und bewirkt, dass der Rest dieser Zeile ignoriert wird. Ein Backslash (\) am Ende der Zeile bewirkt, dass die neue Zeile ignoriert wird und sich Listen mit Hosts für indirekte Abfragen über mehrere Zeilen erstrecken können.
Im Folgenden sehen Sie eine Xaccess-Beispieldatei:
#
# Xaccess - XDMCP access control file
# #
# Direct/Broadcast query entries
# !xtra.lcs.mit.edu # disallow direct/broadcast service for xtra
bambi.ogi.edu # allow access from this particular display
*.lcs.mit.edu # allow access from any display in LCS #
# Indirect query entries
# %HOSTS expo.lcs.mit.edu xenon.lcs.mit.edu \\
excess.lcs.mit.edu kanga.lcs.mit.edu extract.lcs.mit.edu xenon.lcs.mit.edu #force extract to contact xenon
!xtra.lcs.mit.edu dummy #disallow indirect access
*.lcs.mit.edu %HOSTS #all others get to chooseChooser
Für X-Terminals, die kein Hostmenü für Broadcastabfragen oder indirekte Abfragen anbieten, kann das Programm chooser (Auswahlfunktion) verwendet werden. Geben Sie in der Datei Xaccess CHOOSER als ersten Eintrag in der Liste der Hosts für indirekte Abfragen an. Das Programm chooser sendet eine Abfrageanforderung (Query) an jeden der verbleibenden Hostnamen in der Liste und zeigt dann ein Menü mit allen Hosts an, die antworten.
Die Liste kann aus dem BROADCAST bestehen. In diesem Fall sendet chooser eine Broadcastabfrage und zeigt auch dann ein Menü mit allen Hosts an, die antworten.
Im Folgenden sehen Sie eine Xaccess-Beispieldatei, in der chooser verwendet wird:
extract.lcs.mit.edu CHOOSER %HOSTS #offer a menu of these hosts
xtra.lcs.mit.edu CHOOSER BROADCAST #offer a menu of all hostsDas für chooser verwendete Programm wird mit der Ressource DisplayManager.DISPLAY.chooser angegeben. Die Ressourcen für dieses Programm können in die mit der Ressource DisplayManager.DISPLAY.resources angegebene Datei eingetragen werden.
Das chooser-Programm wurde mit SelectionBoxWidget (Motif) implementiert. Eine Beschreibung der Ressourcen und Widget- oder Gadgetnamen finden Sie in der Dokumentation zur Klasse XmSelectionBoxWidget.
Serverspezifikation
Die Ressource DisplayManager.servers enthält eine Serverspezifikation oder, wenn die Werte mit einem Schrägstrich (/) beginnen, den Namen einer Datei mit Serverspezifikationenen (eine pro Zeile).
Jede Spezifikation gibt eine Anzeige an, die fortlaufend verwaltet werden soll und XDMCP nicht verwendet. Jede Spezifikation besteht aus mindestens drei Teilen:
- Anzeigename
- -Anzeigeklasse
- Anzeigetyp
- Für lokale Server eine Befehlszeile zum Starten des Servers.
Im Folgenden sehen Sie einen typischen Eintrag für die lokale Anzeigenummer 0:
:0 IBM-GT local /usr/bin/X11/X :0Die folgenden Anzeigetypen sind verfügbar:
| Element | Beschreibung |
|---|---|
| Lokal | Lokale Anzeige: \fIxdm\fP muss den Server ausführen |
| foreign | Ferne Anzeige: \fIxdm\fP öffnet eine X-Verbindung zu einem aktiven Server |
Der Anzeigename muss ein Name sein, der in der Option -display an ein X-Programm übergeben werden kann. Diese Zeichenfolge wird verwendet, um die anzeigenspezifischen Ressourcennamen zu generieren. Achten Sie daher darauf, die Namen abzugleichen (z. B. ":0 local /usr/bin/X11/X :0" statt "`localhost:0 local /usr/bin/X11/X :0" wenn Ihre anderen Ressourcen wie folgt angegeben werden: "DisplayManager._0.session"). Der Anzeigeklassenabschnitt wird auch in den anzeigespezifischen Ressourcen als Klasse der Ressource verwendet. Dies ist hilfreich, wenn Sie sehr viele ähnliche Anzeigen haben (z. B. sehr viele X-Terminals) und Ressourcen für Gruppen dieser Anzeigen festlegen möchten. Wenn XDMCP verwendet wird, muss die Anzeige die Anzeigeklasse angeben. Die Anzeigeklassenzeichenfolge für Ihre Einheit finden Sie in der Dokumentation zu Ihrem X-Terminal. Sollten Sie diese Zeichenfolge nicht in der Dokumentation finden, können Sie den Befehl xdm im Debugmodus ausführen und sich die für diese Einheit generierten Ressourcenzeichenfolgen ansehen, zu denen auch die Klassenzeichenfolge gehört.
Setup-Programm
Die Xsetup-Datei wird ausgeführt, nachdem der Server zurückgesetzt wurde, aber bevor das Anmeldefenster angezeigt wird. Die Datei ist gewöhnlich ein Shell-Script. Sie wird als Root ausgeführt und deshalb sollten Sie im Hinblick auf die Sicherheit vorsichtig vorgehen. Mit dieser Datei können Sie den Basishintergrund ändern oder weitere Fenster zusammen mit dem Anmeldewidget anzeigen. Da xdm die Tastatur annektiert, können andere Fenster keine Tastatureingaben empfangen. Sie werden jedoch mit der Maus interagieren. Achten Sie jedoch hier auf potenzielle Sicherheitslücken. Wenn DisplayManager.DISPLAY.grabServer gesetzt ist, kann Xsetup keine Verbindung zur Anzeige herstellen. Ressourcen für dieses Programm können in die mit der Ressource DisplayManager.DISPLAY.resources angegebene Datei eingefügt werden.
Zusätzlich zu den mit DisplayManager.exportList angegebenen Werten werden die folgenden Umgebungsvariablen übergeben:
| Element | Beschreibung |
|---|---|
| Anzeige | Gibt den Namen der zugeordneten Anzeige an. |
| Pfad | Gibt den Wert von DisplayManager.DISPLAY.systemPath an. |
| SHELL | Gibt den Wert von DisplayManager.DISPLAY.systemShell an. |
| XAUTHORITY (Berechtigung) | Gibt an, dass eine Berechtigungsdatei definiert sein kann. |
Authentifizierungsclient
Das MIT-Authentifizierungswidget wurde durch einen Authentifizierungsclient ersetzt, der sich aus Standard-Motif-Widgets zusammensetzt. Im Folgenden finden Sie eine Liste der Widgetnamen (und deren Widgetklassen):
outframe(xmFrameWidget)
inframe(xmFrameWidget)
main(XmFormWidget)
tframe(xmFrameWidget)
greeting(xmLabelGadget)
logoline(xmFormWidget)
dpyname(xmLabelWidget)
userline(xmRowColumnWidget)
userlabel(xmLabelWidget)
username(xmTextWidget)
passlabel(xmLabelWidget)
password(xmTextWidget)
failsafeline(xmFormWidget)
failsafe(xmToggleButtonWidget)
cancelline(xmFormWidget)
cancel(xmPushButtonWidget)
message(xmLabelWidget)Der Authentifizierungsclient liest ein Name/Kennwort-Paar von der Tastatur. Fügen Sie die Ressourcen für diesen Client in die mit der Ressource DisplayManager.DISPLAY.resources angegebene Datei ein. Alle Widgets haben angemessene Standardwerte und deshalb ist es nicht erforderlich, sie anzugeben. Weitere Informationen zu Standardwerten für Authentifizierungsclientressourcen sowie die entsprechende Dokumentation zu den Widgetklassen finden Sie unter /usr/lib/X11/xdm/Xresources. Die folgenden Ressourcen werden vom Authentifizierungsclient ebenfalls unterstützt:
| Element | Beschreibung |
|---|---|
| Xlogin*vordergrund | Gibt die für den Vordergrund verwendete Farbe an. |
| Xlogin*hintergrund | Gibt die für den Hintergrund verwendete Farbe an. |
| Xlogin*gruß | Gibt eine Zeichenfolge an, die dieses Fenster identifiziert. Der Standardwert ist AIXwindows-Umgebung. |
| Xlogin*greetFont | Gibt die Schriftart an, die zum Anzeigen der Begrüßung verwendet wird. |
| Xlogin*frameColor | Gibt die Hintergrundfarbe an, die zum Anzeigen der Begrüßung verwendet wird. |
| Xlogin*titleFont | Gibt die Schriftart an, die zum Anzeigen des Titels verwendet wird. |
| Xlogin*namePrompt | Gibt die Zeichenfolge an, die für die Aufforderung zur Eingabe eines Benutzernamens verwendet wird. Das Xrdb-Programm entfernt nachgestellte Leerzeichen aus Ressourcenwerten. Fügen Sie am Ende der Eingabeaufforderung mit Backslashes als Escapezeichen versehende Leerzeichen hinzu. Der Standardwert ist "login:". |
| Xlogin*promptFont | Gibt die Schriftart an, die zum Anzeigen beider Eingabeaufforderungen verwendet wird. |
| Xlogin*failFont | Gibt die Schriftart an, die für die Failsafe-Schaltfläche verwendet wird. |
| Xlogin*cancelFont | Gibt die Schriftart an, die für die Schaltfläche zum Abbrechen verwendet wird. |
| Xlogin*messageFontlist | Gibt die Schriftart an, die für die Anzeige der Fehlernachricht verwendet wird. |
| Xlogin*failColor | Gibt die Farbe an, die für die Anzeige der Fehlernachricht verwendet wird. |
| Xlogin*failTimeout | Gibt an, wie lange (in Sekunden) die Fehlernachricht angezeigt wird. Der Standardwert sind 30 Sekunden. |
| Xlogin*sessionArgument | Gibt das Argument an, das an das Sitzungsprogramm übergeben werden soll. |
| Xlogin*XmText.Übersetzungen | Dies gibt die Umsetzungen an, die für den Authentifizierungsclient verwendet werden. Eine vollständige Erläuterung der Umsetzungen finden Sie in der X Toolkit-Dokumentation. Im Folgenden sehen Sie die Standardumsetztabelle:Sie können XDM so konfigurieren, dass die XDM-Standardumsetzungen verwendet werden, indem Sie die in Xresources definierten XmText-Umsetzungen ersetzen: Anmerkung: Verwenden<Key>osfHelpAnstatt<Key>F1aufgrund der virtuellen Motif-Standardbindungen.)
Zusätzlich zu den typischen XmText-Aktionen werden die folgenden Aktionen vom Client unterstützt, damit sie mit den XDM-Standardumsetzungen kompatibel sind:
|
|
Startprogramm
Die Xstartup-Datei ist normalerweise ein Shell-Script. Da es als Rootbenutzer ausgeführt wird, sollten Sie bei der Ausführung auf die Sicherheit achten. Das Script enthält gewöhnlich Befehle, die Einträge zu /etc/utmp hinzufügen, die Ausgangsverzeichnisse von Benutzer über Dateiserver mounten, die Nachricht des Tages anzeigen oder die Sitzung abbrechen, wenn keine Anmeldungen zulässig sind.
Zusätzlich zu den mit DisplayManager.exportList angegebenen Werten werden folgende Variablen übergeben:
| Element | Beschreibung |
|---|---|
| Anzeige | Gibt den Namen der zugeordneten Anzeige an. |
| Startseite | Gibt das anfängliche Arbeitsverzeichnis des Benutzers an. |
| User | Gibt den Benutzernamen an. |
| Pfad | Gibt den Wert von DisplayManager.DISPLAY.systemPath an. |
| SHELL | Gibt den Wert von DisplayManager.DISPLAY.systemShell an. |
| XAUTHORITY (Berechtigung) | Kann auf eine Berechtigungsdatei gesetzt werden. |
Es werden keine Argumente an das Script übergeben. Der Befehl xdm wartet die Beendigung dieses Scripts ab, bevor er die Benutzersitzung startet. Wenn der Exitwert dieses Scripts ungleich null ist, beendet der Befehl xdm die Sitzung und startet einen weiteren Authentifizierungszyklus.
Sitzungsprogramm
Das Programm Xsession legt den Stil der Benutzersitzung fest. Es wird mit den Berechtigungen des berechtigten Benutzers ausgeführt.
Zusätzlich zu den mit DisplayManager.exportList angegebenen Werten werden die folgenden Umgebungsvariablen übergeben:
| Element | Beschreibung |
|---|---|
| Anzeige | Gibt den Namen der zugeordneten Anzeige an. |
| Startseite | Gibt das anfängliche Arbeitsverzeichnis des Benutzers an. |
| User | Gibt den Benutzernamen an. |
| Pfad | Gibt den Wert von DisplayManager.DISPLAY.userPath an. |
| SHELL | Gibt die Standardshell des Benutzers an (von getpwnam). |
| XAUTHORITY (Berechtigung) | Kann auf eine vom Standard abweichende Berechtigungsdatei gesetzt werden. |
Bei den meisten Installationen muss das Xsession-Programm im Ausgangsverzeichnis des Benutzers ($HOME) nach einer Datei .xsession suchen, die die Befehle enthält, die der Benutzer als Sitzung verwenden möchte. Das Xsession-Programm muss für den Fall, dass keine benutzerdefinierte Sitzung vorhanden ist, auch eine Systemstandardsitzung implementieren. Weitere Informationen finden Sie im Abschnitt "Typische Verwendung".
Das Authentifizierungswidget kann mit der Aktion "set-session-argument" ein Argument an dieses Programm übergeben. Anhand dieses Arguments kann ein anderer Sitzungsstil ausgewählt werden. Gewöhnlich wird dieses Feature verwendet, damit der Benutzer bei einem Fehler die normale Sitzung verlassen kann. Dies ermöglicht Benutzern, ihren eigenen .xsession-Prozess zu reparieren, wenn ein Fehler auftritt, ohne dass ein Verwaltungseingriff erforderlich ist. Eine Beschreibung dieses Features finden Sie im Abschnitt "Typische Verwendung".
Zurücksetzungsprogramm
Das Script Xreset wird nach der Beendigung der Benutzersitzung ausgeführt. Das Script muss als Root ausgeführt werden und muss die Befehle enthalten, die die Auswirkungen der Befehle in Xstartup rückgängig machen, indem sie Einträge aus /etc/utmp entfernen oder Verzeichnisse von Dateiservern abhängen. Die an Xstartup übergebenen Umgebungsvariablen werden auch an Xreset übergeben. Dieses Programm ist symmetrisch mit dem Programm Xstartup.
Server steuern
Der Befehl xdm steuert lokale Server mithilfe von POSIX-Signalen. Es wird erwartet, dass der Server mit einem SIGHUP-Signal zurücksetzt wird und dass alle Clientverbindungen geschlossen und weitere Bereinigungsaktionen ausgeführt werden. Es wird erwartet, dass die Serverausführung mit einem SIGTERM-Signal abgebrochen wird. Wenn diese Signale nicht die erwarteten Aktionen ausführen, können mit den Ressourcen DisplayManager.DISPLAY.resetSignal und DisplayManager.DISPLAY.termSignal alternative Signale angegeben werden.
Zur Steuerung ferner Terminals, die XDMCP nicht verwenden, durchsucht der Befehl xdm die Fensterhierarchie auf dem Bildschirm und verwendet die Protokollanforderung KillClient, um zu versuchen, das Terminal für die nächste Sitzung zu bereinigen. Dies führt möglicherweise nicht dazu, dass alle Clients inaktiviert werden, weil nur die Clients erkannt werden, für die Fenster erstellt wurden. XDMCP bietet einen Mechanismus mit höherer Sicherheit. Wenn der Befehl xdm die erste Verbindung beendet, wird die Sitzung beendet und das Terminal muss alle anderen Verbindungen schließen.
XDM steuern
Der Befehl xdm reagiert auf zwei Signale: SIGHUPund SIGTERM. Wenn ein SIGHUP-Signal gesendet wird, liest xdm die Konfigurationsdatei, die Zugriffssteuerungsdatei und die Serverdatei erneut. Der Befehl erkennt, ob Einträge in der Serverdatei hinzugefügt oder entfernt wurden. Wenn ein neuer Eintrag hinzugefügt wurde, startet der Befehl xdm eine Sitzung auf dem zugeordneten Bildschirm. Entfernte Einträge werden sofort inaktiviert, d. h., dass alle aktiven Sitzungen ohne Benachrichtigung beendet und keine neuen Sitzungen gestartet werden.
Wenn ein SIGTERM-Signal gesendet wird, beendet der Befehl xdm alle aktiven Sitzungen und wird dann beendet. Dieses Verfahren kann beim Herunterfahren des Systems verwendet werden.
Der Befehl XDM versucht, seine verschiedenen Unterprozesse für die Verwendung durch den Befehl Ps zu markieren, indem er die Befehlszeilenargumentliste an Ort und Stelle bearbeitet. Da der Befehl xdm keinen Speicherplatz für diese Task reservieren kann, empfiehlt es sich, den Befehl xdm mit einer ausreichend langen Befehlszeile zu starten (die Verwendung des vollständigen Pfadnamens sollte ausreichen). Jeder Prozess, der einen Bildschirm bedient, ist mit -display gekennzeichnet.
Weitere Möglichkeiten
Mit dem Befehl xdm können Sie auch jeweils eine Sitzung auszuführen. Verwenden Sie dazu die xinit-Befehlsoptionen oder andere geeignete Dämonprozesse, indem Sie den Server in der Befehlszeile angeben:
xdm -server ":0 local /usr/bin/X11/X :0 -force"Der Befehl kann auch einen Dateiserver und eine Reihe von X-Terminals ausführen. Diese Konfiguration ist abgesehen davonk, dass die Datei Xservers folgendermaßen aussehen würde, identisch mit dem vorherigen Beispiel:
extol:0 VISUAL-19 foreign
exalt:0 NCD-19 foreign
explode:0 NCR-TOWERVIEW3000 foreignBeispiele
- Das folgende Beispielscript xstartup verhindert die Anmeldung, während die Datei /etc/nologin vorhanden ist. Da die Anzeige von Nachrichten hier nicht vorgesehen ist, (es gibt keinen X-Basisclient, der Dateien anzeigt), wird das Setup in diesem Beispiel nicht empfohlen, weil die Anmeldung ohne Erklärung fehlschlagen würde. Es handelt sich also nicht um ein vollständiges Beispiel, sondern nur um eine Demonstration der verfügbaren Funktionalität.
#!/bin/sh # # Xstartup # # This program is run as root after the user is verified # if [ \-f /etc/nologin ]; then exit 1 fi exit 0 - Dieses XSitzung -Script erkennt den speziellen Failsafe -Modus, der in den Übersetzungen in der vorherigen Datei XRessourcen angegeben ist, um ein Escapezeichen aus der normalen Sitzung bereitzustellen:
#!/bin/sh exec > $HOME/.xsession-errors 2>&1 case $# in 1) case $1 in failsafe) exec aixterm -geometry 80x24-0-0 ;; esac esac startup=$HOME/.xsession resources=$HOME/.Xresources if [ -f /usr/bin/X11/startx ]; then exec /usr/bin/X11/startx -t -wait elif [ -f $startup]; then exec $startup else if [ -f $resources ]; then xrdb -load $resources fi mwm & exec aixterm -geometry 80x24+10+10 -ls fi - Damit XDM vom Systemstart gestartet wird, geben Sie als Rootbenutzer Folgendes ein:
/usr/lib/X11/xdm/xdmconf - Geben Sie zum Inaktivieren von XDM beim Warmstart als Root Folgendes ein:
/usr/lib/X11/xdm/xdmconf -d - Bei Verwendung von XDM für die Verwaltung Ihrer Anzeige stellt eine Authentifizierungsprozedur sicher, dass nur zulässige Clients eine Verbindung zu Ihrer Anzeige herstellen können. Clients, die mit X11 R4- und X11 R5-Bibliotheken erstellt wurden, verstehen dieses Protokoll. Clients, die mit X11 R3- oder älteren Bibliotheken erstellt wurden, unterstützen dieses Authentifizierungsprotokoll nicht und dürfen keine
Verbindung zum Xserver herstellen, sofern keine xhost-Berechtigung erteilt wird. Sie können lokale Clients mit dem folgenden Befehl verbinden:
oderxhost =localhost
Dabei ist Maschine der Hostname des lokalen Clients.xhost =machine
Dateien
| Element | Beschreibung |
|---|---|
| /usr/lib/X11/xdm/xdm-config | Die Standardkonfigurationsdatei. |
| /usr/lib/X11/xdm/Xaccess | Die Standardzugriffsdatei, die autorisierte Bildschirme enthält. |
| /usr/lib/X11/xdm/Xservers | Die Standardserverdatei, in der zu verwaltende Server ohne XDMCP-Unterstützung aufgelistet sind. |
| $(HOME)/.Xauthority | Die Benutzerberechtigungsdatei, in der xdm Schlüssel speichert, die von Clients gelesen werden können. |
| /usr/lib/X11/xdm/chooser | Die Standardauswahlfunktion. |
| /usr/bin/X11/xrdb | Das Standardladeprogramm für die Ressourcendatenbank. |
| /usr/bin/X11/X | Der Standardserver. |
| /usr/bin/X11/xterm | Das Standardsitzungsprogramm und der sichere Client. |
| /usr/lib/X11/xdm/A<host>\-<suffix> | Die Standardposition für Berechtigungsdateien. |