Dieser Abschnitt umfaßt die folgenden Themen:
Umgebungsvariablen einstellen
Ressourcen einstellen
Bildschirmspezifische Sitzungen
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 folgendem Inhalt erzeugen:
export MYVARIABLE="wert"
dann wird die Variable MYVARIABLE
bei der nächsten Anmeldung in den jeweiligen Benutzerumgebungen gesetzt.
Ein 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 Failed Cross Reference Format.
Zur Einstellung 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 eingestellt werden. Somit können die verwendeten Ressourcen vom Bildschirm abhängig gemacht werden, über den sich der Benutzer beim Desktop anmeldet.
Zur Einstellung bildschirmspezifischer Ressourcen für alle Desktop-Benutzer des Systems erstellen Sie eine Datei /etc/dt/config/sprache/sys.resources, welche die Festlegungen enthält.
Persönliche bildschirmspezifische Ressourcen werden in der Datei HomeVerzeichnis/.Xdefaults angegeben.
Ressourcen lassen sich situationsbezogen zuordnen, indem man Sie in
bedingte cpp--Anweisungen einschließt. Ein
Makro DISPLAY_
Bildschirmname wird
abhängig vom Wert der Variablen $DISPLAY
definiert. Dazu werden alle Zeichen . (Punkt) und : (Doppelpunkt)
durch das Zeichen _ (Unterstrich) ersetzt und alle Bildschirmspezifikationen
entfernt. Anschließend erhält das Ergebnis das Präfix DISPLAY_
.
Beispielsweise liefert $DISPLAY
mit dem Wert :0 das Ergebnis DISPLAY_0
, und $DISPLAY
mit dem Wert blanco.gato.com:0.0 ergibt DISPLAY_blanco_gato_com_0 . Das Ergebnis kann in einer Sitzungsressourcendatei als Teil einer
Fallunterscheidung mit cpp eingesetzt werden. Betrachten
Sie als Beispiel folgendes Konstrukt in /etc/dt/config/C/sys.resources
:
Myapp*resource: wert
#ifdef DISPLAY_blanco_gato_com_0 Myapp*resource: sepzialwert1 #endif
#ifdef DISPLAY_pablo_gato_com_0 Myapp*resource: spezialwert2 #endif
Damit wird die Ressource MyApp*resource in RESOURCE_MANAGER
auf spezialwert1
gesetzt, wenn sich der Benutzer bei Bildschirm blanco.gato.com:0
anmeldet, und entsprechend auf spezialwert2,
wenn die Anmeldung über Bildschirm pablo.gato.com:0
erfolgt. Die Anmeldung von einem anderen Bildschirm aus ergibt die Einstellung wert.
Sie können festlegen, welche Anwendungen als Teil der Startsitzung eines Benutzers aufgerufen werden.
Kopieren Sie die Datei /usr/dt/config/sprache/sys.session auf /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
Wenn eine weitere Anwendung als Teil der Startsitzung geladen werden soll, 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:
# # Start up xclock... # dtsmcmd -cmd "/usr/bin/X11/xclock -digital"
Benutzer haben die Möglichkeit, die Konfiguration einer Sitzung an einen bestimmten Bildschrim anzupassen.
Kopieren Sie das Verzeichnis HomeVerzeichnis/.dt/sessions in HomeVerzeichnis/.dt/anzeige, wobei anzeige der reale, nicht qualifizierte Hostname ist (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 definiert werden:
cp -r HomeVerzeichnis/.dt/sessions Homeverzeichnis/.dt/pablo:0
Wenn sich der Benutzer das nächste Mal beim Bildschirm pablo.gato.com:0 anmeldet, 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 ist auch diese Datei 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 diesen Verzeichnis erzeugt der Session Manager ein Unterverzeichnis current oder home, wo jeweils die Konfiguration der aktuellen bzw. der Home-Sitzung gespeichert wird. Vorher wird allerdings 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. Das Backup einer Home-Sitzung stellen Sie beispielsweise folgendermaßen wieder her:
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.