# Configurazione della Gestione delle sessioni

La Gestione delle sessioni ha la funzione di avviare il desktop e di salvare e ripristinare automaticamente le impostazioni correnti per le applicazioni, i colori, i font, il comportamento del mouse, il volume audio e il clic dei tasti.

La Gestione delle sessioni permette di:

- Personalizzare la sessione iniziale per tutti gli utenti del desktop

- Personalizzare l'ambiente e le risorse per tutti gli utenti del desktop

- Cambiare il messaggio di avvio della sessione

- Cambiare i parametri per gli strumenti e i daemon di avvio delle sessioni

- Personalizzare l'uso dei colori per tutti gli utenti del desktop

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

  Personalizzare l'uso dei colori per tutti gli utenti del desktop

## Cos'è una sessione?

Si definisce sessione l'insieme di applicazioni, impostazioni e risorse utilizzate nel desktop dell'utente. La Gestione delle sessioni è un insieme di convenzioni e protocolli che permette di salvare e ripristinare la sessione di un utente. In questo modo ogni utente può, con il normale login, accedere automaticamente allo stesso insieme di applicazioni, impostazioni e risorse che erano attive al momento del logout precedente. Al primo login nel desktop, il sistema carica una sessione iniziale
predefinita. Successivamente, la Gestione delle sessioni consente di utilizzare una sessione
corrente e una sessione iniziale
per ogni utente.

### La prima sessione

Quando un utente effettua il primo login nel desktop, la Gestione delle sessioni genera una sessione iniziale per quell'utente usando i valori predefiniti del sistema. Nell'impostazione predefinita, vengono avviate la Gestione di file e il volume di aiuto Introduzione al desktop.

### Session
e corrente

La sessione corrente è sempre la sessione del desktop in esecuzione nel momento considerato, si tratti di una sessione ripristinata al login da una sessione iniziale dell'utente, di una sessione corrente salvata o della sessione iniziale predefinita del sistema. Usando le impostazioni della sezione Avvio della Gestione degli stili, è possibile impostare il salvataggio automatico della sessione corrente al logout. Ad ogni login, la Gestione delle sessioni riavvierà la sessione corrente salvata all'ultimo logout.

### Sessione iniziale

È anche possibile avviare il desktop con le stesse impostazioni ad ogni login, indipendentemente dallo stato esistente all'ultimo logout. L'utente può salvare lo stato della sessione corrente e quindi, usando le opzioni di Avvio della Gestione degli stili, impostare l'avvio di quella sessione ad ogni login successivo.

### Sessioni associate ai video

Per creare una sessione specifica per un determinato video, copiare la directory DirectoryIniziale`/.dt/sessions` in DirectoryIniziale`/.dt/`video, dove video è il nome reale e non qualificato dell'host (ad esempio, `rosa:0` sarà un nome valido, mentre `rosa.arcobaleno.com:0` o `unix:0` non saranno ammessi). Quando l'utente effettuerà il login sul video `rosa:0`, la Gestione delle sessioni avvierà la sessione creata per quel video.

## Avvio di una sessione

La Gestione delle sessioni viene avviata automaticamente da `usr/dt/bin/
Xsession` quando si utilizza la Gestione del login.

In alternativa, è possibile effettuare il login nel modo tradizionale a caratteri
(`getty`) e avviare la Gestione delle sessioni manualmente usando uno strumento che permetta di avviare un server X, come `xinit`. Ad esempio, si potrà usare il comando: `xinit /usr/dt/bin/Xsession`.

## Cosa accade all'avvio di una sessione

Per avviare una sessione utente, la Gestione delle sessioni esegue le seguenti operazioni:

1. Legge lo script DirectoryIniziale`/
   .dtprofile`

2. Legge gli script `
   Xsession.d`

3. Visualizza un
   messa
   ggio di benvenuto

4. Configura i percorsi di ricerca del
   desktop

5. Raccoglie informazioni sulle applicazioni disponibili

6. Opzionalmente, legge i file DirectoryIniziale`/.profile`
   o DirectoryIniziale`/.login`

