Nach dem Aufruf des Session Managers wird eine Sitzung in folgenden Schritten gestartet:
Verfügbare Anwendungen werden erfaßt.
Optional werden die Skripts HomeVerzeichnis/.profile oder HomeVerzeichnis/.login ausgeführt.
Die Sitzungsanwendungen werden gestartet.
Die folgenden Abschnitte beschreiben diese einzelnen Schritte.
Beim Start der Anwendung führt das Skript Xsession das Skript HomeVerzeichnis/.dtprofile des Benutzers aus. Dabei handelt es sich um ein /bin/sh- oder /bin/ksh- Skript, das Benutzern die Einstellung von Umgebungsvariablen für ihre Sitzungen gestattet. Details hierzu finden Sie unter "Zusätzliche Anpassungen beim Start einer Sitzung ".
Sollte das Skript HomeVerzeichnis/.dtprofile nicht vorhanden sein, beispielsweise weil sich der Benutzer zum ersten Mal beim Desktop anmeldet, kopiert Xsession die Standard-Desktopdatei sys.dtprofile auf HomeVerzeichnis/.dtprofile.
Die Standards für den Desktop sind definiert in /usr/dt/config/sys.dtprofile . Wenn das Skript sys.dtprofile angepaßt werden soll, kopieren Sie sys.dtprofile aus /usr/dt/config nach /etc/dt/config, und bearbeiten Sie die neue Datei.
Nach Ausführung des Skripts HomeVerzeichnis/.dtprofile führt das Skript Xsession die Skripts in Xsession.d aus. Diese übernehmen die Einrichtung zusätzlicher Umgebungsvariablen und starten optionale Dämonen für die Benutzersitzung. Standardmäßig enthält Xsession.d die folgenden Skripts:
0010.dtpaths Dokumentiert die einstellbaren Desktop-Suchpfade.
0020.dtims - Startet einen optionalen Eingabemethoden-Server.
0030.dttmpdir - Legt ein benutzerspezifisches temporäres Verzeichnis für jede Sitzung an.
0040.xmbind Richtet $XMBINDDIR entsprechend dem Desktopstandard ein.
In Xsession.d befinden sich eventuell weitere, herstellerspezifische Skripts.
Xsession führt zuerst alle Dateien im Verzeichnis /etc/dt/config/Xsession.d aus und dann die Dateien in /usr/dt/config/Xsession.d .
Die Standardskripts der Gruppe Xsession.d für den Desktop befinden sich im Verzeichnis /usr/dt/config/Xsession.d . Wenn eines dieser Skripts angepaßt werden soll, kopieren Sie es von /usr/dt/config/Xsession.d nach /etc/dt/config/Xsession.d und bearbeiten die neue Datei. Dazu müssen Sie jedoch über eine Berechtigung zum Ausführen verfügen.
Wenn Sie möchten, daß Xsession eines Ihrer eigenen Skripts ebenfalls automatisch ausführen soll, müssen Sie es nach /etc/dt/config/Xsession.d kopieren.
Immer wenn Sie eines der Skripts in Xsession.d verändern oder ein neues erstellen, sollten Sie auf eine geringe Ausführungsdauer der Vordergrundbefehle achten, um die für den Sitzungsstart benötigte Zeit kurz zu halten. Wenn ein Vordergrundbefehl nicht existiert, wird der Sitzungsstart angehalten. Alle Befehle in einem Xsession.d-Skript, die für die gesamte Dauer der Sitzung aktiv bleiben sollen, sollten im Hintergrund ablaufen.
Nach Ausführung der Skripts HomeVerzeichnis/.dtprofile und Xsession.d zeigt Xsession eine Begrüßungsmeldung über den gesamten Bildschirm an. Die Meldung kann in ihrem Text verändert oder ganz deaktiviert werden. Das dthello wird zum Anzeigen der Meldung verwendet.
Wenn Sie den Meldungstext wechseln möchten, ändern Sie die dthello -Optionen über die Variable dtstart_hello[0].
Wenn die Einstellung von dtstart_hello[0] geändert werden soll, erstellen Sie ein Skript /etc/dt/config/Xsession.d, das den neuen Wert setzt. Wenn die Meldung des Tages für alle Benutzer angezeigt werden soll, erzeugen Sie ein ausführbares sh- oder ksh-Skript, beispielsweise /etc/dt/config/Xsession.d/myvars , und setzen dtstart_hello[0] folgendermaßen:
dtstart_hello[0]="/usr/dt/bin/dthello -file /etc/motd &"
Auf ähnliche Weise können Benutzer die Begrüßungsmeldung für ihre Sitzungen ändern. Dazu muß dtstart_hello[0] in Home-Verzeichnis/.dtprofile gesetzt werden.
Zum Deaktivieren der Begrüßungsmeldung setzen Sie dtstart_hello[0]=" ".
Weitere Informationen zu dthello finden Sie in der Handbuchseite dthello.
Die Desktop-Suchpfade werden bei der Anmeldung von dtsearchpath erzeugt. Von dtsearchpath werden zwei Kategorien von Umgebungsvariablen verwendet:
Eingabevariablen-Systemweite und persönliche Umgebungsvariablen, deren Werte vom Systemverwalter oder vom Endanwender gesetzt werden.
Ausgabevariablen: Variablen, die von dtsearchpath erzeugt und verwaltet werden. Der Wert jeder Variablen entspricht dem Suchpfad für die Desktopsitzung.
Die Befehlszeilenoptionen für dtsearchpath werden über die Variable dtstart_searchpath geändert. Um die Variable dtstart_searchpath für alle Benutzer zu ändern, erzeugen Sie ein ausführbares sh- oder ksh-Skript, beispielsweise /etc/dt/config/Xsession.d/myvars, und setzen dtstart_searchpath folgendermaßen:
dtstart_searchpath="/usr/dt/bin/dtsearchpath"
Auf ähnliche Weise können Benutzer die dtsearchpath-Optionen nur für ihre eigenen Sitzungen ändern. Dazu muß dtstart_searchpath in Home-Verzeichnis/.dtprofile gesetzt werden.
Weitere Informationen zu dtsearchpath finden Sie in Kapitel 9. Details zu den Optionen von dtsearchpath finden Sie auf der Handbuchseite dtsearchpath.
Nach dem Einrichten der Suchpfade für das Desktop werden die verfügbaren Anwendungen mit Hilfe von dtappgather zusammengestellt. Um die Befehlszeilenoptionen für dtappgather zu ändern, bearbeiten Sie die Variable dtstart_appgather Um die Variable dtstart_appgather für alle Benutzer zu ändern, erzeugen Sie ein ausführbares sh- oder ksh-Skript, beispielsweise /etc/dt/config/Xsession.d/myvars, und setzen Sie dtstart_appgather folgendermaßen:
dtstart_appgather="/usr/dt/bin/dtappgather &"
Auf ähnliche Weise können Benutzer die Optionen von dtappgather nur für ihre eigenen Sitzungen ändern. Dazu wird dtstart_appgather in Home-Verzeichnis/.dtprofile gesetzt.
Näheres zu den Optionen von dtappgather finden Sie auf der Handbuchseite dtappgather(4).
Xsession ist in der Lage, die konventionellen Skripts Home-Verzeichnis/.profile oder Home-Verzeichnis/.login eines Benutzers auszuführen. Per Voreinstellung ist dieses Merkmal jedoch deaktiviert. Soll Xsession die Skripts .profile oder .login ausführen, setzen Sie die Variable DTSOURCEPROFILE
auf true.
Wenn die Einstellung von DTSOURCEPROFILE
für alle Benutzer geändert werden soll, erzeugen Sie ein Skript /etc/dt/config/Xsession.d, das den neuen Wert zuweist. Damit DTSOURCEPROFILE
auf true gesetzt wird, erzeugen Sie ein ausführbares sh- oder ksh-Skript, beispielsweise /etc/dt/config/Xsession.d/myvars, und setzen DTSOURCEPROFILE
folgendermaßen:
DTSOURCEPROFILE=true
Auf ähnliche Weise können Benutzer den Wert von DTSOURCEPROFILE
für ihre eigene Sitzung ändern. Dazu wird DTSOURCEPROFILE
auf true gesetzt.
Der ToolTalk-Nachrichtendämon, ttsession, ermöglicht die Kommunikation von Anwendungen untereinander, ohne daß diese in direkter Verbindung stehen. Hierzu erzeugen und senden die Anwendungen ToolTalk-Nachrichten. ttsession übernimmt den Datenaustausch im Netz und leitet die Nachrichten weiter.
Um die Befehlszeilenoptionen für ttsession zu ändern, bearbeiten Sie die Variable dtstart_ttsession . Um die Variable dtstart_ttsession für alle Benutzer zu ändern, erstellen Sie das ausführbare Skript sh oder ksh (beispielsweise /etc/dt/config/Xsession.d/myvars), und setzen Sie dtstart_ttsession folgendermaßen:
dtstart_ttsession="/usr/dt/bin/ttsession -s"
Auf ähnliche Weise können Benutzer die Optionen von ttsession für ihre eigene Sitzung ändern. Dazu muß dtstart_ttsession auf Home-Verzeichnis/.dtprofile gesetzt werden.
Näheres zu den Optionen von ttsession finden Sie auf der Handbuchseite ttsession. Details zum Modul ttsession finden Sie unter Common Desktop Environment: ToolTalk Messaging Overview.
Zu diesem Zeitpunkt startet Xsession das Modul /usr/dt/bin/dtsession, das den Startvorgang der Sitzung fortführt.
Der Session Manager stellt die Desktop-Ressourcen mit Hilfe der X-Servereigenschaft RESOURCE_MANAGER
für alle Anwendungen zur Verfügung. Das Laden von RESOURCE_MANAGER
umfaßt folgende Schritte:
Die Standardressourcen des Systems werden geladen.
Alle vom Systemverwalter festgelegten systemweiten Ressourcen werden hinzugefügt.
Alle vom Benutzer festgelegten Ressourcen werden hinzugefügt.
Die Desktop-Standardressourcen sind in /usr/dt/config/Sprache/sys.resources definiert. Über die Eigenschaft RESOURCE_MANAGER
werden diese Ressourcen allen Benutzersitzungen verfügbar gemacht. Es hat keinen Sinn, die Datei zu verändern, weil sie bei nachfolgenden Desktop-Installationen überschrieben wird.
Die Anzahl der Standard-Systemressourcen läßt sich erhöhen, indem eine Datei /etc/dt/config/Sprache /sys.resources angelegt wird. In dieser Datei können für alle Desktop-Benutzer Standardressourcen umdefiniert oder weitere Ressourcen hinzugefügt werden. In dieser Datei sollten nur neue oder aktualisierte Ressourcenspezifikationen gespeichert werden, da die Datei beim Sitzungsstart mit den Standard-Desktopressourcen kombiniert wird. Über die Eigenschaft RESOURCE_MANAGER
werden diese Ressourcen allen Benutzersitzungen zur Verfügung gestellt. Die Definitionen in dieser Datei haben Vorrang vor denen der Standard-Ressourcendatei für
den Desktop.
Benutzer können die Anzahl der Standardressourcen für das Desktop und der systemweit definierten Ressourcen über die Datei Home-Verzeichnis/.Xdefaults erhöhen. Über die Eigenschaft RESOURCE_MANAGER
werden diese Ressourcen allen Benutzersitzungen zur Verfügung gestellt. Die Definitionen in dieser Datei haben Vorrang vor denen der Standard-Ressourcendatei des Desktop oder der Ressourcendatei des Systemverwalters.
Das Dienstprogramm X Toolkit Intrinsics lädt die Ressourcen für eine Anwendung entweder aus RESOURCE_MANAGER
oder aus Home-Verzeichnis /.Xdefaults, aber nicht aus beiden Quellen. Das bedeutet normalerweise, daß die Datei Home-Verzeichnis /.Xdefaults des Benutzers ignoriert wird. Wie bereits erwähnt, kombiniert der Session Manager die Datei Home-Verzeichnis/ .Xdefaults jedoch beim Start der Sitzung mit RESOURCE_MANAGER
Die an Home-Verzeichnis/.Xdefaults vorgenommenen Änderungen wirken
sich erst dann auf neue Anwendungen aus, wenn der Benutzer die Aktion 'Ressourcen neu laden' ausführt. Dadurch wird der Session Manager veranlaßt, RESOURCE_MANAGER
mit den Standardressourcen, den systemweit definierten Ressourcen und den vom Benutzer festgelegten Ressourcen zu laden. Aufgrund dieses Vorgangs werden Änderungen an systemweiten oder persönlichen Ressourcendateien für Anwendungen verfügbar.
Weitere Informationen finden Sie an folgenden Stellen:
Handbuchseite dtresourcesfile(4)
Der Session Manager fungiert als Farbserver für den Desktop. Zur Konfiguration dienen die folgenden dtsession-Ressourcen.
foregroundColor - Steuert, ob einem Pixel die Vordergrundfarbe zugeordnet wird.
dynamicColor - Gibt an, ob schreibgeschützte Farben zugeordnet sind.
shadowPixmaps - Gibt an, ob Farben für den oberen oder unteren Schatten zugeordnet sind.
colorUse - Begrenzt die Farbzuordnung.
writeXrdbColors - Gibt an, ob die *background und *foreground -Ressourcen in die Ressourcendatenbank eingetragen werden.
Wenn die Farbserver-Ressourcen für alle Benutzer geändert werden sollen, legen Sie die Datei /etc/dt/config/Sprache/sys.resources an und geben die Ressourcen ein.
Auf ähnliche Weise können Benutzer Farbserver-Ressourcen für eigene Sitzungen in der Datei Home-Verzeichnis/.Xdefaults festlegen.
Weitere Informationen zur Einstellung der Farbserver-Ressourcen finden Sie unter "Farben verwalten".
Der Session Manager ist verantwortlich für den Start des Workspace Managers. Per Voreinstellung wird /usr/dt/bin/dtwm aufgerufen. Mit der Ressource wmStartupCommand kann ein alternativer Fenstermanager festgelegt werden.
Wenn Sie diesen Manager für alle Benutzer festlegen möchten, erzeugen Sie die Datei /etc/dt/config/Sprache/sys.resources und geben die Ressource Dtsession*wmStartupCommand sowie den vollständigen Pfadnamen und die Optionen für den Manager an.
Auf ähnliche Weise können Benutzer einen alternativen Fenstermanager für ihre eigenen Sitzungen auswählen. Dazu muß in Home-Verzeichnis/.Xdefaults die Ressource Dtsession*wmStartupCommand definiert werden.
Weitere Informationen hierzu finden Sie in Kapitel 16.
Zu Beginn einer Sitzung startet der Session Manager erneut alle Anwendungen, die als Teil der Sitzung gespeichert wurden. Die Anwendungen, die standardmäßig bei einer Startsitzung geladen werden, sind definiert in /usr/dt/config/Sprache/sys.session. Diese Datei darf nicht bearbeitet werden, da sie ansonsten bei nachfolgenden Desktop-Installationen überschrieben werden kann.
Weitere Informationen finden Sie auf der Handbuchseite dtsessionfile(4).
Wenn ein Systemverwalter andere Anwendungen für eine Startsitzung verwenden möchte, kann er die Datei /usr/dt/config/Sprache/sys.session in die Datei /etc/dt/config/Sprache/sys.session kopieren und letztere Datei bearbeiten. Im Gegensatz zu den Ressourcendateien ersetzt diese Datei die Desktop-Standarddatei vollständig, so daß an einer Kopie der System-Standarddatei die nötigen Änderungen vorgenommen werden können.