Dieser Abschnitt umfaßt folgende Themen:
Umgebungsvariablen setzen
Ressourcen festlegen
Mit bildschirmspezifischen Sitzungen arbeiten
Skripts bei der Anmeldung ausführen
Gespeicherte Sitzungen wiederherstellen
Zur Einstellung von systemweiten (globalen) Umgebungsvariablen legen Sie im Verzeichnis /etc/dt/config/Xsession.d eine Datei an, in der die Variable gesetzt und exportiert wird.
Wenn Sie beispielsweise ein ausführbares ksh--Skript /etc/dt/config/Xsession.d/myvars mit dem Inhalt
export MYVARIABLE="wert"
erzeugen, wird die Variable MYVARIABLE
bei der nächsten Anmeldung in den jeweiligen Benutzerumgebungen gesetzt.
Beispiel:
export MYVARIABLE="wert"
Die Variable MYVARIABLE
wird bei der nächsten Anmeldung in den jeweiligen Benutzerumgebungen gesetzt.
Der Session Manager liest die Dateien .profile und .login nicht automatisch. Allerdings kann er so konfiguriert werden, daß er auf diese Dateien zugreift. Siehe dazu "Optionale Ausführung der Skripts .profile und .login".
Zum Festlegen systemweiter Ressourcen müssen diese in die Datei /etc/dt/config/sprache/sys.resources eingefügt werden. (Eventuell müssen Sie diese Datei noch anlegen.)
.dtprofile unterstützt nur die Syntax /bin/sh oder /bin/ksh.
Wenn Sie beispielsweise in die Datei /etc/dt/config/C/sys.resources folgendes einfügen:
AnApplication*resource: wert
dann wird bei der nächsten Anmeldung die Ressource AnApplication*resource in der Eigenschaft RESOURCE_MANAGER
jedes Benutzers gesetzt.
Persönliche Ressourcen müssen in die Datei HomeVerzeichnis/.Xdefaults eingetragen werden.
Bildschirmspezifische Ressourcen können entweder für alle Desktop-Benutzer eines Systems oder für einzelne Sitzungen festgelegt werden. Somit können die verwendeten Ressourcen von dem Bildschirm abhängig gemacht werden, über den sich der Benutzer beim Desktop anmeldet.
Zum Einstellen bildschirmspezifischer Ressourcen für alle Desktop-Benutzer des Systems erstellen Sie die Datei /etc/dt/config/sprache/sys.resources, in der die Festlegungen enthalten sind.
Persönliche bildschirmspezifische Ressourcen werden in der Datei HomeVerzeichnis/.Xdefaults angegeben.
Zur Abgrenzung dieser Ressourcen schließen Sie diese in bedingte cpp-Anweisungen ein. Ein DISPLAY_
-Bildschirmnamen-Makro wird abhängig vom Wert der Variablen $DISPLAY
definiert. Dabei wird jeder .(Punkt) und :(Doppelpunkt) durch das Zeichen _ (Unterstrich) ersetzt und alle Bildschirmspezifikationen entfernt. Anschließend wird das Präfix DISPLAY_
dem Ergebnis hinzugefügt.
Beispielsweise liefert $DISPLAY
mit :0 das Ergebnis DISPLAY_0
, und $DISPLAY
mit blanco.gato.com:0.0 das Ergebnis DISPLAY_blanco_gato_com_0. Das Ergebnis kann in einer Sitzungsressourcendatei als Teil einer Fallunterscheidung mit cpp eingesetzt werden. Wenn Sie beispielsweise in die Datei /etc/dt/config/C/sys.resources folgendes einfügen:
Myapp*resource: wert
#ifdef DISPLAY_blanco_gato_com_0 Myapp*resource: spezialwert1 #endif
#ifdef DISPLAY_pablo_gato_com_0 Myapp*resource: spezialwert2 #endif
, wird die Ressource MyApp*resource in RESOURCE_MANAGER
auf spezialwert1 gesetzt, wenn sich der Benutzer bei Bildschirm blanco.gato.com:0 anmeldet, oder die Ressource wird auf; spezialwert2 gesetzt, wenn die Anmeldung über den Bildschirm pablo.gato.com:0 und den wert erfolgt.
Sie können festlegen, welche Anwendungen als Teil der Startsitzung eines Benutzers aufgerufen werden.
Kopieren Sie die Datei /usr/dt/config/sprache/sys.session in /etc/dt/config/sprache/sys.session.
Bearbeiten Sie die neue Datei sys.session.
Die Einträge in sys.session haben folgende Form:
dtsmcmd -cmd befehl_und_optionen
Um eine weitere Anwendung als Teil der Startsitzung zu laden, fügen Sie in sys.session einen weiteren Eintrag mit vollständigem Pfad ein. Wenn beispielsweise /usr/bin/X11/xclock ausgeführt werden soll, fügen Sie einen Eintrag xclock in die Datei /etc/dt/config/C/sys.session ein:
# # xclock starten... # dtsmcmd -cmd "/usr/bin/X11/xclock -digital"
Benutzer haben die Möglichkeit, die Konfiguration einer Sitzung an einen bestimmten Bildschirm anzupassen.
Kopieren Sie das Verzeichnis HomeVerzeichnis/.dt/sessions in HomeVerzeichnis/.dt/anzeige, wobei es sich bei anzeige um den realen, nicht qualifizierten Hostnamen handelt (z.B. ist pablo:0 gültig, pablo.gato.com:0 oder unix:0 dagegen nicht).
Als Beispiel soll eine bildschirmspezifische Sitzung für pablo.gato.com:0 erstellt werden:
cp -r HomeVerzeichnis/.dt/sessions HomeVerzeichnis/.dt/pablo:0
Beim nächsten Anmelden beim Bildschirm pablo.gato.com:0, startet der Session Manager diese bildschirmspezifische Sitzung.
Als Benutzer können Sie veranlassen, daß bei der Anmeldung zusätzliche Befehle ausgeführt werden. Besonders hilfreich ist dies für X--Einstellungen, die nicht vom Session Manager gespeichert werden. Beispielsweise läßt sich mit xsetroot der Zeiger auf Root (Arbeitsbereich) anpassen. Eine weitere Möglichkeit ist der Start von Anwendungen, die vom Session Manager nicht gespeichert und wiederhergestellt werden können.
Grundsätzlich ist diese Datei ein Skript, für das das Ausführungsrecht vorliegen muß. Alle in sessionetc gestarteten Prozesse sollten im Hintergrund ablaufen.
Starten Sie mit sessionetc keine Clients, die vom Session Manager automatisch wiederhergestellt werden, damit nicht mehrere Instanzen der Anwendung laufen. Unter Umständen erkennen Sie dies nicht sofort, wenn die Fenster übereinander liegen.
Das Gegenstück zur Datei sessionetc ist sessionexit. Mit sessionexit können beim Beenden der Sitzung bestimmte Operationen ausgeführt werden, die der Session Manager nicht automatisch übernimmt.
Legen Sie eine Datei HomeVerzeichnis/.dt/sessions/sessionexit an, welche die Befehle enthält.
Ebenso wie sessionetc handelt es sich auch bei dieser Datei um ein Skript mit Ausführungsberechtigung.
Jedesmal, wenn der Session Manager eine Sitzung speichert, werden die relevanten Informationen im Verzeichnis HomeVerzeichnis/.dt/sessions oder bei bildschirmspezifischen Sitzungen im Verzeichnis HomeVerzeichnis/.dt/ abgelegt. In diesem Verzeichnis erzeugt der Session Manager die Unterverzeichnisse current oder home, in denen jeweils die Konfiguration der aktuellen bzw. der Home-Sitzung gespeichert wird. Vorher wird jedoch ein Backup der vorherigen Sitzung gleichen Namens angelegt und unter current.old oder home.old gespeichert.
Wählen Sie im Anmeldebildschirm 'Failsafe-Sitzung' oder 'Befehlszeilenanmeldung'.
Kopieren Sie das Backup-Sitzungsverzeichnis in das Verzeichnis der aktiven Sitzung. Sie können beispielsweise das Backup einer Home-Sitzung folgendermaßen wiederherstellen:
cp -r HomeVerzeichnis/.dt/sessions/home.old \ HomeVerzeichnis/.dt/sessions/home
Bei bildschirmspezifischen Sitzungen gehen Sie genauso vor.
In dieser Datei protokolliert der Session Manager den Ablauf eines Sitzungsstarts für jeden Benutzer.