# Configurazione della Gestione del login

La Gestione del login è un server
responsabile della visualizzazione dello schermo di login, dell'autenticazione degli utenti
e dell'avvio delle sessioni degli utenti
. Il login grafico è una gradevole alternativa al login tradizionale per i monitor a mappa di bit. I video gestiti dal server di login possono essere collegati direttamente al server di login,
oppure a un terminale X o a una workstation della rete.

Per avviare, arrestare o personalizzare il server di login è necessario operare come superutente.

sag.logmg.mkr.3
sag.logmg.mkr.4
sag.logmg.mkr.7
sag.logmg.mkr.8
sag.logmg.mkr.11
sag.logmg.mkr.13
sag.logmg.mkr.14

Il server di login svolge le seguenti funzioni
:

- Può visualizzare lo schermo di login su video a mappa di bit sia locali che di rete, in modo incondizionato o su richiesta

- Serve le console a caratteri collegate direttamente

- Può visualizzare uno schermo di selezione che permette agli utenti di accedere agli schermi di login da altri server di login della rete

- Permette l'accesso controllato al server di login

- Permette di usare il login tradizionale a caratteri

Per disporre di queste funzioni, i video possono essere collegati direttamente al server della Gestione del login oppure a un terminale X o a una workstation della rete. Per i video locali, il server di login avvierà automaticamente un server X e visualizzerà uno schermo di login. Per i video collegati in rete, come i terminali X, il server di login supporta il protocollo X Display Manager Protocol (XDMCP)
1.0, grazie al quale i video possono richiedere al server la visualizzazione dello schermo di login.

## Avvio del server di login

Il server di login viene in genere avviato
al boot del sistema. Può tuttavia essere avviato anche da una riga comandi
.

- Per impostare l'avvio del server di login al boot del sistema, digitare `/usr/dt/bin/dtconfig -e`

  Il server di login si avvierà automaticamente al reboot.

- Per avviare il server di login da una riga comandi, digitare

  `/usr/dt/bin/dtlogin -daemon`

Il server di login può essere avviato dalla riga comandi per esigenze di prova della configurazione, ma in generale è più appropriato l'avvio del server al boot del sistema.

## Gestione dei video locali e di rete

La sag.logmg.mkr.5 mostra una possibile configurazione del server di login.

### Possibile configurazione del server di login

### Determinazione dell'ID di processo del server di login

Nell'impostazione predefinita, il server di login memorizza il suo ID di processo in `/var/dt/Xpid
`.

Per cambiare questa impostazione è possibile modificare la risorsa `Dtlogin.pidFile` nel file `Xconfig`.
La directory specificata dovrà esistere al momento dell'avvio del server di login.

Per modificare `Xconfig`, copiare il file da `/usr/dt/config` a `/etc/dt/config`. Dopo avere modificato `/etc/dt/config/Xconfig`, far rileggere `Xconfig` dal server di login digitando:

    /usr/dt/bin/dtconfig -reset

Questa operazione produce il comando `kill -HUP` ID processo server di login.

Ad esempio, per memorizzare l'ID di processo del server di login in `/var/server/Dtpid`, modificare come segue il file `Xconfig`:

    Dtlogin.pidFile: /var/server/Dtpid

Al riavvio del server di login, l'ID del processo verrà memorizzato in `/var/server/Dtpid
`. La directory `/var/server` dovrà esistere quando verrà avviato il server di login.

### Visualizzazione di uno schermo di login su un video locale

All'avvio, il server di login controlla il file `Xservers`
per determinare se debba essere avviato un server X e per stabilire se e come visualizzare gli schermi di login sui monitor locali e di rete.

Per modificare il file `Xservers`, copiare il file da `/usr/dt/config` in `/etc/dt/config`. Dopo avere modificato `/etc/dt/config/Xservers`, far rileggere `Xservers` al server di login digitando:

    /usr/dt/bin/dtconfig -reset

Questa operazione produce il comando `kill -HUP` ID processo server di login

Il formato delle righe di `Xservers`
è il seguente:

    nome_video classe_video tipo_video comando_server_X

dove

nome_video | Indica al server di login il nome da usare per la connessione al server X (:0 nell'esempio seguente). Il valore * (asterisco) equivale a nomehost:0. Il numero specificato deve corrispondere al numero di connessione del comando_server_X.
classe_video | Identifica le risorse specifiche del video (`Local` nell'esempio seguente).
tipo_video | Indica al server di login se il video è locale o in rete, e specifica come gestire l'opzione Login della riga comandi nello schermo di login (`local@console` nell'esempio seguente).
comando_server_X | Identifica la riga comandi, il numero di connessione e altre opzioni che il server di login dovrà usare per avviare il server X (`/usr/bin/X11/X:` `0` nell'esempio seguente). Il numero di connessione deve corrispondere a quello specificato nel nome_video.

La riga predefinita di Xservers ha la forma seguente:

    :0 Local locale@console /usr/bin/X11/X :0

### Avvio del server di login senza un video locale

Se il sistema utilizzato come server di login non dispone di un monitor a mappa di bit
, avviare il server di login senza video locale escludendo la riga corrispondente del file `Xservers` con il simbolo di
commento `#`
. Ad esempio:

    # :0 Local locale@console /usr/bin/X11/X :0

