# Sessionmanager konfigurieren

Über den Sessionmanager werden das Desktop gestartet und aktive Anwendungen, Farben, Schriftarten, Mausverhalten, Lautstärke und Tastaturklicken automatisch gesichert und wiederhergestellt.

Über den Sessionmanager kann der Benutzer

- die Startsession für alle Desktop-Benutzer anpassen.

- die Umgebung und Ressourcen für alle Desktop-Benutzer anpassen.

- die Session-Startnachricht ändern.

- die Parameter für Session-Starthilfsprogramme und -dämonen ändern.

- die Farbverwendung am Desktop für alle Benutzer ändern.

sag.sesmg.mkr.2
sag.sesmg.mkr.3
sag.sesmg.mkr.4
sag.sesmg.mkr.8
sag.sesmg.mkr.10

## Was ist eine Session?

Bei einer Session handelt es sich um eine Datensammlung mit Anwendungen, Einstellungen und Ressourcen auf dem Desktop eines Benutzers. Unter “Sessionmanager” versteht man eine Gruppe von Übereinkünften und Protokollen auf dem Desktop eines Benutzers, mit deren Hilfe die Session eines Benutzers gesichert und wiederhergestellt werden kann. Ein Benutzer kann sich am System anmelden und findet dieselben aktiven Anwendungen, Einstellungen und Ressourcen vor wie bei der letzten Abmeldung. Meldet sich ein Benutzer zum ersten Mal am Desktop an, wird eine
Standard-Startsession geladen. Danach unterscheidet die Sessionssteuerung zwischen
aktueller und
Standardsitzung.

### Startsession

Meldet sich ein Benutzer zum ersten Mal am Desktop an, generiert die Sessionssteuerung die Startsession des Benutzers unter Verwendung von Systemstandardwerten. Standardmäßig werden der Dateimanager und 'Einführung in das Desktop', ein Hilfeband, gestartet.

### Aktuelle Session

Unter der aktuellen Session versteht man die jeweils aktive Session des Benutzers, unabhängig davon, ob es sich um eine bei der Anmeldung wiederhergestellte gesicherte Standardsitzung, eine gesicherte aktuelle Session oder die Standard-Startsession des Systems handelt. Auf der Grundlage der Einstellungen für den Start des Umgebungsmanagers des Benutzers sichert die Sessionssteuerung die aktuelle Session automatisch, wenn der Benutzer die Session verläßt. Bei der nächsten Anmeldung am Desktop startet die Sessionssteuerung die zuvor gesicherte aktuelle Session neu, d. h. das Desktop wird in demselben Status wiederhergestellt wie bei der letzten Abmeldung des Benutzers.

### Standardsitzung

Das Desktop kann aber auch bei jeder Anmeldung in demselben Status wiederhergestellt werden, unabhängig davon, in welchem Status es sich befand, als der Benutzer sich zuletzt abmeldete. Der Benutzer kann den Status der aktuellen Session speichern, und dann über die Einstellungen für den Start der Umgebungsparameter diese Session über den Sessionmanager bei jeder Anmeldung starten lassen.

### Bildschirmspezifische Sessions

Um eine spezifische Session für einen spezifischen Bildschirm auszuführen, kann der Benutzer eine bildschirmspezifische Session erstellen. Hierzu kann der Benutzer das Verzeichnis Standardverzeichnis`/.dt/sessions` in Standardverzeichnis`/.dt/`anzeige kopieren, wobei es sich bei anzeige um den realen, nicht qualifizierten Host-Namen handelt (zum Beispiel ist `pablo:0` gültig, `pablo.gato.com:0` oder `unix:0` sind nicht gültig). Meldet sich der Benutzer am Bildschirm `pablo:0` an, startet die Sessionssteuerung diese bildschirmspezifische Session.

## Session starten

die Sessionssteuerung wird über `/usr/dt/bin/
Xsession` gestartet. Meldet sich der Benutzer über den Anmeldemanager an, wird `Xsession` standardmäßig gestartet.

Der Benutzer kann auch die herkömmliche Anmeldung im Zeichenmodus
(`getty`) verwenden und den Sessionmanager manuell mit Hilfsprogrammen, die einen X-Server starten, wie z.B. `xinit`, starten. Beispiel: `xinit /usr/dt/bin/Xsession`.

