Solaris CDE: Benutzerhandbuch für Fortgeschrittene und Systemverwalter

Zusätzliche Anpassungen beim Start einer Sitzung

Dieser Abschnitt umfaßt die folgenden Themen:

Umgebungsvariablen einstellen

    Legen Sie zur Einstellung von systemweiten (globalen) Umgebungsvariablen 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.

Ein 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 einstellen

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


Hinweis -

.dtprofile unterstützt nur die Syntax /bin/sh oder /bin/ksh.


Wenn Sie beispielsweise in der Datei /etc/dt/config/C/sys.resources die Eingabe

	AnApplication*resource: Wert

vornehmen, 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 einstellen

Bildschirmspezifische Ressourcen können entweder für alle Desktop-Benutzer eines Systems oder für einzelne Sitzungen eingestellt werden. Zudem kann der Benutzer anzeigeabhängige, auf die jeweilige Sitzung beschränkte Ressourcen festlegen. 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.

    Zum Angeben einer beliebigen Ressource schlieáen Sie diese in den bedingten cpp-Anweisungen ein. Ein DISPLAY_ Bildschirmname-Makro wird abhängig vom Wert der Variablen $DISPLAY definiert. Dies geschieht, indem alle Punkte (.) und Doppelpunkte (:) durch einen Unterstrich (_) ersetzt und alle Bildschirmspezifikationen entfernt werden. Anschließend erhält das Ergebnis das Präfix DISPLAY_ als Ergebnis hinzugefügt.

    Beispielsweise liefert $DISPLAY von :0 das Ergebnis DISPLAY_0, und $DISPLAY von 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. Im folgenden ein Beispiel für den Eintrag in die Datei /etc/dt/config/C/sys.resources:

    Myapp*resource: Wert
    #ifdef DISPLAY_blanco_gato_com_0
     Myapp*resource: Spezialwert1
     #endif
    #ifdef DISPLAY_pablo_gato_com_0
     Myapp*resource: Spezialwert2
     #endif

    Damit wird die Ressource MyApp*resource in RESOURCE_MANAGER auf Spezialwert1 gesetzt, bei der Anmeldung des Benutzers im Bildschirm blanco.gato.com:0 ; Spezialwert2 bei der Anmeldung über Bildschirm pablo.gato.com:0 , und Wert bei der Anmeldung des Benutzers über einen anderen Bildschirm.

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 auf /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
    

    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 als Teil einer Benutzeranmeldesitzung 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"

Bildschirmspezifische Sitzungen einrichten

Benutzer haben die Möglichkeit, die Konfiguration einer Sitzung an einen bestimmten Bildschrim anzupassen.

    Kopieren Sie das Verzeichnis HomeVerzeichnis/.dt/sessions nach 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).

Folgendes Beispiel dient der Erstellung einer bildschirmspezifischen Sitzung für pablo.gato.com:0:

cp -r HomeVerzeichnis/.dt/sessionsHomeVerzeichnis/.dt/pablo:0

Wenn sich der Benutzer das nächste Mal beim Bildschirm pablo.gato.com:0anmeldet, 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 Verwendungsmöglichkeit ist der Start von Anwendungen, die vom Session Manager nicht gespeichert und wiederhergestellt werden können. Wenn eine Anwendung nicht erneut gestartet werden kann, nachdem die Sitzung wiederhergestellt wurde, kann der Benutzer den Client mit dieser Methode starten.

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

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

Generell 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 die Datei HomeVerzeichnis/.dt/sessions/sessionexit an, welche die Befehle enthält.

Ebenso wie sessionetc ist auch diese Datei ein Skript mit Ausführungsberechtigung.

Gespeicherte Sitzungen wiederherstellen

Wenn der Session Manager eine Sitzung speichert, werden die relevanten Informationen im Verzeichnis HomeDirectory/.dt/sessions oder, bei bildschirmspezifischen Sitzungen, im Anzeigeverzeichnis HomeVerzeichnis/.dt/gespeichert. In diesem 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.

  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

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

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