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 allerdings das Ausführungsrecht besitzen.
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. Die Anzeige steuert der Client dthello.
Wenn Sie den Meldungstext wechseln möchten, ändern Sie die dthello--Optionen über die Variable dtstart_hello[0] .
Zum Ändern von dtstart_hello[0] 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 HomeVerzeichnis/.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. Wenn dies für alle Benutzer dtstart_searchpath erfolgen soll, erstellen 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 HomeVerzeichnis /.dtprofile gesetzt werden.
Weitere Informationen zu dtsearchpath finden Sie in Kapitel 9. Details zu den Optionen von dtsearchpath enthält die Handbuchseite dtsearchpath.
Der nächste Schritt nach Einrichtung der Desktop-Suchpfade besteht in der Erfassung der verfügbaren Anwendungen mit Hilfe von dtappgather. Die Befehlszeilenoptionen von dtappgather werden über die Variable dtstart_appgather geändert. Wenn dies für alle Benutzer erfolgen soll, erzeugen Sie ein ausführbares sh- oder ksh-Skript, beispielsweise /etc/dt/config/Xsession.d/myvars, und setzen 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 HomeVerzeichnis /.dtprofile gesetzt.
Näheres zu den Optionen von dtappgather finden Sie in der Handbuchseite dtappgather(4).
Xsession ist in der Lage,
die konventionellen Skripts HomeVerzeichnis/.profile oder HomeVerzeichnis/.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
für alle Benutzer 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
in HomeVerzeichnis/.dtprofile
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.
Die Befehlszeilenoptionen für ttsession werden über die Variable dtstart_ttsession geändert. Wenn dies für alle Benutzer geschehen soll, erstellen Sie ein ausführbares sh- oder ksh- Skript, beispielsweise /etc/dt/config/Xsession.d/myvars, und setzen 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 in HomeVerzeichnis/.dtprofile gesetzt werden.
Näheres zu den Optionen von ttsession enthält die 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 macht die Desktop-Ressourcen mit Hilfe der X--Servereigenschaft RESOURCE_MANAGER
allen Anwendungen verfügbar.
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 plaziert werden, weil
die Datei beim Start der Sitzung mit den Standard-Desktopressourcen kombiniert
wird. Über die Eigenschaft RESOURCE_MANAGER
werden sämtliche in dieser Datei angegebenen Ressourcen
allen Benutzersitzungen verfügbar gemacht. 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 den
Desktop un der systemweit definierten Ressourcen über die Datei HomeVerzeichnis/.Xdefaults erhöhen.
Über die Eigenschaft RESOURCE_MANAGER
werden die hier definierten Ressourcen der Sitzung dieses Benutzers
verfügbar gemacht. 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 HomeVerzeichnis /.Xdefaults, aber nicht aus beiden Quellen. Das bedeutet normalerweise,
daß die Datei HomeVerzeichnis /.Xdefaults des Benutzers ignoriert wird. Wie bereits erwähnt,
kombiniert der Session Manager die Datei HomeVerzeichnis/ .Xdefaults jedoch beim Start der Sitzung mit RESOURCE_MANAGER
. Änderungen des Benutzers an HomeVerzeichnis/.Xdefaults 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 vom Benutzer festgelegten Ressourcen
zu laden. Erst dadurch 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 für den Desktop als Farbserver. Zur Konfiguration dienen die folgenden dtsession--Ressourcen.
foregroundColor--Steuert, ob einem Pixel die Vordergrundfarbe zugeordnet ist.
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 eine Datei /etc/dt/config/sprache/sys.resources an und tragen dort die Ressourcen ein.
Auf ähnliche Weise können Benutzer Farbserver-Ressourcen für ihre eigenen Sitzungen festlegen. Dies geschieht in der Datei HomeVerzeichnis/.Xdefaults.
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 ein alternativer Fenstermanager für alle Benutzer festgelegt werden soll, erzeugen Sie eine Datei /etc/dt/config/sprache/sys.resources und geben dort mit der Ressource Dtsession*wmStartupCommand den vollständigen Pfadnamen und die Optionen für diesen Fenstermanager an.
Auf ähnliche Weise können Benutzer einen alternativen Fenstermanager für ihre eigenen Sitzungen auswählen. Dazu muß in HomeVerzeichnis/.Xdefaults die Ressource Dtsession*wmStartupCommand definiert werden.
Weitere Informationen hierzu finden Sie in Kapitel 16.
Zu Beginn einer Sitzung startet der Session Manager wieder 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 sollte nicht bearbeitet werden, weil sie bei nachfolgenden Desktop-Installationen überschrieben wird.
Weitere Informationen finden Sie auf der Handbuchseite dtsessionfile(4).
Wenn ein Systemverwalter andere Anwendungen für eine Startsitzung vorsehen möchte, kann er die Datei /usr/dt/config/sprache/sys.session auf 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.