## Start einer Session

Beim Start des Sessionmanagers werden folgende Schritte durchgeführt, um die Session eines Benutzers zu starten:

1. Die Prozedur Standardverzeichnis`/.dtprofile` wird als Ausgangsobjekt verwendet.

2. Die Prozeduren `Xsession.d` werden als Ausgangsobjekte verwendet.

3. Eine
   Begrüßungsnachricht wird angezeigt.

4. Desktop-Suchpfade werden eingerichtet.

5. Verfügbare Anwendungen werden erfaßt.

6. Standardverzeichnis`/.profile`
   oder Standardverzeichnis`/.login`
   werden möglicherweise zusätzlich als Ausgangsobjekte verwendet.

7. Der Nachrichtendämon
   ToolTalk ® wird gestartet.

8. Die Session-Ressourcen
   werden geladen.

9. Der
   Farb-Server wird gestartet.

10. Der
    Arbeitsbereichssteuerung wird gestartet.

11. Die Session-Anwendungen werden gestartet.

    Die oben aufgeführten Schritte werden in den folgenden Abschnitten näher beschrieben.

### Prozedur
.dtprofile als Ausgangsobjekt verwenden

Beim Start einer Session verwendet die Prozedur `
Xsession` die Prozedur des Benutzers Standardverzeichnis`/.dtprofile`
als Ausgangsobjekt. Bei der Prozedur Standardverzeichnis`/.dtprofile` handelt es sich um ein Skript aus `/bin/sh` oder `/bin/ksh`, das Benutzern ermöglicht,
Umgebungsvariablen für ihre Sessions einzurichten. Weitere Informationen zum Einrichten von Umgebungsvariablen können SAG.SesMg.mkr.8 entnommen werden.

Ist die Prozedur Standardverzeichnis`/.dtprofile` nicht vorhanden, wie das beispielsweise der Fall ist, wenn sich der Benutzer zum ersten Mal am Desktop anmeldet, kopiert `Xsession` die Standardprozedur für das Desktop `sys.dtprofile` in
Standardverzeichnis`/.dtprofile`.

Die Standardprozedur für das Desktop ist `/usr/dt/config/sys.dtprofile`.
Um die Prozedur
`sys.dtprofile` anzupassen, `sys.dtprofile` aus `/usr/dt/config` in `/etc/dt/config` kopieren und die neue Datei bearbeiten.

### Prozeduren
Xsession.d als Ausgangsobjekte verwenden

Nach der Prozedur Standardverzeichnis`/.dtprofile` verwendet die Prozedur `Xsession` die Prozeduren `Xsession.d` als Ausgangsobjekte. Diese Prozeduren werden zum Festlegen zusätzlicher Umgebungsvariablen verwendet und starten wahlfreie Dämonen für die Session eines Benutzers. Die Standardprozeduren `Xsession.d` sind:

`0010.dtpaths` | dokumentiert anpaßbare Desktop-Suchpfade.
`0020.dtims` | startet einen optionalen Eingabemethoden-Server.
`0030.dttmpdir` | erstellt ein temporäres Verzeichnis pro Benutzer pro Session.
`0040.xmbind` | definiert für `$XMBINDDIR` den Standardwert für das Desktop.

Daneben können zusätzliche lieferantenspezifische Prozeduren in `Xsession.d` vorhanden sein.

`Xsession` verwendet zunächst alle Dateien im Verzeichnis `/usr/dt/config/Xsession.d` und anschließend die Dateien im Verzeichnis `/etc/dt/config/Xsession.d` als Ausgangsobjekte.

Die Standardprozeduren für das Desktop `Xsession.d`
befinden sich im Verzeichnis `/usr/dt/config/Xsession.d`. Um ein Skript aus `Xsession.d` anzupassen, das aus `/usr/dt/config/Xsession.d` bestehende Skript in `/etc/dt/config/Xsession.d` kopieren und die neue Datei bearbeiten. Für diese Aufgabe muß Ausführungsberechtigung vorliegen.

Damit `Xsession` eine vom Benutzer erstellte Prozedur automatisch als Ausgangsobjekt verwendet, muß diese in `/etc/dt/config/Xsession.d` kopiert werden.