Il server di login verrà avviato in background e riceverà le richieste dei video della rete.

### Accesso al login della riga comandi su un video locale

Scegliendo l'opzione “Login della riga comandi” dallo schermo di login,
il server di login arresta temporaneamente il server delle finestre X e consente di eseguire il login in forma tradizionale sul video a mappa di bit di un terminale. Quando l'utente effettua il logout, o dopo un periodo di tempo specificato, il server di login riavvia il server X.

L'opzione
“Login della riga comandi” non è disponibile sui video collegati mediante la rete.

Il comportamento del “Login della riga comandi” dipende dal tipo_video. Il formato del tipo_video è il seguente:

- `local@`terminale_video

- `
  local`

- `
  foreign`

Se si specifica `local`@terminale_video, il server di login presume che il server X e `/dev/`terminale_video si trovino sullo stesso dispositivo fisico, e che su quel dispositivo sia in esecuzione un login della riga comandi (solitamente `getty`). Selezionando “Login della riga comandi”, il server X viene arrestato e l'utente può accedere al login in esecuzione (`getty`) su `/dev/`terminale_video.

Per disabilitare l'opzione “Login della riga comandi” su un video, specificare `none` come terminale_video. L'impostazione predefinita per terminale_video è `console`. Specificando `local`, il valore di terminale_video viene impostato automaticamente su `console`. Specificando `foreign`, l'opzione “Login della riga comandi” viene disabilitata.

Avviando il server di login dalla riga comandi, l'opzione “Login della riga comandi” viene automaticamente disabilitata sul video locale.

### Abilitazione di una console di visualizzazione a caratteri

Se il sistema utilizzato come server di login è collegato direttamente a un video a
caratteri utilizzato come console, si potrà impostare il terminale_video su `none` per disabilitare l'opzione “Login della riga comandi” nello schermo di login del video a mappa di bit.

In alternativa, se sia la console a caratteri che il video a mappa di bit utilizzano un login della riga comandi (`
getty`), è possibile impostare il terminale_video sul dispositivo usato per il login (`getty`) sul video a mappa di bit.

Ad esempio, se il login della riga comandi eseguito sul video a mappa di bit si trova sul dispositivo `/dev/tty01`, cambiare il tipo_video in `local@tty01`.

### Visualizzazione di uno schermo di login
su un video di rete

Il server di login può visualizzare uno schermo di login su qualsiasi video della rete che generi una richiesta corrispondente, si tratti di un terminale X o di una workstation.

Per gestire le richieste dei video della rete, il server di login supporta il protocollo XDMCP 1.0 (X Display Manager Protocol)
, che permette al server di login di negoziare, e quindi accettare o rifiutare, le richieste ricevute dai video della rete. Il protocollo XDMCP è integrato nella maggior parte dei terminali X.

#### Richieste XDMCP dirette dei video
di rete

Quando il terminale X viene configurato per l'utilizzo di XDMCP in modo diretto
(modo di interrogazione), l'utente deve specificare al terminale X il nome host del sistema da utilizzare come server di login. Durante il boot, il terminale X contatterà automaticamente il server di login, il quale visualizzerà uno schermo di login sul terminale. Per informazioni su come configurare il terminale X per l'uso di XDMCP in modo diretto, vedere la documentazione del terminale.

In genere, i server X supportano anche l'opzione `-query`
. In questa modalità, il server X si comporta esattamente come un terminale X, contattando direttamente l'host del server di login per richiedere la visualizzazione dello schermo di login. Ad esempio, avviando il server X su un video a mappa di bit di una workstation di nome `bianca`, il server di login `anita` visualizzerà uno schermo di login sul server X che ha generato la richiesta:

    X -query anita

