[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume] [parte]
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.
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, deve 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.
|
Quello che si vede sopra è il contenuto ipotetico di un file ~/.Xsession
predisposto per l'avvio del gestore di finestre Twm.
Il programma tipico che offre le funzionalità di un display manager, è in grado di fornire anche un accesso attraverso la rete, con il protocollo XDMCP (X display manager control protocol), che utilizza la porta 177. Quello che segue è un estratto dal file /etc/services
:
|
In pratica, un elaboratore remoto deve avviare un proprio servente grafico, con il quale si collega al programma presso l'elaboratore che offre il servizio XDMCP. Il programma richiede l'autenticazione e da quel momento inizia una sessione grafica che riguarda l'elaboratore che offre il servizio, anche se viene gestita materialmente dallo schermo dell'elaboratore remoto.
Per collegarsi a un servizio XDMCP, ammesso che accetti effettivamente richieste di questo tipo, si può provare presso un elaboratore da usare come terminale un comando come quello seguente:
$
xinit -- -query 172.21.77.253
[Invio]
Oppure, direttamente così:
$
/usr/bin/X11/X vt7 -dpi 100 -query 172.21.77.253
[Invio]
In tal caso, l'indirizzo IPv4 172.21.77.253 è proprio quello dell'elaboratore che offre il servizio XDMCP.
|
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.
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
).
|
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.
|
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.
Il file di configurazione /etc/X11/xdm/xdm-config
contiene l'elenco degli altri file utilizzati e di altre opzioni:
|
Nell'esempio merita molta attenzione l'ultima direttiva: la sua presenza fa sì che venga a mancare il servizio XDMCP, pertanto i tentativi di collegamento verrebbero rifiutati. Per attivare il servizio, occorre commentare, o eliminare la direttiva:
|
Secondo l'esempio mostrato, il file /etc/X11/xdm/Xservers
permette di controllare l'avvio locale del servizio di autenticazione grafica. L'esempio seguente apre una sola sessione che deve collocarsi nella settima console virtuale:
|
Per avere due sessioni, una nella settima console, l'altra nell'ottava:
|
Naturalmente, Xdm può servire anche solo per le connessioni remote, attraverso la rete, pertanto si può benissimo disattivare l'accesso locale, commentando le direttive di questo file.
Nella configurazione di Xdm c'è un altro file importante da considerare, che secondo la configurazione già vista è /etc/X11/xdm/Xaccess
. Questo file serve a delimitare l'accessibilità del servizio XDMCP offerto. La direttiva dell'esempio seguente abilita l'accesso a qualunque indirizzo:
|
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:
|
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, viene avviato l'eseguibile gnome-session, che a sua volta controlla un gestore di finestre, in base alla configurazione.
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
).
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 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>
1) X MIT più altre licenze per porzioni particolari di codice
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.htm
[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]