Ändert oder erstellt der Benutzer ein Skript für `Xsession.d`, sollte er sicherstellen, daß Vordergrundbefehle, die er absetzt, nicht zu lange dauern, da die Dauer dieser Befehle sich direkt auf die Startzeit der Session auswirkt. Ist kein Vordergrundbefehl vorhanden, wird der Start der Session blockiert. Befehle, die in einer Prozedur `Xsession.d` ausgeführt werden, und die während der gesamten Dauer der Session ausgeführt werden sollen, sollten im Hintergrund ausgeführt werden.

###
Begrüßungsnachricht anzeigen

Nachdem Standardverzeichnis`/.dtprofile` und die Prozeduren `Xsession.d` als Ausgangsobjekte verwendet wurden, zeigt `Xsession` eine Begrüßungsnachricht über den gesamten Bildschirm an. Diese Begrüßungsnachricht kann angepaßt oder vollständig abgeschaltet werden. Client `dthello` zeigt die Nachricht an.

Um den Nachrichtentext zu ändern, die Optionen fü r`dthello` durch Änderung der Variablen `dtstart_hello[0]` ändern.

Um `dtstart_hello[0]` zu ändern, muß ein Skript `/etc/dt/config/Xsession.d` erstellt werden, welches den neuen Wert festlegt. Um die Nachricht des Tages für alle Benutzer anzuzeigen, muß eine ausführbare Prozedur `sh` oder`ksh` erstellt werden, z. B. `/etc/dt/config/Xsession.d/`myvars`,` und `dtstart_hello[0]` wie folgt festgelegt werden:

    dtstart_hello[0]="/usr/dt/bin/dthello -file /etc/motd &"

Auf dieselbe Weise können Benutzer die Begrüßungsnachricht für ihre eigenen Sessions ändern, indem sie `dtstart_hello[0]` in Standardverzeichnis`/.dtprofile` festlegen.

Um die Begrüßungsnachricht abzuschalten, muß `dtstart_hello[0]=''` festgelegt werden.

Weitere Informationen zu `dthello` können der Hilfeseite `dthello` entnommen werden.

###
Desktop-Suchpfade einrichten

Die Desktop-Suchpfade werden bei der Anmeldung durch `
dtsearchpath` eingerichtet. `dtsearchpath` verwendet zwei Kategorien von Umgebungsvariablen:

Eingabevariablen | Systemumgebungsvariablen und Umgebungsvariablen für einzelne Benutzer, deren Werte vom Systemadministrator oder vom Endbenutzer gesetzt werden.
Ausgabevariablen | Variablen, die von `dtsearchpath` erstellt werden, und denen von `dtsearchpath` Werte zugeordnet werden. Der Wert jeder Variablen ist der Suchpfad für die Desktop-Session.

Um die Befehlszeilenoptionen von `dtsearchpath` zu ändern, die Variable `dtstart_searchpath` ändern. Um die Variable `
dtstart_searchpath` für alle Benutzer zu ändern, eine ausführbare Prozedur `sh` oder `ksh` (z.B. `/etc/dt/config/Xsession.d/` myvars) erstellen und `dtstart_searchpath` wie folgt festlegen:

    dtstart_searchpath="/usr/dt/bin/dtsearchpath"

Auf dieselbe Weise können Benutzer die Optionen für `dtsearchpath` für ihre eigenen Sessions ändern, indem sie `dtstart_searchpath` in Standardverzeichnis`/.dtprofile` festlegen.

Weitere Informationen zu `dtsearchpath` können SAG.Datab.mkr.1 entnommen werden. Weitere Informationen zu den Optionen für `dtsearchpath` können der Hilfeseite `dtsearchpath` entnommen werden.

### Verfügbare Anwendungen erfassen

Nachdem die Desktop-Suchpfade eingerichtet sind, werden unter Verwendung von `dtappgather` verfügbare Anwendungen erfaßt. Um die Befehlszeilenoptionen von
`dtappgather` zu ändern, muß die Variable `dtstart_appgather` geändert werden. Um die Variable `dtstart_appgather` `dtstart_appgather`
für alle Benutzer zu ändern, eine ausführbare Prozedur `sh` oder`ksh` (z.B. `/etc/dt/config/Xsession.d/` myvars) erstellen und `dtstart_appgather` wie folgt festlegen:

    dtstart_appgather="/usr/dt/bin/dtappgather &"