#### Richieste XDMCP indirette
dei video di rete

Quando il terminale X viene configurato per l'utilizzo di XDMCP in modo indiretto, l'utente deve specificare al terminale X il nome host del sistema da utilizzare come server di login. Durante il boot, il terminale X contatterà il server di login, il quale presenterà l'elenco dei server di login disponibili nella rete. Da questo elenco, l'utente potrà scegliere l'host che dovrà visualizzare lo schermo di login sul terminale X. Per informazioni su come configurare il terminale X per l'uso di XDMCP in modo indiretto, vedere la documentazione del terminale.

In genere, come nel modo diretto, i server X supportano l'opzione `-indirect`
, con la quale il server X contatta il server di login in modalità XDMCP indiretta.

#### Gestione dei video di rete non-XDMCP

Alcuni terminali X di vecchia produzione non supportano il protocollo XDMCP. Per fare in modo che il server di login visualizzi lo schermo di login su un terminale di questo tipo, includere il nome del terminale nel file `Xservers`.

#### Esempio

Queste righe del file `Xservers` ordinano al server di login di visualizzare uno schermo di login su due terminali X non-XDMCP di nome `rosso` e `grigio`:

    rosso.arcobaleno.com:0 AcmeXsta foreign
    grigio:0 PandaCo foreign

Poiché il video fa parte della rete, il nome_video include anche il nome dell'host. La classe del video può essere usata per indicare risorse specifiche per una determinata classe di terminali X. (Per determinare la classe del terminale X in uso, vedere la documentazione del terminale.) Il tipo_video `foreign` indica al server di login di collegarsi a un server X esistente anziché di avviarne uno nuovo. In questo caso non è specificato alcun comando_server_X.

### Controllo dell'accesso al server di
login

Nell'impostazione predefinita, qualsiasi host della rete che abbia accesso al sistema usato come server di login può richiedere la visualizzazione di uno schermo di login. L'accesso al server di login può tuttavia essere limitato modificando il file `Xaccess`
.

Per modificare `Xaccess`, copiare il file da `/usr/dt/config` in `/etc/dt/config`. Modificare `/etc/dt/config/Xaccess` e quindi ordinare al server di login di rileggere `Xaccess`:

    /usr/dt/bin/dtconfig -reset

Questo comando esegue `kill -HUP` ID di processo del server di login.

#### XDMCP diretto

Quando un host cerca di connettersi al server di login usando
XDMCP in modo diretto, il nome dell'host viene confrontato con il contenuto del file
`Xaccess` per determinare se quell'host sia autorizzato o meno ad accedere al server di login. Ogni riga del file `Xaccess` corrisponde a un nome host, inclusi i caratteri speciali * (asterisco) e ? (punto interrogativo). L'asterisco corrisponde a zero o più caratteri qualsiasi, mentre il punto interrogativo corrisponde ad un singolo carattere qualsiasi. Un ! (punto esclamativo) all'inizio di una riga disabilita l'accesso al server di login, mentre in mancanza di un punto esclamativo l'accesso è abilitato.

Ad esempio, se `Xaccess` contiene le tre righe seguenti:

    adamo.globo.com
    *.rep5.globo.com

    !*

La prima riga abilita l'accesso al server di login dall'host `adamo.globo.com`, la seconda abilita l'accesso da tutti gli host il cui nome completo termini in `rep5.globo.com`, mentre l'ultima riga disabilita l'accesso da qualsiasi altro host.

#### XDMCP indiretto

Quando un host cerca di connettersi al server di login usando
XDMCP in modo indiretto, il nome dell'host viene confrontato con il contenuto di `Xaccess` per determinare il suo diritto di accesso al server di login. Le righe di `Xaccess` hanno un formato analogo a quelle usate da XDMCP in modo diretto, inclusi i caratteri speciali, ma in questo caso ogni riga contiene una stringa
`CHOOSER
`. Ad esempio:

    adamo.globo.com  CHOOSER BROADCAST
    *.rep5.globo.com CHOOSER BROADCAST
    !*     CHOOSER BROADCAST

Anche in questo caso, la prima riga abilita l'accesso al server di login dall'host `adamo.globo.com`, la seconda abilita l'accesso da tutti gli host il cui nome completo termini in `rep5.globo.com`, mentre l'ultima riga disabilita l'accesso da qualsiasi altro host.

