[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 98.   X: login grafico

X può essere avviato automaticamente, attraverso un sistema di autenticazione grafico, noto come display manager. In generale si tratta di un demone che viene configurato in modo da utilizzare una o più stazioni grafiche, locali o remote. Naturalmente, la configurazione predefinita di un sistema del genere, dovrebbe riguardare esclusivamente una sola stazione grafica locale.

È bene sottolineare che, quando si tratta di una sola stazione grafica locale, non c'è alcun bisogno di un sistema del genere e il buon vecchio script startx rimane la cosa migliore per avviare X, evitando in tal modo la presenza di un demone inutile nell'elenco dei processi elaborativi.

98.1   Configurazione

Nel momento in cui ci si inserisce un sistema grafico per l'autenticazione, prima dell'avvio di X, cambiano le dipendenze che ci sono tra i file di configurazione (script o porzioni di script). Pertanto, una configurazione personalizzata attraverso la modifica del file ~/.xinitrc, può rivelarsi inutile.

L'impostazione scelta da questa o quella distribuzione GNU può essere diversa e bisogna vedere i file di configurazione del sistema di autenticazione per sapere cosa succede veramente. Alcune distribuzioni GNU usano in particolare gli script /etc/X11/Xsession e ~/.Xsession (o ~/.xsession), rispettivamente per la configurazione globale e quella personalizzata di ogni utente. In questo modo, un utente che prima inseriva nel file ~/.xinitrc le istruzioni per l'avvio del proprio gestore di finestre preferito, dovrà usare invece il file ~/.Xsession per questo, ma nello stesso modo di prima.

Diversamente, in mancanza della configurazione corretta per l'avvio del gestore di finestre o di altro sistema del genere, dopo la fase di autenticazione, si avvia il solito servente X con un terminale e nulla altro.

#!/bin/sh
xsetroot -solid gray
xclock -digital -geometry +0-0 &
xbiff -geometry -0-0 &
exec twm

Quello che si vede sopra è il contenuto ipotetico di un file ~/.Xsession predisposto per l'avvio del gestore di finestre Twm.

98.2   Avvio

Trattandosi di un sistema di autenticazione, il programma che se ne occupa potrebbe essere avviato tramite un record appropriato nel file /etc/inittab, ma in generale si preferisce l'avvio di un demone attraverso la procedura di inizializzazione del sistema.

98.3   Xdm

Xdm (1) è il sistema di autenticazione grafica tradizionale di X, incluso anche in XFree86. In condizioni normali, i file e gli script di configurazione che lo riguardano, dovrebbero trovarsi nella directory /etc/X11/xdm/.

La configurazione predefinita dovrebbe prevedere l'apertura di una sola sessione grafica locale, escludendo l'accesso remoto.

L'avvio del demone xdm, che si occupa di controllare l'accesso e l'avvio di X, dovrebbe essere gestito da uno script della procedura di inizializzazione del sistema; per esempio /etc/init.d/xdm, o altro simile. Tuttavia, anche avviando direttamente l'eseguibile xdm, si ottiene il risultato (naturalmente lo si deve fare con i privilegi dell'utente root).

Una volta superata la fase di autenticazione in modo corretto, inizia una sessione, controllata dallo script /etc/X11/xdm/Xsession. Al termine di questo script termina la sessione e ritorna la richiesta di autenticazione per quella stazione grafica. In condizioni normali, questo script dovrebbe richiamare un altro script usato anche per altri sistemi del genere (per esempio /etc/X11/Xsession), che a sua volta dovrebbe occuparsi di avviare lo script personalizzato dell'utente (~/.Xsession o ~/.xsession).

init-+
     |
    ...
     `-xdm-+-XFree86
           `-xdm

Quello che si vede sopra è l'interdipendenza tra i processi nel momento in cui il sistema di autenticazione attende che l'utente si presenti. Si può vedere che è necessaria la presenza del servente X e in particolare si può poi osservare che tutto funziona con i privilegi dell'utente root.

init-+
     |
    ...
     `-xdm-+-XFree86
           `-xdm---twm

Nel momento in cui si supera la fase dell'autenticazione, vengono avviati i processi richiesti dallo script /etc/X11/xdm/Xsession e dagli altri che questo richiama (per esempio ~/.Xsession). In questo caso, come si vede nel riquadro precedente, si tratta del gestore di finestre Twm. Naturalmente, i processi avviati a partire dallo script /etc/X11/xdm/Xsession hanno i privilegi dell'utente che esegue l'autenticazione.

98.4   Gdm

Gdm (2) è un altro sistema di autenticazione grafica conforme al gestore di sessione Gnome. Il principio di funzionamento è lo stesso di Xdm, dove in particolare è possibile scegliere di avviare sessioni differenti, che fanno riferimento a script diversi.

La configurazione e gli script di Gdm si trovano a partire dalla directory /etc/X11/gdm/; in particolare, gli script che consentono di selezionare delle sessioni diverse si trovano nella directory /etc/X11/gdm/Sessions/. Uno di questi dovrebbe fare riferimento allo script /etc/X11/Xsession, il quale a sua volta si prende cura di avviare anche lo script personalizzato dell'utente (~/.Xsession o simile).

Una volta completata la fase di autenticazione, la dipendenza dei processi attivi potrebbe presentarsi in questo modo:

init-+
     |
    ...
     `-gdm---gdm-+-XFree86
                 `-twm-+-ssh-agent
                       `-xclock

Per la precisione, i processi avviati dagli script di sessione si trovano ad avere i privilegi dell'utente che si è autenticato, mentre il resto funziona con i privilegi dell'utente root.

Gdm è realizzato particolarmente per essere usato con il gestore di sessione Gnome; in tal caso, al posto di un gestore di finestre, risulterà avviato l'eseguibile gnome-session, che a sua volta controlla un gestore di finestre, in base alla configurazione.

In condizioni particolari, Gdm si rifiuta di avviare la richiesta di autenticazione; ciò, in particolare, se manca la possibilità di verificare la presenza di un elaboratore corrispondente al nome restituito da hostname. Per esempio, l'indicazione corretta del nome, senza il dominio di appartenenza e senza una direttiva search appropriata nel file /etc/resolv.conf, può provocare questo tipo di problema.

98.5   Kdm

Kdm (3) è un altro sistema simile a Xdm, con l'aggiunta della possibilità di selezionare delle sessioni differenti, come avviene per Gdm. La sua origine richiama il gestore di sessione KDE e i suoi file di configurazione potrebbero risiedere in /etc/kde2/kdm/, oppure in /etc/X11/kdm/. A ogni modo, la struttura di questi file e di questi script è molto simile a quella usata da Xdm; anche in questo caso, il file kdm/Xsession dovrebbe rimandare allo script standard /etc/X11/Xsession, il quale a sua volta dovrebbe utilizzare lo script personale degli utenti (~/.Xsession o ~/.xsession).

98.6   Wdm

Wdm (4) è un lavoro derivato da Xdm, i cui file di configurazione e gli script principali si collocano normalmente nella directory /etc/X11/wdm/. Anche in questo caso è disponibile la possibilità di avviare sessioni differenti.

Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

1) XFree86   software libero soggetto a diverse licenze a seconda della porzione di codice coinvolta

2) Gdm   GNU GPL

3) KDE   GNU GPL, GNU LGPL e altre licenze a seconda della porzione di codice

4) Wdm   GNU GPL con l'aggiunta della licenza specifica di Xdm


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome x_login_grafico.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]