Auf dieselbe Weise können Benutzer die Optionen für `dtappgather` für ihre eigenen Sessions ändern, indem sie `dtstart_appgather` in Standardverzeichnis`/.dtprofile` festlegen.

Weitere Informationen zu den Optionen für `dtappgather` können der Hilfeseite `dtappgather(4)` entnommen werden.

###
Mögliche Verwendung der Prozeduren .profile oder .login als Ausgangsobjekte

`Xsession` ist in der Lage, die herkömmlichen Prozeduren Standardverzeichnis`/.profile` oder Standardverzeichnis`/.login` eines Benutzers als Ausgangsobjekte zu verwenden. Diese Möglichkeit ist standardmäßig inaktiviert. Damit `Xsession` die Prozeduren `.profile` oder `.login` als Ausgangsobjekte verwendet, muß `
DTSOURCEPROFILE` auf `true` festgelegt werden.

Um `DTSOURCEPROFILE` für alle Benutzer zu ändern, muß ein Skript `/etc/dt/config/Xsession.d` erstellt werden, welches den neuen Wert festlegt. Um `DTSOURCEPROFILE` für alle Benutzer auf `true` festzulegen, eine ausführbare Prozedur`sh` oder`ksh`, z.B. `/etc/dt/config/Xsession.d/`myvars erstellen und `DTSOURCEPROFILE` wie folgt festlegen:

    DTSOURCEPROFILE=true

Auf dieselbe Weise können Benutzer `DTSOURCEPROFILE` für ihre eigenen Sessions ändern, indem sie `DTSOURCEPROFILE` in Standardverzeichnis`/.dtprofile` auf `true` festlegen.

### Nachrichtendämon
ToolTalk starten

Der Nachrichtendämon ToolTalk, `ttsession`, ermöglicht unabhängigen Anwendungen die Kommunikation untereinander, ohne direkt miteinander verbunden zu sein. Hierzu erstellen und senden Anwendungen ToolTalk-Nachrichten. `ttsession` kommuniziert im Netz und übermittelt Nachrichten.

Um die Befehlszeilenoptionen für `
ttsession` zu ändern, muß die Variable `dtstart_ttsession` geändert werden. Um die Variable`
dtstart_ttsession` für alle Benutzer zu ändern, eine ausführbare Prozedur `sh` oder `ksh` (z.B. `/etc/dt/config/Xsession.d/`myvars) erstellen und `dtstart_ttsession` wie folgt festlegen:

    dtstart_ttsession=“/usr/dt/bin/ttsession -s"

Auf dieselbe Weise können Benutzer die Optionen für `ttsession` für ihre eigenen Sessions ändern, indem sie `dtstart_ttsession` in Standardverzeichnis`/.dtprofile` festlegen.

Weitere Informationen zu Optionen für `ttsession` können der Hilfeseite `ttsession` entnommen werden. Weitere Informationen zu `ttsession` können Getting Started Using ToolTalk Messaging entnommen werden.

###
Client des Sessionmanagers starten

An dieser Stelle startet `Xsession` `/usr/dt/bin/dtsession`, der den Session-Startprozeß fortführt.

### Session-Ressourcen starten

die Sessionssteuerung verwendet das X-Server-Merkmal `RESOURCE_MANAGER`, um Desktop-Ressourcen für alle Anwendungen zur Verfügung zu stellen. die Sessionssteuerung lädt `RESOURCE_MANAGER`, indem er:

- die Systemstandardressourcen lädt

- vom Systemverwalter systemweite Ressourcen hinzufügt

- benutzerdefinierte Ressourcen hinzufügt

Die Standardressourcen für das Desktop befinden sich in `/usr/dt/config/`sprache`/sys.resources`.
Diese Ressourcen werden durch das Merkmal `RESOURCE_MANAGER` der Session jedes Benutzers verfügbar gemacht. Diese Datei sollte nicht bearbeitet werden, da sie bei anschließenden Desktop-Installationen überschrieben wird.