La stringa `CHOOSER`
può essere seguita da:

- `
  BROADCAST`

- lista dei nomi host

L'istruzione `BROADCAST` indica al server di login di generare, mediante una connessione con l'intera sottorete, un elenco degli host disponibili come server di login. Una lista di nomi host indica direttamente al server di login quali host sono disponibili. Ad esempio:

    adamo.globo.com  CHOOSER saturno.globo.com luna.globo.com
    *.rep5.globo.com  CHOOSER BROADCAST

    !* CHOOSER BROADCAST

Collegandosi al server con XDMCP in modo indiretto, `adamo.globo.com` riceverà una lista di host contenente `saturno` e `luna`, mentre `alice.rep5.globo.com` riceverà l'elenco di tutti i server di login disponibili nella sottorete. Le altre richieste generate con XDMCP in modo indiretto verranno rifiutate.

Un metodo alternativo per specificare una lista di host consiste nel definire una o più macro contenenti un elenco di nomi host. Ad esempio:

    %lista1 saturno.globo.com luna.globo.com
    adamo.globo.com CHOOSER %lista1

## Analisi degli errori

Nell'impostazione predefinita, il server di login registra gli errori nel file
`/var/dt/Xerrors`. Questa impostazione può essere modificata editando la risorsa `Dtlogin.errorLogFile` nel file `Xconfig`. La directory specificata deve esistere al momento dell'avvio del server di login.

Ad esempio, per fare in modo che il server di login registri gli errori nel file `/var/log/Dterrors`, impostare la risorsa seguente nel file `Xconfig`:

    Dtlogin.errorLogFile: /var/log/Dterrors

Riavviando il server di login, gli errori verranno registrati nel file `/var/log/
Dterrors`. La directory `/var/log` dovrà esistere quando verrà riavviato il server di login.

## Arresto del server di login

- Per disabilitare l'avvio del server di login al boot del sistema, digitare:

      /usr/dt/bin/dtconfig -d

  Questo comando indicherà al sistema di non avviare il server di login al boot successivo.

- Per arrestare il server di login eliminando l'ID del processo, digitare:

      /usr/dt/bin/dtconfig -kill

  In questo modo verrà eseguito il comando `kill` ID di processo server di login)

L'arresto del processo del server di l
ogin con il comando `kill` causerà l'interruzione di tutte le sessioni utente gestite dal server di login.

Il server di login può anche essere arrestato eliminando l'ID del processo, in genere memorizzato in `/var/dt/Xpid` o nel file specificato in `Xconfig` dalla risorsa `Dtlogin.pidFile`.

L'arresto del server di login causerà l'interruzione immediata delle sessioni correnti del desktop.

## Lo schermo di login

Lo schermo di login visualizzato dal server offre una serie di funzioni aggiuntive rispetto al login a caratteri tradizionale.

### Schermo di login del desktop

Come nel login a caratteri, l'utente deve inserire un nome e una parola chiave. Se le informazioni fornite vengono autenticate, il server di login avvia una sessione del desktop per l'utente specificato. All'uscita dalla sessione del desktop verrà presentato un nuovo schermo di login, che potrà essere utilizzato per ripetere l'intero processo.

Per personalizzare lo schermo di login si possono eseguire una o più delle seguenti operazioni
:

- Modificare l'aspetto dello schermo di login

- Configurare le autorizzazioni del server X

- Modificare la lingua predefinita

- Eseguire un comando prima della visualizzazione dello schermo di login

- Modificare il menu Lingua dello schermo di login

- Specificare il comando da utilizzare per l'avvio della sessione dell'utente

- Eseguire un comando prima dell'avvio della sessione dell'utente

- Eseguire un comando dopo il termine della sessione dell'utente

Ognuna di queste operazioni può essere eseguita per tutti i video o per un video specifico.

## Modifica dell'aspetto dello schermo di login

Per personalizzare l'aspetto dello schermo di
login è possibile cambiare il logo o la presentazione grafica, i messaggi di benvenuto e i font.

Per modificare il file `Xresources`, copiare il file da `/usr/dt/config/`lingua in `/etc/dt/config/`lingua. Le modifiche verranno applicate all'avvio successivo dello schermo di login. Per forzare l'applicazione delle modifiche nella sessione corrente, selezionare “Ripristinare schermo di login” dal menu Opzioni dello schermo di login.

