Solaris Common Desktop Environment: Benutzerhandbuch für Fortgeschrittene und Systemverwalter

Zusätzliche Anpassungen beim Start einer Sitzung

Dieser Abschnitt umfaßt die folgenden Themen:

Umgebungsvariablen einstellen

    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.

    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 Failed Cross Reference Format.


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

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.

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

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 ist auch diese Datei 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 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.

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

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

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.