Die Anzahl der Systemstandardressourcen kann erhöht werden, indem `/etc/dt/config/`sprache`/sys.resources`
erstellt wird. In dieser Datei können Standardressourcen außer Kraft gesetzt oder zusätzliche Ressourcen für alle Desktop-Benutzer erstellt werden. Da diese Datei während des Session-Starts mit den Standardressourcen für das Desktop gemischt wird, sollten nur neue oder aktualisierte Ressourcenspezifikationen in diese Datei gestellt werden. Die in dieser Datei angegebenen Ressourcen werden durch das Merkmal `RESOURCE_MANAGER` der Session jedes Benutzers verfügbar gemacht. Ressourcen, die in dieser Datei spezifiziert sind, haben Vorrang vor den Standardressourcen für das Desktop.

Benutzer können die Anzahl der Standardressourcen für das Desktop und der systemweiten Ressourcen unter Verwendung ihrer Datei Standardverzeichnis`/.Xdefaults` erhöhen. Die in dieser Datei angegebenen Ressourcen werden durch das Merkmal `RESOURCE_MANAGER` der Session dieses Benutzers verfügbar gemacht. Ressourcen, die in dieser Datei spezifiziert sind, haben Vorrang vor den Standardressourcen für das Desktop oder Ressourcendateien des Systemverwalters.

Im Dienstprogramm X Toolkit Intrinsics wird angegeben, daß Ressourcen für eine Anwendung entweder aus `
RESOURCE_MANAGER` oder aus Standardverzeichnis`/.Xdefaults` geladen werden, aber nicht aus beiden. Normalerweise würde dies bedeuten, daß die Datei Standardverzeichnis`/.Xdefault`s des Benutzers ignoriert würde. Aber da die Sessionssteuerung die Datei Standardverzeichnis/`.Xdefaults,`
wie oben beschrieben, beim Sessionstart mit `RESOURCE_MANAGER` mischt, wird diese Datei dennoch berücksichtigt. Ändert ein Benutzer Standardverzeichnis/`.Xdefaults`, werden die Änderungen bei neuen Anwendungen erst sichtbar, wenn der Benutzer die Aktion 'Ressourcen erneut laden' aufruft. Die Aktion 'Ressourcen erneut laden' weist den Sessionmanager an, `RESOURCE_MANAGER` mit den Standardressourcen, den systemweiten Ressourcen und den benutzerdefinierten Ressourcen erneut zu laden. Dies bewirkt Änderungen in den systemweiten und den benutzerdefinierten Ressourcendateien, die den Anwendungen zur Verfügung stehen.

Weitere Informationen hierzu siehe:

- SAG.FACol.mkr.2

- Hilfeseite `dtresourcesfile(4)`

### Farb-Server starten

die Sessionssteuerung dient als
Farb-Server für das Desktop und stellt folgende Ressourcen in `dtsession` für dessen Konfiguration zur Verfügung.

`foregroundColor` | Steuert, ob ein Pixel der Vordergrundfarbe zugeordnet ist.
`dynamicColor` | Gibt an, ob schreibgeschützte Farben zugeordnet sind.
`shadowPixmaps` | Gibt an, ob Farben für Schatten über oberem oder unterem Bereich zugeordnet sind.
`colorUse` | Begrenzt die Farbzuordnung.
`writeXrdbColors` | Gibt an, ob die *Hintergrund- und *Vordergrundressourcen in die Ressourcedatenbank gestellt werden.

Farb-Server-Ressourcen können für alle Benutzer festgelegt werden, indem `/etc/dt/config/`sprache`/sys.resources` erstellt wird und die Farb-Server-Ressourcen in dieser Datei definiert werden.

Auf dieselbe Weise können Benutzer Farb-Server-Ressourcen für ihre eigenen Sessions festlegen, indem sie Farb-Server-Ressourcen in Standardverzeichnis`/.Xdefaults` definieren.

Weitere Informationen zum Festlegen von Farb-Server-Ressourcen können dem Abschnitt SAG.FACol.mkr.8 entnommen werden.

###
Arbeitsbereichssteuerung starten

die Sessionssteuerung ist verantwortlich für den Start des Arbeitsbereichssteuerung. Standardmäßig wird `/usr/dt/bin/dtwm`
gestartet. Mit der Ressource `wmStartupsystemitem`
kann eine andere Fenstersteuerung angegeben werden.