7. Avvia il daemon di messaging
   ToolTalk ®

8. Carica
   le ri
   sorse per la sessione

9. Avvia il
   server dei colori

10. Avvia la
    Gestione dello spazio di lavoro

11. Avvia le applicazioni della sessione

Queste operazioni saranno descritte in modo dettagliato nelle sezioni seguenti.

### Lettura dello script
.dtprofile

All'avvio di una sessione, lo script `
Xsession` legge lo script DirectoryIniziale`/.dtprofile`
dell'utente. Si tratta di uno script della shell `/bin/sh` o `/bin/ksh` che permette ad ogni utente di configurare le variabili d'ambiente per le proprie sessioni. Per maggiori informazioni sulla configurazione delle variabili d'ambiente, vedere sag.sesmg.mkr.8.

Se lo script DirectoryIniziale`/.dtprofile` non esiste, ad esempio perché l'utente sta effettuando il suo primo login nel desktop, `Xsession` copia lo script predefinito del sistema, `sys.dtprofile`, in
DirectoryIniziale`/
.dtprofile`.

Lo script predefinito del desktop è `/usr/dt/config/
sys.dtprofile`. Per personalizzare
`sys.dtprofile`, copiare il file da `/usr/dt/config` in `/etc/dt/config` ed editare la nuova copia.

### Lettura degli script
Xsession.d

Dopo la lettura dello script DirectoryIniziale`/.dtprofile`, `Xsession` legge gli script `Xsession.d`. Questi script vengono usati per configurare altre variabili d'ambiente ed avviare daemon opzionali per la sessione dell'utente. Gli script `Xsession.d` predefiniti sono:

`0010.dtpaths` | Documenta i percorsi di ricerca personalizzabili
`0020.dtims` | Avvia il server per il metodo di input opzionale
`0030.dttmpdir` | Crea una directory temporanea per ogni utente e per ogni sessione
`0040.xmbind` | Configura `$XMBINDDIR` usando i valori predefiniti del desktop

È possibile che `Xsession.d` contenga altri script specifici del produttore.

`Xsession` legge inizialmente tutti i file della directory `/usr/dt/config/Xsession.d`, e quindi quelli della directory `/etc/dt/config/Xsession.d`.

Gli script `
Xsession.d` predefiniti del desktop si trovano nella directory `/usr/dt/config/Xsession.d`. Per personalizzare uno script `Xsession.d`, copiare lo script da `/usr/dt/config/Xsession.d` in `/etc/dt/config/Xsession.d` ed editare la nuova copia. Per effettuare questa operazione è necessaria l'autorizzazione di esecuzione per il file.

Inoltre, per fare in modo che `Xsession` legga automaticamente uno script creato dall'utente, copiare lo script in `/etc/dt/config/Xsession.d`.

Nel creare o modificare uno script `Xsession.d`, accertarsi che i comandi eseguiti in foreground siano di breve durata, poiché il tempo richiesto per l'esecuzione dei comandi influirà direttamente sul tempo di avvio della sessione. Se un comando in foreground non viene terminato, il processo di avvio della sessione rimane sospeso. Se si desidera che uno script `Xsession.d` avvii alcuni processi da mantenere in esecuzione per l'intera durata della sessione, accertarsi che tali processi vengano eseguiti in background.

###
Visualizzazione del messaggio di benvenuto

Dopo la lettura degli script DirectoryIniziale`/.dtprofile` e `Xsession.d`, `Xsession` visualizza un messaggio di benvenuto. Questo messaggio può essere personalizzato oppure eliminato totalmente. La visualizzazione del messaggio è affidata al client `dthello`.

Per cambiare il testo del messaggio, modificare le opzioni di `dthello` editando la variabile dtstart_hello[0].

Per modificare `dtstart_hello[0]`, creare uno script in `/etc/dt/config/Xsession.d` che imposti il nuovo valore desiderato. Per visualizzare il messaggio del giorno a tutti gli utenti, creare uno script `sh` o `ksh` eseguibile, ad esempio `/etc/dt/config/Xsession.d/`var_pers`,` e impostare `dtstart_hello[0]` come segue:

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

Allo stesso modo, ogni utente potrà cambiare il messaggio di benvenuto per le proprie sessioni modificando `dtstart_hello[0]` nel proprio file DirectoryIniziale`/.dtprofile`.

Per disabilitare completamente il messaggio di benvenuto, impostare

`dtstart_hello[0]=“ ”.`

Per maggiori informazioni su `dthello`, vedere la pagina di spiegazioni relativa a `dthello`.

###
Impostazione dei percorsi di ricerca del desktop

I percorsi di ricerca del desktop vengono creati al momento del login da `
dtsearchpath`. `dtsearchpath` utilizza due categorie di variabili d'ambiente:

Variabili di input | Variabili d'ambiente personali e di sistema definite dall'amministratore di sistema e dall'utente finale.
Variabili di output | Variabili create e definite da `dtsearchpath`. Il valore di ogni variabile è il percorso di ricerca per la sessione del desktop.

Per modificare le opzioni del comando `dtsearchpath`, modificare la variabile `dtstart_searchpath`. Per cambiare il valore di `dtstart_searchpath` per tutti gli utenti, creare uno script `sh` o `ksh` eseguibile (ad esempio `/etc/dt/config/Xsession.d/`var_pers) e impostare `dtstart_searchpath` come segue:

    dtstart_searchpath=“/usr/dt/bin/dtsearchpath”

Ogni utente potrà cambiare le opzioni di `dtsearchpath` per le proprie sessioni modificando la variabile `dtstart_searchpath` nel proprio file DirectoryIniziale`/.dtprofile`.

Per maggiori informazioni su `dtsearchpath`, vedere il sag.datab.mkr.1. Per maggiori informazioni sulle opzioni di `dtsearchpath`, vedere la pagina di spiegazioni relativa a `dtsearchpath`.

### Abilitazione delle applicazioni disponibili

Una volta configurati i percorsi di ricerca del desktop, il passo successivo consiste nell'identificare e abilitare le applicazioni disponibili usando `dtappgather`. Per cambiare le opzioni del comando
`dtappgather`, modificare la variabile `dtstart_appgather`. Per modificare `
dtstart_appgather` per tutti gli utenti, creare uno script `sh` o `ksh` eseguibile (ad esempio `/etc/dt/config/Xsession.d/`var_pers) e impostare `dtstart_appgather` come segue:

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

Ogni utente potrà cambiare le opzioni di `dtappgather` per le proprie sessioni modificando la variabile `dtstart_appgather` `dtstart_appgather` nel proprio file DirectoryIniziale`/.dtprofile`.

Per maggiori informazioni sulle opzioni di `dtappgather`, vedere la pagina di spiegazioni relativa a `dtappgather` `(4)`.

###
Lettura opzionale dello script .profile o .login

È possibile impostare `Xsession` in modo da fargli consultare lo script DirectoryIniziale`/.profile` o DirectoryIniziale`/.login` tradizionale di un utente. Nell'impostazione predefinita questa funzione è disabilitata. Per impostare la lettura dello script `.profile` o `.login`, impostare la risorsa `
DTSOURCEPROFILE` su `true`.

Per modificare `DTSOURCEPROFILE` per tutti gli utenti, creare uno script `/etc/dt/config/Xsession.d` che imposti il nuovo valore desiderato. Per impostare `DTSOURCEPROFILE` su `true` per tutti gli utenti, creare uno script `sh` o `ksh` eseguibile, ad esempio `/etc/dt/config/Xsession.d/`var_pers, e impostare `DTSOURCEPROFILE` come segue:

    DTSOURCEPROFILE=true

Ogni utente potrà cambiare `DTSOURCEPROFILE` per le proprie sessioni impostando la risorsa su `true` nel proprio file DirectoryIniziale`/.dtprofile`.

### Avvio del daemon di messaging
ToolTalk

Il daemon di messaging ToolTalk, `ttsession`, permette alle singole applicazioni di comunicare l'una con l'altra senza conoscersi direttamente. Le applicazioni creano e inviano messaggi ToolTalk per comunicare tra loro, mentre `ttsession` comunica con la rete per assicurare l'arrivo dei messaggi.

Per modificare le opzioni del comando `
ttsession` occorre modificare la variabile `dtstart_ttsession`. Per cambiare `
dtstart_ttsession` per tutti gli utenti, creare uno script `sh` o `ksh` eseguibile (ad esempio `/etc/dt/config/Xsession.d/`var_pers) e impostare `dtstart_ttsession` come segue:

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

Ogni utente potrà cambiare le opzioni di `ttsession` per le proprie sessioni modificando la variabile `dtstart_ttsession` nel proprio file DirectoryIniziale`/.dtprofile`.

Per maggiori informazioni sulle opzioni di `ttsession`, vedere la pagina di spiegazioni relativa a `ttsession`. Per maggiori informazioni su `ttsession`, vedere il manuale Getting Started Using ToolTalk Messaging.

###
Avvio del client della Gestione delle sessioni

A questo punto, `Xsession` avvierà `/usr/dt/bin/dtsession`, che continuerà il processo di avvio delle sessioni.

### Caricamento delle risorse delle sessioni

La Gestione delle sessioni utilizza la caratteristica `RESOURCE_MANAGER` del server X per rendere le risorse del desktop disponibili a tutte le applicazioni. La Gestione delle sessioni carica `RESOURCE_MANAGER` nelle seguenti operazioni:

- Durante il caricamento delle risorse predefinite del sistema

- Durante l'unione delle risorse di sistema specificate dall'amministratore.

- Durante l'unione delle risorse specificate dall'utente

Le risorse predefinite del desktop si trovano in `/usr/dt/config/`lingua`/sys.resources`
, e vengono rese disponibili per le sessioni dei singoli utenti attraverso la caratteristica `RESOURCE_MANAGER`. Questo file non dovrebbe essere editato, in quanto viene sovrascritto ad ogni nuova installazione del desktop.

Per aggiungere altre risorse a quelle predefinite del sistema si potrà creare un nuovo file `/etc/dt/config/`lingua`/sys.resources`
in cui modificare le risorse predefinite o specificare nuove risorse per tutti gli utenti del desktop. Questo file verrà unito alle risorse predefinite del desktop all'avvio delle sessioni, perciò potrà contenere solo risorse nuove o aggiornate. Le risorse specificate in questo file saranno rese disponibili a tutti gli utenti attraverso la caratteristica `RESOURCE_MANAGER`, e prevarranno su quelle specificate nel file delle risorse predefinite del desktop.

Ogni utente potrà aggiungere altre risorse a quelle di sistema o predefinite del desktop modificando il proprio file DirectoryIniziale`/.Xdefaults`. Le risorse specificate in questo file saranno rese disponibili per le sessioni di quell'utente attraverso la caratteristica `RESOURCE_MANAGER`, e prevarranno su quelle specificate nel file di risorse predefinito del desktop o in quello predisposto dall'amministratore di sistema.

L'utility X Toolkit Intrinsics può caricare le risorse per un'applicazione da `RESOURCE_MANAGER` o da DirectoryIniziale`/.Xdefaults`, ma non da entrambi. In genere, questo significa che il file DirectoryIniziale`/.Xdefault`s dell'utente viene ignorato. Tuttavia, la Gestione delle sessioni permette di utilizzarlo in quanto lo unisce `
`a `RESOURCE_MANAGER`all'avvio della sessione. Se un utente modifica il file DirectoryIniziale/`.Xdefaults`, queste modifiche avranno effetto sulle applicazioni solo eseguendo l'azione “Ricaricare risorse”. Questa
azione ordinerà infatti alla Gestione delle sessioni di ricaricare `RESOURCE_MANAGER` con le risorse predefinite, quelle di sistema e quelle specificate dall'utente. In questo modo le modifiche apportate ai file di risorse personali e di sistema saranno disponibili per le applicazioni.

Per maggiori informazioni, vedere:

- sag.facol.mkr.2

- La pagina di spiegazioni relativa a `dtresourcesfile(4)`

### Avvio del server dei colori

La Gestione delle sessioni funge da server di
colori per il desktop, e permette di configurare tale funzione mediante le seguenti risorse `dtsession`.

`foregroundColor` | Controlla l'allocazione di un pixel per il colore di primo piano
`dynamicColor` | Specifica l'allocazione di colori di sola lettura
`shadowPixmaps` | Specifica l'allocazione di colori per l'ombreggiatura superiore o inferiore
`colorUse` | Limita l'allocazione dei colori
`writeXrdbColors` | Specifica se le risorse `*background` e `*foreground` sono collocate nel database delle risorse

Le risorse del server dei colori possono essere impostate per tutti gli utenti creando un file `/etc/dt/config/`lingua`/sys.resources` e specificando in questo file le risorse desiderate.

Ogni utente potrà inoltre impostare le risorse del server dei colori per le proprie sessioni specificando le impostazioni desiderate nel proprio file DirectoryIniziale`/.Xdefaults`.

Per maggiori informazioni su come impostare le risorse per il server dei colori, vedere sag.facol.mkr.9.

###
Avvio della Gestione dello spazio di lavoro

La Gestione delle sessioni avvia la Gestione dello spazio di lavoro, che nell'impostazione predefinita è `/usr/dt/bin/dtwm`.
È possibile specificare una gestione di finestre alternativa usando la risorsa `wmStartupCommand`.

È possibile specificare una gestione di finestre alternativa per tutti gli utenti creando un file `/etc/dt/config/` lingua`/sys.resources` e impostando la risorsa `Dtsession*wmStartupCommand` con il percorso completo e le opzioni della gestione di finestre desiderata.

Ogni utente potrà specificare una gestione di finestre alternativa per le proprie sessioni modificando la risorsa `Dtsession*wmStartupCommand` nel proprio file DirectoryIniziale`/.Xdefaults`.

Per maggiori informazioni sulla gestione delle finestre, vedere il sag.wmcnf.mkr.1.

### Avvio delle applicazioni della sessione

All'avvio di una sessione, la Gestione delle sessioni riavvia tutte le applicazioni che erano state salvate insieme a quella sessione. L'insieme di applicazioni predefinito per la sessione iniziale dell'utente si trova in `/usr/dt/config/`lingua`/sys.session`.
Questo file non dovrebbe essere editato, in quanto verrà sovrascritto ad ogni nuova installazione del desktop.

Per maggiori informazioni, vedere la pagina di spiegazioni relativa a `dtsessionfile(4)`.``

Per modificare le applicazioni avviate con la sessione iniziale dell'utente, l'amministratore di sistema potrà copiare il file `/usr/dt/config/`lingua`/sys.session` in `/etc/dt/config/`lingua`/sys.session` e modificare la nuova copia del file. Diversamente dai file di risorse, questo file sostituirà completamente quello predefinito del desktop; sarà perciò possibile creare una copia del file predefinito del sistema e modificarla nel modo desiderato.

## Altre opzioni per personalizzare l'avvio delle sessioni

Questa sezione descrive le seguenti operazioni:

- Impostazione delle variabili d'ambiente

- Impostazione delle risorse

- Uso di sessioni associate al video

- Esecuzione di script al login

- Ripristino di una sessione di backup

###
Come impostare le variabili d'ambiente

- Per impostare una variabile d'ambiente a livello di sistema, creare un file nella directory `/etc/dt/config/Xsession.d` che imposti ed esporti la
  variabile desiderata.

  Ad esempio, si potrà creare uno script `sh` o `ksh` eseguibile `/etc/dt/config/Xsession.d/`var_pers

  che contenga l'istruzione:

      export NUOVA_VARIABILE="valore"

  In questo modo la variabile `NUOVA_VARIABILE` sarà impostata negli ambienti di tutti gli utenti al login successivo.

- Per impostare una variabile d'ambiente personale sarà necessario definirla nel file DirectoryIniziale`/
  .dtprofile`.

  Ad esempio, l'istruzione:

      export VARIABILE_PERSONALE=“valore”

  imposterà la variabile `NUOVA_VARIABILE` negli ambienti di tutti gli utenti al login successivo.

La Gestione delle sessioni non legge automaticamente il file `
`.profile` o ``.login`. Può tuttavia essere configurata in modo da utilizzarli; vedere a questo riguardo la sezione sag.sesmg.mkr.6.

### Come impostare le risorse

- Per impostare una risorsa a livello di sistema, aggiungerla al file `/etc/dt/config/`lingua`/
  sys.resources`. (Se necessario, creare il file.)

`.
dtprofile` supporta solo la sintassi della shell `/bin/sh` o `/bin/ksh`.

Ad esempio, se in `/etc/dt/config/C/sys.resources` si specifica l'istruzione:

    Applicazione*risorsa: valore

la risorsa `Applicazione*risorsa` verrà impostata nella caratteristica `
RESOURCE_MANAGER` di tutti gli utenti al login successivo.

- Per impostare una risorsa personale, aggiungere la risorsa al file DirectoryIniziale`/.Xdefaults`.

### Come impostare le risorse associate a un video

Le risorse associate a un determinato video possono essere impostate sia a livello di sistema che per utenti specifici. In questo caso, le risorse possono essere impostate in base al video usato dall'utente per il login nel desktop.

1. Per impostare un insieme di risorse associato a un video per tutti gli utenti di un sistema, creare un file `/etc/dt/config/`lingua`/sys.resources` che specifichi le risorse desiderate.

2. Per impostare un insieme di risorse associato a un video solo per un determinato utente, specificare le risorse in DirectoryIniziale`/.Xdefaults`.

Per delimitare queste risorse sarà necessario racchiuderle tra dichiarazioni condizionali `
cpp`. Occorrerà definire una macro `
DISPLAY_` nomevideo basata sul valore della variabile `$DISPLAY` convertendo tutti i punti (.) e i due punti (:) in caratteri di sottolineatura (_), eliminando tutte le informazioni legate allo schermo e infine anteponendo la stringa `DISPLAY_` al risultato.

Ad esempio, una variabile `$DISPLAY` di valore `:0` diventerà `DISPLAY_0`, mentre una variabile `$DISPLAY` di valore `bianco.arcobaleno.com:0.0` diventerà `DISPLAY_bianco_arcobaleno_com_0`. Il valore risultante potrà essere usato nell'ambito di un test `cpp` in un file di risorse di una sessione. Ad esempio, se nel file `/etc/dt/config/C/sys.resources` si specifica quanto segue:

    App*Risorsa: valore

    #ifdef DISPLAY_bianco_arcobaleno_com_0
    App*Risorsa: valorespeciale1
    #endif
    #ifdef DISPLAY_rosa_arcobaleno_com_0
    App*Risorsa: valorespeciale2
    #endif

la risorsa `App*Risorsa` in `RESOURCE_MANAGER` verrà impostata su `valorespeciale1` quando l'utente effettuerà il login sul video `bianco.arcobaleno.com:0`; su `valorespeciale2` quando effettuerà il login su `rosa.arcobaleno.com:0;` e su `valore` quando il login verrà eseguito su un altro video.

### Come cambiare le applicazioni per la sessione iniziale

Per specificare applicazioni alternative da avviare nella sessione iniziale dell'utente, procedere come segue.

1. Copiare `/usr/dt/config/`lingua`/sys.session` in `/etc/dt/config/`lingua`/sys.session.`

2. Modificare la nuova copia del file `
   sys.session`.

   Ogni istruzione di `sys.session` apparirà nella forma:

   ``
   dtsmcmd -cmd` `comando_e_opzioni``

   Per aggiungere un'applicazione nella sessione iniziale dell'utente, specificare una nuova istruzione in `sys.session` indicando il percorso completo del file eseguibile. Ad esempio, per avviare `/usr/bin/X11/xclock` in una sessione iniziale, aggiungere un'istruzione per `xclock` al file `/etc/dt/config/C/sys.resources`:

       #
       # Avvio di xclock...
       #
       dtsmcmd -cmd “/usr/bin/X11/xclock -digital”

### Come impostare una sessione associata a un video

Usando la procedura descritta qui di seguito, ogni utente può impostare una sessione associata a un determinato video.

- Copiare la directory DirectoryIniziale`/.dt/
  sessions` in DirectoryIniziale`/.dt/`video, dove video è il nome reale e non qualificato dell'host (`rosa:0` sarà un nome valido, mentre `rosa.arcobaleno.com:0` o `unix:0` non saranno accettati).

Ad esempio, per creare una sessione associata al video `rosa.arcobaleno.com:0`, digitare:

    cp -r DirectoryIniziale/.dt/sessions DirectoryIniziale/.dt/rosa:0

Al login successivo dell'utente sul video `rosa.arcobaleno.com:0`, la Gestione delle sessioni avvierà la sessione definita con questa procedura.

### Esecuzione di comandi personalizzati all'avvio delle sessioni e al logout

Gli utenti hanno la possibilità di impostare l'esecuzione di comandi personalizzati al momento del login nel desktop. Questa opzione è particolarmente utile per specificare impostazioni X che non possono essere salvate dalla Gestione delle sessioni. Ad esempio, si potrà usare `xsetroot` per personalizzare il puntatore del superutente (nello spazio di lavoro), oppure avviare applicazioni che non possono essere salvate e ripristinate dalla Gestione delle sessioni.

###
Come eseguire comandi personalizzati all'avvio di una sessione

- Creare un file DirectoryIniziale`/.dt/sessions/sessionetc`
  che contenga i comandi desiderati.

  In genere, questo file è uno script e richiede le autorizzazioni di esecuzione. I processi avviati con `sessionetc` dovrebbero essere eseguiti in background.

Non usare `sessionetc` per avviare applicazioni client che vengono ripristinate automaticamente dalla Gestione delle sessioni, per evitare di avviare più copie della stessa applicazione. La presenza di più copie di un'applicazione potrebbe non essere immediatamente riscontrabile per la sovrapposizione delle finestre o delle icone.

### Come eseguire comandi personalizzati al logout

Il file da utilizzare per questa procedura è `
sessionexit`. Come per `sessionetc`, si potrà usare `sessionexit` per eseguire operazioni che non possano essere avviate dalla Gestione delle sessioni.

- Creare il file DirectoryIniziale`/.dt/sessions/sessionexit`.

  Come `sessionetc`, questo file è generalmente uno script e richiede le autorizzazioni di esecuzione.

### Come ripristinare una sessione da un backup

Quando la Gestione delle sessioni salva una sessione, le informazioni vengono memorizzate sotto DirectoryIniziale`/.dt/sessions` o, nel caso delle sessioni associate a un video, sotto DirectoryIniziale`/.dt/` video. In queste directory, la Gestione delle sessioni crea una directory secondaria di nome `current` o `home` in cui memorizza rispettivamente le informazioni della sessione corrente o di quella iniziale. Prima di memorizzare queste informazioni, la Gestione delle sessioni crea una copia di backup della sessione precedentemente salvata con quel nome e la colloca in `
current.old` o in `
home.old`.

1. Effettuare il login usando l'opzione “Sessione a finestra singola” o “Login della riga comandi” dello schermo di login.

2. Copiare la directory della sessione di backup nella directory attiva. Ad esempio, per ripristinare la sessione iniziale di backup, digitare:

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

La stessa procedura può essere usata per ripristinare una sessione associata a un video.

###
Come esaminare i problemi di avvio delle sessioni

- Esaminare il file DirectoryIniziale`/.dt/
  startlog`.

  Il file `startlog` contiene l'output (`stderr`) delle applicazioni avviate dalla Gestione delle sessioni (nell'host della Gestione delle sessioni).

## File e directory della Gestione delle sessioni

- `/usr/dt/bin/Xsession`

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

- `/usr/dt/bin/dtsession`

- `/usr/dt/bin/dtsession_res`

- DirectoryIniziale`/.dt/sessions/current`

- DirectoryIniziale`/.dt/sessions/home`

- DirectoryIniziale`/.dt/`video`/current`

- DirectoryIniziale`/.dt/`video/`home`