Gli attributi dello schermo di login che dipendono dall'impostazione delle risorse nel file `Xresources
` includono i seguenti:

`Dtlogin*logo*bitmapFile` | File a mappa di bit o a mappa di pixel da visualizzare come logo
`Dtlogin*greeting*labelString` | Messaggio di benvenuto
`Dtlogin*greeting*persLabelString` | Messaggio di benvenuto personalizzato
`Dtlogin*greeting*fontList` | Font per i messaggi di benvenuto
`Dtlogin*labelFont` | Font per i pulsanti e le opzioni
`Dtlogin*textFont` | Font per i messaggi di aiuto e di errore
`Dtlogin*lingua*languageName` | Testo alternativo per la lingua della versione locale

### Per modificare il logo

- Impostare la risorsa `Dtlogin*logo*bitmapFile` in `Xresources`.

  Il logo può essere un file a mappa di bit o a mappa di pixel a colori.

In questo esempio viene usato come logo il file a mappa di bit `Logo_pers`:

    Dtlogin*logo*bitmapFile:
    /usr/local/lib/X11/dt/bitmaps/Logo_pers.bm

### Per cambiare il messaggio di benvenuto

Nell'impostazione
predefinita, il server di login visualizza il messaggio `Benvenuti in nome_host`. Per cambiare questo messaggio:

- Impostare la risorsa `Dtlogin*greeting*labelString` in `Xresources`.

  Il valore della risorsa `labelString` potrà contenere %LocalHost%, che verrà sostituito dal nome dell'host usato come server di login, e %DisplayName%, che verrà sostituito dal nome del video del server X.

Nell'esempio seguente, il messaggio di benvenuto viene cambiato in `Siete` `su` nome_host`!`:

    Dtlogin*greeting*labelString: Siete su %LocalHost%!

Dopo l'inserimento del nome utente, il server di login visualizza il messaggio `Benvenuto,` nome_utente. Questo messaggio può essere modificato impostando la risorsa `Dtlogin*greeting*persLabelString` in `Xresources`. Il valore di `persLabelString` potrà contenere la variabile `%s`, che verrà sostituita dal nome_utente.

Nell'esempio seguente, il messaggio di benvenuto personalizzato viene modificato in Salve`nome_utente!`.

    Dtlogin*greeting*persLabelString: Salve %s !

### Per cambiare i
font

I font utilizzati nello schermo di login possono essere cambiati impostando una delle risorse seguenti in `Xresources:
`

Per ottenere l'elenco dei font disponibili, digitare:

    xlsfonts [-opzioni] [-fn schema]

``Dtlogin*greeting*fontList`` | Font per i messaggi di benvenuto
``Dtlogin*labelFont`` | Font per i pulsanti, i menu e le opzioni
`Dtlogin*textFont` | Font per i messaggi di aiuto e di errore

L'esempio seguente imposta l'uso di un font di grandi dimensioni per il messaggio di benvenuto (il valore specificato deve occupare una sola riga):

    Dtlogin*greeting*fontList: -dt-interface system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:

#### Per specificare un testo alternativo per
le lingue disponibili

Per visualizzare nel menu Lingua una o più opzioni personalizzate anziché i nomi predefiniti delle versioni locali, modificare come nell'esempio la risorsa `Dtlogin*lingua *languageName` in `Xresources`:

    Dtlogin*En_US*languageName: Americano

Il testo `Americano` sostituirà il nome predefinito della versione locale `En_US`.

#### Modifica del comportamento dello schermo di login

Il comportamento dello schermo di login può essere personalizzato modificando le risorse specificate nel file `Xconfig`.

Per modificare `Xconfig`, copiare il file da `/usr/dt/config` in `/etc/dt/config`. Modificare `/etc/dt/config/Xconfig` e quindi far rileggere il file al server di login digitando:

    /usr/dt/bin/dtconfig -reset

Verrà eseguito il comando `kill` `-HUP` ID di processo del server di login

Le risorse specificate nel file `Xconfig
` includono:

`Dtlogin*authorize` | Informazioni sul file `Xaccess`
`Dtlogin*environment` | Ambiente del server X
``Dtlogin*language`` | Lingua predefinita
`Dtlogin*languageList` | Elenco delle opzioni del menu Lingua dello schermo di login
``Dtlogin*resources`` | Informazioni su `Xresources`
``Dtlogin*setup`` | Informazioni sul file `Xsetup`
``Dtlogin*`startup` | Informazioni sul file `Xstartup`
`Dtlogin*session` | Informazioni sul file `Xsession`
`Dtlogin*failsafeClient` | Informazioni sullo script `Xfailsafe`
`Dtlogin*reset` | Informazioni sullo script `Xreset`
`Dtlogin*userPath` | PATH per `Xsession` e `Xfailsafe`
`Dtlogin*systemPath` | PATH per `Xsetup`, `Xstartup` e `Xfailsafe`
`Dtlogin*systemShell` | SHELL per `Xsetup`, `Xstartup` e `Xfailsafe`
`Dtlogin.timeZone` | TZ per tutti gli script

### Modifica del comportamento dello schermo di login per ogni video

Negli esempi riportati qui di seguito, la modifica di una risorsa di `Xconfig` cambia il comportamento dello schermo di login per tutti i video. Le risorse affiancate da un asterisco (*) possono essere specificate anche limitatamente a un video specifico. Per specificare una risorsa per un determinato video occorre usare il formato `Dtlogin*nome_video*risorsa`. Ad esempio, per disabilitare il controllo degli accessi basato sugli utenti per il video `expo:0` e lasciarlo abilitato per gli altri video, occorrerà specificare:

    Dtlogin*expo_0*authorize: False

Tutti i caratteri speciali contenuti nei nomi dei video, come i due punti (:) o i punti (.), vengono sostituiti da un carattere di sottolineatura (_).

### Modifica dell'accesso al server X

Nell'impostazione predefinita, il server di login abilita il controllo degli accessi al server X basandosi sugli utenti e usando i dati di autorizzazione memorizzati e protetti nel file DirectoryIniziale`/.Xauthority`. Solo gli utenti autorizzati a leggere questo file potranno connettersi al server X. In generale, questo è il metodo preferito per il controllo degli accessi ai server X.

Un'alternativa al metodo basato sugli utenti è rappresentata dal controllo degli accessi basato sugli host. Con questo metodo, abilitando l'accesso al server X da un determinato host, il diritto di accesso viene esteso automaticamente a tutti gli utenti che hanno accesso a quell'host. Questo metodo può rendersi necessario per le seguenti ragioni:

- I client X di tipo R2 e R3 non possono connettersi a un server X che utilizzi il controllo degli accessi basato sugli utenti.

- Se la rete non è protetta, è possibile che un estraneo riesca a intercettare i dati di autorizzazione scambiati tra il client X e il server X.

La risorsa `Dtlogin*authorize`
di `Xconfig` indica al server di login di usare il controllo degli accessi basato sugli utenti. Per usare il metodo basato sull'host, cambiare il valore della risorsa di autorizzazione in `False`. Ad esempio:

    Dtlogin*authorize: False

#### Per cambiare l'ambiente del serve
r X

Se si desidera associare una o più variabili d'ambiente a un server X al momento del suo avvio dal server di login, occorrerà specificare tali variabili usando la risorsa `Dtlogin*environment` in `Xconfig`. Ad esempio, la risorsa:

    Dtlogin*environment: VAR1=foo VAR2=bar

renderà le variabili VAR1 e VAR2 disponibili per il processo del server X locale. Queste variabili verranno esportate anche negli script `Xsession` e `Xfailsafe`.

#### Per cambiare la lingua predefinita

Quando si avvia una sessione del desktop dallo schermo di login, è possibile scegliere la lingua da utilizzare dal menu secondario Lingua del menu Opzioni. Se non viene selezionata alcuna lingua specifica verrà usata quella predefinita. La lingua predefinita può essere impostata con la risorsa `Dtlogin*language
` in `Xconfig`. Ad esempio:

    Dtlogin*language: Ja_JP

Per determinare quali lingue sono installate sul sistema in uso, vedere la documentazione del sistema.

#### Per cambiare il menu Lingua dello schermo di login

Nell'impostazione predefinita, il server di login crea il menu Lingua includendo tutte le versioni locali installate sul sistema. Quando l'utente seleziona una lingua, il server di login ripresenta lo schermo di login in quella lingua. La sessione del desktop verrà quindi avviata nella lingua selezionata.

È possibile specificare l'elenco delle lingue disponibili modificando la risorsa `Dtlogin*languageList` in `Xconfig`. Ad esempio:

    Dtlogin*languageList: En_US De_DE

Con l'impostazione riportata in questo esempio, il server di login creerà un menu Lingua contenente solo le opzioni `En_US` e `De_DE`.

### Esecuzione di un comando prima della comparsa dello schermo di login

Dopo l'avvio del server X ma prima della comparsa dello schermo di login, il server di login esegue lo script `Xsetup`.
Questo script richiede le autorizzazioni di superutente ed esegue i comandi che devono essere completati prima della visualizzazione dello schermo di login.

Per modificare `Xsetup`, copiare il file da `/usr/dt/config` in `/etc/dt/config` `.` La versione modificata di `Xsetup` verrà usata al login successivo.

#### Esecuzione di un comando prima dell'avvio della sessione utente

Dopo l'inserimento e l'autenticazione del nome utente e della parola chiave, ma prima dell'avvio della sessione utente, il server di login esegue lo script `Xstartup`. `Xstartup
` richiede le autorizzazioni di superutente ed esegue i comandi che devono essere completati prima dell'avvio della sessione utente.

Per modificare `Xstartup`, copiare il file da `/usr/dt/config` in `/etc/dt/config`. La versione modificata di `Xstartup` verrà usata al login successivo.

#### Avvio di una sessione del desktop

Nell'impostazione predefinita, il server di login avvia la sessione dell'utente eseguendo lo script `Xsession`. `Xsession
` richiede le autorizzazioni dell'utente ed esegue i comandi necessari per l'avvio del desktop.

Non aggiornare mai direttamente lo script `Xsession`.

Per informazioni su come personalizzare l'avvio delle sessioni del desktop di un utente, vedere il sag.sesmg.mkr.1..

### Avvio di una sessione protetta

Selezionando “Sessione a finestra singola” dal menu secondario Sessioni del menu Opzioni dello schermo di login, il server di login esegue lo script `Xfailsafe
`. `Xfailsafe` richiede le autorizzazioni dell'utente ed esegue i comandi necessari per l'avvio di un ambiente a finestre base, costituito in genere da un Terminale e talvolta da un gestore di finestre.

Per modificare `Xfailsafe`, copiare il file da `/usr/dt/config` in `/etc/dt/config`. La versione modificata di `Xfailsafe` verrà eseguita al login successivo dell'utente.

### Al termine della sessione utente

Quando l'utente esce da una sessione normale o protetta del desktop, il server di login esegue lo script `Xreset`. `Xreset`
richiede le autorizzazioni di superutente ed esegue i comandi necessari dopo la fine della sessione utente.

Per modificare `Xreset`, copiare il file da `/usr/dt/config` in `/etc/dt/config`. La versione modificata di `Xreset` verrà eseguita al login successivo.

### L'ambiente del server di login

Il server di login crea un ambiente che viene poi esportato negli script `Xsetup`, `Xstartup`, `Xsession`, `Xfailsafe` e `Xreset`. Questo ambiente viene descritto nella sag.logmg.mkr.12. Il server di login potrà esportare anche altre variabili oltre a quelle elencate.

### Ambiente del server di login

`Variabile d'ambiente` | `Xsetup` | `Xstartup` | `Xsession` | `Xreset` | `Descrizione`
`LANG` | X | X | X | X | Lingua predefinita o selezionata
`XAUTHORITY` | X | X | X | X | File alternativo per le autorizzazioni X (opzionale)
`PATH` | X | X | X | X | Valore della risorsa `Dtlogin*userPath` (`Xsession`, `Xfailsafe`) o `Dtlogin*systemPath` (`Xsetup`, `Xstartup`, `Xreset`)
`DISPLAY` | X | X | X | X | Numero di connessione del server X
`SHELL` | X | X | X | X | Shell specificata in `/etc/passwd` (`Xsession`, `Xfailsafe`) o risorsa `Dtlogin*systemShell` (`Xsetup`, `Xstartup`, `Xreset`)
`TZ` | X | X | X | X | Valore della risorsa `Dtlogin.timeZone` o fuso orario determinato dal sistema
`USER` |  | X | X | X | Nome dell'utente
`HOME` |  | X | X | X | Directory iniziale specificata in `/etc/passwd`
`LOGNAME` |  | X | X | X | Nome dell'utente