Um eine andere Fenstersteuerung für alle Benutzer anzugeben, muß `/etc/dt/config/`sprache`/sys.resources` erstellt werden und der vollständige Pfadname sowie die Optionen für die Fenstersteuerung mit der Ressource `Dtsession*wmStartupsystemitem` in dieser Datei angegeben werden.

Auf dieselbe Weise können Benutzer eine andere Fenstersteuerung für ihre eigenen Sessions definieren, indem sie die Ressource `Dtsession*wmStartupsystemitem` in Standardverzeichnis`/.Xdefaults` angeben.

Weitere Informationen zur Fenstersteuerung können SAG.WMCnf.mkr.1`` entnommen werden.

### Session-Anwendungen starten

Beim Starten einer Session werden durch den Sessionmanager Anwendungen, die als Teil der Session gesichert wurden, erneut gestartet. Die Standardanwendungsgruppe des Systems, die als Teil der Startsession des Benutzers wiederhergestellt wird, befindet sich in `/usr/dt/config/`sprache`/sys.session`.
Diese Datei sollte nicht bearbeitet werden, da sie bei anschließenden Desktop-Installationen überschrieben wird.

Weitere Informationen hierzu können der Hilfeseite `dtsessionfile(4)` entnommen werden.

Ein Systemverwalter kann die Gruppe von Anwendungen, die als Teil der Startsession des Benutzers gestartet werden, ersetzen, indem er `/usr/dt/config/`sprache`/sys.session` in `/etc/dt/config/`sprache`/sys.session` kopiert und die letztgenannte Datei ändert. Im Gegensatz zu den Ressourcendateien ersetzt diese Datei die Desktop-Standarddatei vollständig, so daß eine Kopie der Systemstandarddatei erstellt werden kann und alle notwendigen Änderungen darin vorgenommen werden können.

## Zusätzliche Anpassungen beim Start der Session

Hierzu gehören:

- das Festlegen von Umgebungsvariablen

- das Festlegen von Ressourcen

- die Verwendung bildschirmabhängiger Sessions

- die Ausführung von Prozeduren bei der Anmeldung

- die Wiederherstellung einer Sicherungs-Session

###
Umgebungsvariablen festlegen

- Um systemweite Umgebungsvariablen festzulegen, müssen Sie eine Datei im Verzeichnis `/etc/dt/config/Xsession.d`
  erstellten, die die Variable festlegt und
  exportiert.

  Wird beispielsweise eine ausführbare Prozedur `sh` oder `ksh`, `/etc/dt/config/Xsession.d/`myvars,

  mit der Angabe

  `export` `MYVARIABLE=` “wert”

  erstellt, wird die Variable `MYVARIABLE` bei der nächsten Anmeldung in der Umgebung jedes Benutzers festgelegt.

- Um persönliche Umgebungsvariablen festzulegen, müssen Sie die Variable im Standardverzeichnis`/.dtprofile`
  definieren.

  Beispiel:

       export MYVARIABLE=“wert”

  wird die Variable MYVARIABLE bei der nächsten Anmeldung in der Umgebung des entsprechenden Benutzers festgelegt.

Der Sessionssteuerung liest die Dateien `.profile`
oder `.login`
nicht automatisch. Sie kann jedoch entsprechend konfiguriert werden. SieheSAG.SesMg.mkr.6 .

### Ressourcen festlegen

- Um systemweite Ressourcen festzulegen, werden diese Ressourcen der Datei `/etc/dt/config/`sprache`/sys.resources`
  hinzugefügt. (Möglicherweise muß diese Datei erstellt werden.)

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

Wird beispielsweise in `/etc/dt/config/C/sys.resources` angegeben:

    AnApplication*resource: wert

wird die Ressource `AnApplication*resource` bei der nächsten Anmeldung in dem Merkmal `
RESOURCE_MANAGER` jedes Benutzers festgelegt werden.

- Um persönliche Ressourcen festzulegen, werden diese Ressourcen der Datei Standardverzeichnis`/.Xdefaults` hinzugefügt.

### Bildschirmspezifische Ressourcen festlegen

