L'X Display Manager (XDM) è una parte opzionale dell'X Windows System che è usata per la gestione delle sessioni di login. Questo è utile in molte situazioni, inclusi desktop “X Terminal ” minimali, e grandi reti di display server. Dato che l'X Window System è indipendente dalla rete e dal protocollo, c'è una grande moltitudine di configurazioni possibili per eseguire client X e server X su diverse macchine connesse da una rete. XDM fornisce un'interfaccia grafica per scegliere a quale display manager collegarsi, e digitare le informazioni di autenticazione come una combinazione di login e password.
Puoi pensare a XDM come a qualcosa che fornisce all'utente la stessa funzionalità dell'utility getty(8) (vedi ad esempio Sezione 24.3.2 per dettagli). In poche parole, gestisce login di sistema al display al quale si è collegati e quindi esegue un session manager per conto dell'utente (di solito un X Window Manager). XDM quindi attende che questo programma termini, segnalando che l'utente ha finito e che dovrebbe essere mandato fuori dal display. A questo punto XDM può mostrare lo schermo di login e di scelta degli schermi per il prossimo utente.
Il programma demone è situato in /usr/local/bin/xdm. Questo programma può essere avviato in ogni istante come root e inizierà a gestire il display X sulla macchina locale. Se XDM deve essere eseguito ogni volta che la macchina fa il boot, un modo conveniente è quello di farlo aggiungendo una entry a /etc/ttys. Per maggiori informazioni sul formato e l'uso di questo file, consulta Sezione 24.3.2.1. C'è una linea nel file di default /etc/ttys per eseguire il demone XDM su un terminale virtuale:
ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure
Di default questa entry è disabilitata; al fine di abilitarla cambia il campo 5 da off ad on e riavvia init(8) usando le direttive in Sezione 24.3.2.2. Il primo campo, il nome del terminale che questo programma gestirà, è ttyv8. Questo significa che XDM si avvierà sul nono terminale virtuale.
La directory di configurazione di XDM è situata in /usr/local/lib/X11/xdm. In questa directory ci sono molti file usati per cambiare il comportamento e l'aspetto di XDM. Tipicamente in questi file sarà trovato:
File | Descrizione |
---|---|
Xaccess | Regole di autorizzazione del client. |
Xresources | Valori di default delle risorse X. |
Xservers | Lista dei display locali e remoti da gestire. |
Xsession | Script di default delle sessioni di login. |
Xsetup_* | Script per lanciare applicazioni prima dell'interfaccia di login. |
xdm-config | Configurazione globale per tutti i display che girano su questa macchina. |
xdm-errors | Errori generati dal programma server. |
xdm-pid | L'id di processo dell'XDM che è in esecuzione al momento. |
In questa directory ci sono anche alcuni scripts e programmi usati per impostare il desktop quando XDM è in esecuzione. Lo scopo di ognuno di questi file sarà descritto brevemente. La sintassi esatta e l'uso di tutti questi file è descritto in xdm(1).
La configurazione di default è una semplice finestra di login rettangolare con l'hostname della macchina mostrato in cima a grandi caratteri e sotto un prompt di “Login:” e “Password:”. Questo è un buon punto di inizio per cambiare l'aspetto degli schermi XDM.
Il protocollo per connettersi ai display controllati da XDM è chiamato l'X Display Manager Connection Protocol (XDMCP). Questo file è un insieme di regole per controllare le connessioni XDMCP da remoto. È ignorato a meno che xdm-config sia cambiato per restare in ascolto di connessioni remote. Di default non permette a nessun client di connettersi.
Questa è un file di default dell'applicazione per il selettore di display e schermate di login. In questo, l'apparenza del programma di login può essere modificata. Il formato è identico al file app-default descritto nella documentazione di X11.
Questo è una lista dei display remoti che il programma di selezione dovrebbe fornire come scelta.
Questo è lo script di default delle sessioni per XDM da eseguire dopo che un utente si è loggato. Normalmente ogni utente avrà uno script di sessione personalizzato in ~/.xsession che sovrascriverà questo script.
Questi andranno automaticamente in esecuzione prima di mostrare il selettore o le interfacce di login. C'è uno script per ogni display in uso, chiamato Xsetup_ seguito dal numero del display locale (per esempio Xsetup_0). Tipicamente questi script eseguirannno uno o due programmi in background come xconsole.
Questo contiene le impostazioni nella forma di default di applicazioni che sono applicabili ad ogni display che questa installazione gestisce.
Questo contiene l'output di ogni X server che XDM cerca di eseguire. Se un display che XDM gestisce si blocca per qualche motivo, questo è un buon posto per cercare messaggi di errore. Questi stessi messaggi sono anche scritti nel file dell'utente ~/.xsession-errors in base alla sessione.
Affinchè gli altri clienti si connettano al server di display, devi editare le regole di controllo degli accessi ed abilitare il processo in ascolto di connessioni. Di default queste sono impostate a valori conservativi. Per far sì che XDM resti in ascolto in attesa di connessioni, per prima cosa decommenta una linea nel file xdm-config:
! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0
e poi riavvia XDM. Ricordati che i commenti nei file app-default iniziano con un carattere “!”, non con l'usuale “#”. Possono essere desiderabili controlli degli acccessi più stretti — guarda le entry di esempio in Xaccess, e fai riferimento alla pagina di manuale di xdm(1) per ulteriori informazioni.
Ci sono molti programmi sostitutivi per il classico programma XDM. Uno di questi, kdm (distribuito con KDE) viene descritto successivamente in questo capitolo. Il display manager kdm offre molti miglioramenti visuali e rifiniture grafiche, come anche la possibilità di permettere agli utenti di scegliere il loro window manager al momento del login.
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Per domande su FreeBSD, leggi la documentazione prima di contattare <[email protected]>.
Per domande su questa documentazione, invia una e-mail a <[email protected]>.