### Modifica del percorso dell'utente o del sistema

Il server di login imposta la variabile d'ambiente PATH
durante l'esecuzione degli script `
Xsession` e `
Xfailsafe`. Ogni utente ha la possibilità di specificare un percorso alternativo per questi script.

#### Per modificare il percorso dell'utente

- Impostare la risorsa `Dtlogin*
  userPath` in `Xconfig.` Ad esempio:

    Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11

#### Per modificare il percorso di sistema

- Impostare la risorsa `Dtlogin*
  systemPath` in `Xconfig`. Ad esempio:

    Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb

### Per cambiare la shell di sistema

Il server di login imposta la variabile d'ambiente SHELL durante l'esecuzione degli script `Xsetup`, `Xstartup` e `X
failsafe`. L'impostazione predefinita è `/bin/sh`, che tuttavia può essere modificata cambiando la risorsa `Dtlogin*systemShell` in `Xconfig`. Ad esempio:

    Dtlogin*systemShell: /bin/ksh

### Per cambiare il fuso orario

Il server di login imposta la variabile d'ambiente TZ
durante l'esecuzione degli script `Xsetup`, `Xstartup`, `Xsession`, `Xfailsafe` e `Xreset`. Il valore predefinito viene ricavato dal sistema, perciò di norma non è necessario modificare
il valore acquisito. Per impostare un fuso orario differente per questi script, modificare la risorsa `Dtlogin.timeZone` in `Xconfig`. Ad esempio:

    Dtlogin.timeZone: CST6CDT

## Amministrazione della Gestione del login

All'avvio del server di login viene attivato un unico processo `dtlogin`. Il processo `dtlogin` legge il file `Xconfig` per determinare la configurazione iniziale del server di login e localizzare gli altri file di configurazione disponibili. Il server di login legge quindi il file `Xservers` per determinare se la presenza o meno di display da gestire in modo esplicito, e legge il file `Xaccess` per controllare l'accesso al server di login.

Se nel file `Xservers
` è specificato che il server di login deve gestire un display locale, esso avvierà un server X in base alle informazioni specificate in `Xservers` e quindi visualizzerà uno schermo di login su quel video.

Se nel file `Xservers` è specificato che il server di login deve gestire un video di rete, esso presumerà che il server X richiesto sia già in esecuzione con il nome del video specificato e visualizzerà uno schermo di login su quel video.

Il server di login attenderà quindi le richieste XDMCP dei client della rete.

Il server di login crea un nuovo processo `dtlogin` per ogni video da gestire. Questo significa che, se il server di login gestisce un numero n di video, il numero dei processi `dtlogin` sarà pari a n+1. Il server di login eseguirà lo script `Xsetup`, caricherà il file `Xresources` e quindi eseguirà `dtgreet` per visualizzare lo schermo di login. Dopo l'inserimento e l'autenticazione del nome utente e della password, il server di login eseguirà lo script `Xstartup` e quindi lo script `Xsession` o `Xfailsafe
`. Al termine della sessione eseguirà lo script `Xreset`.

Se il server di login riceve una richiesta
XDMCP indiretta, esso esegue `dtchooser` per presentare un elenco degli host disponibili come server di login per il video richiedente. La gestione del video verrà quindi affidata all'host selezionato dall'utente.

Per leggere i file di configurazione `Xaccess`, `Xconfig`, `Xfailsafe`, `Xreset`, lingua`/Xresources`, `Xservers`, Xsetup e Xstartup, il server di login cercherà inizialmente in `/etc/dt/config`, quindi in `/usr/dt/config`, e utilizzerà il primo file localizzato.

## File della Gestione del login

Nell'impostazione predefinita, i file della Gestione del login si trovano nelle seguenti posizioni
:

`/usr/dt/bin/dtlogin` | Avvia il server di login e la gestione dei video
`/usr/dt/bin/dtgreet` | Visualizza uno schermo di login per un video
`/usr/dt/bin/dtchooser` | Visualizza una videata di selezione per un video
`/usr/dt/bin/Xsession` | Avvia una sessione del desktop
`/usr/dt/config/Xfailsafe` | Avvia una sessione protetta
`/usr/dt/config/Xconfig` | File di configurazione del server di login
`/usr/dt/config/Xservers` | File di descrizione dei video del server di login
`/usr/dt/config/Xaccess` | File di descrizione degli accessi del server di login
`/usr/dt/config/`lingua`/Xresources` | Risorse per l'impostazione della visualizzazione
`/usr/dt/config/Xsetup` | File di configurazione della visualizzazione
`/usr/dt/config/Xstartup` | File di avvio pre-sessione
`/usr/dt/config/Xreset` | File di ripristino post-sessione
`/var/dt/Xpid` | ID del processo del server di login
`/var/dt/Xerrors` | File di log degli errori del server di login