Es können bildschirmspezifische Ressourcen für alle Desktop-Benutzer am System festgelegt werden. Benutzer können aber auch bildschirmspezifische Ressourcen für ihre eigenen Sessions festlegen. Dies ermöglicht, Ressourcen abhängig vom Bildschirm, an dem sich der Benutzer am Desktop anmeldet, festzulegen.

- Um bildschirmspezifische Ressourcen für alle Desktop-Benutzer am System festzulegen, muß die Datei `/etc/dt/config/`sprache`/sys.resources` erstellt werden, die die bildschirmspezifischen Ressourcen angibt.

- Um bildschirmspezifische Ressourcen für einzelne Benutzer festzulegen, geben Sie die Ressource im Standardverzeichnis`/.Xdefaults` an.

Diese Ressourcen werden begrenzt, indem sie in bedingte Anweisungen des Übertragungsprotokollprogramms (`cpp`)
eingeschlossen werden. Ein Makro `DISPLAY_anzeigename`
wird abhängig vom Wert der Variablen `$DISPLAY` definiert. Dies geschieht, indem die Satzzeichen . (Punkt) und: (Doppelpunkt) in _ (Unterstreichungszeichen) umgesetzt, sämtliche Anzeigespezifikationen übergangen und den Ergebnissen schließlich `DISPLAY_` vorangesetzt werden.

So würde aus einem `$DISPLAY` von `:0` ein `DISPLAY_0` und ein `$DISPLAY` von `blanco.gato.com:0.0` wäre `DISPLAY_blanco_gato_com_0`. Der resultierende Wert kann als Teil eines `cpp`-Tests in einer Session-Ressourcendatei verwendet werden. Wird beispielsweise in `/etc/dt/config/C/sys.resources` folgendes angegeben:

    Myapp*resource: value

    #ifdef DISPLAY_blanco_gato_com_0
    Myapp*resource: specialvalue1
    #endif

    #ifdef DISPLAY_pablo_gato_com_0
    Myapp*resource: specialvalue2
    #endif

wird die Ressource `MyApp*resource` in `RESOURCE_MANAGER` auf `specialvalue1` festgelegt, wenn sich der Benutzer am Bildschirm `blanco.gato.com:0` anmeldet, auf `specialvalue2`, wenn sich der Benutzer an `pablo.gato.com:0` anmeldet, und auf `value`, wenn sich der Benutzer an einem anderen Bildschirm anmeldet.

### Anwendungen für die Startsession ändern

Für die Startsession des Benutzers können andere, spezielle Anwendungen angegeben werden.

1. Hierzu `/usr/dt/config/`sprache`/sys.session` in `/etc/dt/config/`sprache`/sys.session` kopieren.

2. Die neue Datei `
   sys.session` ändern.

   Jeder Eintrag in `sys.session` hat folgendes Format:

   `dtsmcmd -cmd befehl_und_optionen`

   Um eine zusätzliche Anwendung als Teil der Startsession eines Benutzers zu starten, einen neuen Eintrag in `sys.session` mit einem vollständigen Pfadnamen angeben. Soll beispielsweise `/usr/bin/X11/xclock` als Teil der Startsession eines Benutzers gestartet werden, einen Eintrag `xclock` in `/etc/dt/config/C/sys.resources` hinzufügen:

       #
       # Start up xclock...
       #
       dtsmcmd -cmd “/usr/bin/X11/xclock -digital”

### Bildschirmspezifische Session einrichten

Ein Benutzer kann eine bildschirmspezifische Session einrichten, um eine Session optimal an einen bestimmten Bildschirm anzupassen.

- Hierzu das Verzeichnis Standardverzeichnis`/.dt/sessions`
  ins Standardverzeichnis`/.dt/`anzeige kopieren, wobei es sich bei anzeige um den realen, nicht qualifizierten Rechnernamen handelt (zum Beispiel ist `pablo:0` gültig, `pablo.gato.com:0` oder `unix:0` sind nicht gültig).

Beispiel für die Erstellung einer bildschirmspezifischen Session für Bildschirm `pablo.gato.com:0`:

    cp -r Standardverzeichnis/.dt/sessions Standardverzeichnis/.dt/pablo:0

Bei der nächsten Anmeldung des Benutzers am Bildschirm `pablo.gato.com:0` startet die Sessionssteuerung diese bildschirmspezifische Session.

