Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Gestione dei display locali e di rete

La Figura 1-1 mostra una possibile configurazione del server di login.

Figura 1–1 Possibile configurazione del server di login

Graphic

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 in /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/mioserver/Dtpid, modificare come segue il file Xconfig:

Dtlogin.pidFile: /var/mioserver/Dtpid

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

Visualizzazione di una videata di login su un display 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 le videate di login sui monitor locali e di rete.

Per modificare il file Xservers, copiarlo 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_display  classe_display  tipo_display  comando_server_X 

dove

nome_display indica al server di login il nome da usare per la connessione al server X (:0 nell'esempio seguente). Il valore * (asterisco) equivale a nome_host:0. Il numero specificato deve corrispondere al numero di connessione del comando_server_X.

classe_display identifica le risorse specifiche del display (Local nell'esempio seguente).

tipo_display indica al server di login se il display è locale o in rete, e specifica come gestire l'opzione “Login dalla riga di comando” nella videata di login (local@console nell'esempio seguente).

comando_server_X identifica la riga di comando, il numero di connessione e altre opzioni che il server di login utilizzerà per avviare il server X (/usr/bin/X11/X: 0 nell'esempio seguente). Il numero di connessione deve corrispondere al numero specificato in nome_display.

La riga predefinita di Xservers ha la forma seguente:

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

Avvio del server di login senza un display locale

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

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

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

Accesso al login della riga di comando su un display locale

Scegliendo l'opzione “Login dalla riga di comando” dalla videata di login, il server di login arresta temporaneamente il server delle finestre X e consente di eseguire il login in forma tradizionale sul display 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.


Nota –

L'opzione “Login dalla riga di comando” non è disponibile sui display collegati via rete.


Il comportamento del “Login dalla riga di comando” dipende dal tipo_display. Il formato di tipo_display è il seguente:

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

Per disabilitare l'opzione “Login dalla riga di comando” su un display, specificare none come display_terminale. Il display_terminale predefinito è console. Specificando local, il valore di display_terminale viene impostato automaticamente su console. Specificando foreign, l'opzione “Login dalla riga di comando” viene disabilitata.


Nota –

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


Abilitazione di una console di visualizzazione a caratteri

Se il sistema utilizzato come server di login è collegato direttamente a un display a caratteri utilizzato come console, si potrà impostare il display_terminale su none per disabilitare l'opzione “Login dalla riga di comando” nella videata di login del display a mappa di bit.

In alternativa, se sia la console a caratteri che il display a mappa di bit utilizzano un login dalla riga di comando (getty), è possibile impostare il display_terminale sul dispositivo usato per il login (getty) sul display a mappa di bit.

Ad esempio, se il login dalla riga di comando (getty) eseguito sul display a mappa di bit si trova sul dispositivo /dev/tty01, cambiare il tipo_display in local@tty01.

Visualizzazione di una videata di login su un display di rete

Il server di login può visualizzare una videata di login su qualsiasi display della rete che la richieda, si tratti di un terminale X o di una workstation.

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

Richieste XDMCP dirette

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à una videata 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 della videata di login. Ad esempio, avviando il server X su un display a mappa di bit di una workstation di nome bianca, il server di login anita visualizzerà una videata di login sul server X:

X -query anita

Richieste XDMCP indirette

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 la videata 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, i server X supportano l'opzione -indirect, con la quale il server X contatta il server di login in modalità XDMCP indiretta.

Gestione dei display 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 la videata di login su un terminale di questo tipo, includere il nome del terminale nel file Xservers.

Poiché il display fa parte della rete, il nome_display include anche il nome dell'host. La classe_display 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_display foreign indica al server di login di collegarsi a un server X esistente anziché avviarne uno nuovo. In questo caso non è specificato alcun comando_server_X.

Esempio

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

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

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 una videata 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 far rileggere Xaccess al server di login digitando:

/usr/dt/bin/dtconfig -reset

Questa operazione genera il comando 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 e può includere 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
 *.div5.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 div5.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
 *.div5.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 div5.globo.com, mentre l'ultima riga disabilita l'accesso da qualsiasi altro host.

La stringa CHOOSER può essere seguita da:

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. Questo elenco verrà usato dal server di login per determinare quali host siano disponibili. Ad esempio:

adamo.globo.com   CHOOSER saturno.globo.com luna.globo.com
 *.div5.globo.com  CHOOSER BROADCAST
 !*		CHOOSER BROADCAST

Collegandosi al server con XDMCP in modo indiretto, adamo.globo.com riceverà un elenco di host contenente saturno e luna, mentre alice.div5.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 un elenco di host consiste nel definire una o più macro contenenti quell'elenco. Ad esempio:

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