CDE Handbuch für fortgeschrittene Benutzer und Systemverwalter

Zusätzliche Anpassungen beim Start einer Sitzung

Dieser Abschnitt umfaßt folgende Themen:

Umgebungsvariablen setzen

    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.

    Die Einstellung persönlicher Umgebungsvariablen erfolgt in HomeVerzeichnis/.dtprofile.

Beispiel:

	export MYVARIABLE="wert"

Die Variable MYVARIABLE wird bei der nächsten Anmeldung in den jeweiligen Benutzerumgebungen gesetzt.


Hinweis -

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".


Ressourcen festlegen

    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.)


Hinweis -

.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 festlegen

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.

Anwendungen für die Startsitzung ändern

Sie können festlegen, welche Anwendungen als Teil der Startsitzung eines Benutzers aufgerufen werden.

  1. Kopieren Sie die Datei /usr/dt/config/sprache/sys.session in /etc/dt/config/sprache/sys.session.

  2. 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"

Bildschirmspezifische Sitzungen einrichten

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.

Zusätzliche Befehle beim Start der Sitzung und bei der Abmeldung ausführen

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.

So führen Sie beim Start der Sitzung zusätzliche Befehle aus

    Legen Sie eine Datei HomeVerzeichnis/.dt/sessions/sessionetc an, welche die Befehle enthält.

Grundsätzlich ist diese Datei ein Skript, für das das Ausführungsrecht vorliegen muß. Alle in sessionetc gestarteten Prozesse sollten im Hintergrund ablaufen.


Hinweis -

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.


So führen Sie beim Abmelden zusätzliche Befehle aus

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.

Gespeicherte Sitzungen wiederherstellen

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.

  1. Wählen Sie im Anmeldebildschirm 'Failsafe-Sitzung' oder 'Befehlszeilenanmeldung'.

  2. 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.

Probleme beim Start einer Sitzung

    Untersuchen Sie den Inhalt der Datei HomeVerzeichnis/.dt/startlog.

In dieser Datei protokolliert der Session Manager den Ablauf eines Sitzungsstarts für jeden Benutzer.