### Zusätzliche Befehle beim Starten einer Session und der Abmeldung ausführen

Benutzer können festlegen, daß bei der Anmeldung von Desktop-Sessions zusätzliche Befehle gestartet werden. Dies ist nützlich bei der Einrichtung von X-Einstellungen, die über den Sessionmanager nicht gesichert werden. Beispielsweise kann der Benutzer mit `xsetroot` den Arbeitsbereichszeiger anpassen. Es können Anwendungen gestartet werden, die über den Sessionmanager nicht gesichert und wiederhergestellt werden können. Wird eine Anwendung bei der Wiederherstellung einer Session nicht erneut gestartet, kann der Benutzer über diese zusätzlichen Befehle den Client starten.

###
Zusätzliche Befehle beim Starten einer Session ausführen

- Die Datei Standardverzeichnis`/.dt/sessions/sessionetc`erstellen,
  die die gewünschten Befehle enthält.

  Im allgemeinen handelt es sich bei dieser Datei um ein Skript, für welches Ausführungsberechtigung vorliegen muß. Prozesse, die in `sessionetc` gestartet wurden, sollten im Hintergrund ausgeführt werden.

`sessionetc` sollte nicht verwendet werden, um Clients zu starten, die über den Sessionmanager automatisch wiederhergestellt werden. Es könnten auf diese Weise mehrere Kopien der Anwendung gleichzeitig gestartet werden, die der Benutzer möglicherweise nicht sofort sieht, da die Fenster übereinander gestapelt sind.

### Zusätzliche Befehle bei der Abmeldung ausführen

Eine Zusatzdatei zu `sessionetc` ist `sessionexit` .
Mit `sessionexit` werden Arbeitsgänge am Ende einer Session durchgeführt, die vom Sessionmanager nicht übernommen werden.

- Die Datei Standardverzeichnis`/.dt/sessions/sessionexit` erstellen.

  Wie bei `sessionetc`, handelt es sich auch bei dieser Datei um ein Skript, für das Ausführungsberechtigung vorliegen muß.

### Session aus einer Sicherungskopie wiederherstellen

Wird eine Session über den Sessionmanager gesichert, werden die Session-Informationen im Verzeichnis Standardverzeichnis`/.dt/sessions` oder, bei bildschirmspezifischen Sessions, im Verzeichnis Standardverzeichnis`/.dt/`anzeige gespeichert. In diesen Verzeichnissen erstellt die Sessionssteuerung ein Unterverzeichnis mit dem Namen `current` oder `home,` um Informationen für die aktuelle bzw. die Standardsitzung zu speichern. Bevor die Session-Informationen gespeichert werden, erstellt die Sessionssteuerung eine Sicherungskopie der vorherigen Session mit diesem Namen und speichert sie in `current.old` bzw. `home.old`.

1. Um eine Session aus einer Sicherungskopie wiederherzustellen, muß sich der Benutzer über die Failsafe Session oder die Befehlszeile am Anmeldefenster anmelden.

2. Anschließend muß er das Verzeichnis mit der gesicherten Session in das Verzeichnis mit dem aktiven Namen kopieren. Um beispielsweise die gesicherte Standardsitzung wiederherzustellen, folgendes eingeben:

    cp -r Standardverzeichnis/.dt/sessions/home.old Standardverzeichnis/.dt/sessions/home

Bildschirmspezifische Sessions können auf dieselbe Weise wiederhergestellt werden.

### Probleme beim Starten einer Session ermitteln

- Die Datei Standardverzeichnis`/.dt/startlog` überprüfen.

  Die Datei `startlog` enthält die Ausgabe ( `stderr`) aus Anwendungen, die von der Session-Steuerung (auf dem Rechner der Session-Steuerung) gestartet wurden.

## Dateien und Verzeichnisse des Sessionmanagers

- `/usr/dt/bin/Xsession`

- `/usr/dt/config/Xsession.d/*`

- `/usr/dt/bin/dtsession`

- `/usr/dt/bin/dtsession_res`

- Standardverzeichnis`/.dt/sessions/current`

- Standardverzeichnis`/.dt/sessions/home`

- Standardverzeichnis`/.dt/`anzeige`/current`

- `Standardverzeichnis/.dt/anzeige/home`