Translation(s): English - Italiano


Nel sistema X Window un display manager esegue un programma che permette l'avvio di una sessione di un server X dallo stesso computer o da uno remoto. Nel modello generale del sistema X Window, il server è in esecuzione sul computer che fornisce il display e i dispositivi di input. Il server può iniziare una sessione autonomamento o può connettersi ad un display manager richiedendo ad esso di iniziare la sessione. Nel secondo caso, il server X agisce come un client telnet grafico mentre il display manager si comporta come un server telnet: gli utenti avviano i programmi dal computer su cui è in esecuzione il display manager, mentre l'input e l'output dei programmi occorrono sul computer dove è presente il server (e l'utente).

Nel sistema X Window, il server X è eseguito nel computer davanti all'utente; esso può connettersi ad un display manager in esecuzione su un altro computer, avviando una sessione che può comprendere una varietà di programmi in esecuzione su questo altro computer.

Quando un server X si connette ad un display manager, quest'ultimo presenta all'utente una schermata di login in cui inserire il proprio nome utente e la propria password. Il display manager può essere in esecuzione sullo stesso computer del server X, realizzando perciò nel sistema X Window le funzionalità di init, getty e login nei terminali a caratteri.

Il rilascio di X11, versione 3 ha introdotto i display manager nell'ottobre del 1988 allo scopo di supportare i terminali X autonomi che solo allora si stavano affacciando sul mercato. Diversi display manager continuano nell'uso comune a fornire un prompt di login grafico su postazioni autonome con X. X11R4 ha introdotto l'XDMCP, nel dicembre 1989, per risolvere i problemi nella implementazione di X11R3.

Come funziona

I display manager per X vengono eseguiti su computer in rete ed accettano le richieste in entrata; la rete può essere costituita da un solo computer con un'interfaccia loopback e nessun effettivo hardware di rete. Gli amministratori di sistema possono configurare un display manager in modo che avvi un server X locale. In questo caso, i parametri che vengono passati al server X fanno sì che esso inizi una richiesta al display manager locale. Visivamente l'utente di un sistema di questo tipo può vedere il server X che si avvia e il display manager che mostra un widget per il login grafico sullo schermo. Una sessione inizia quando l'utente inserisce con successo una combinazione valida di nome utente e password.

Quando il server X è eseguito da remoto, e in particolare quando è eseguito in un terminale, un amministratore può configurare il computer o il terminale dell'utente per connettersi o ad uno specifico display manager o per mostrare un elenco degli host disponibili con in esecuzione possibili display manager X. Un programma per scelta XDMCP permette all'utente di selezionare un host tra quelli a cui si può connettere il terminale:

  1. un elenco predefinito di host e dei loro rispettivi indirizzi di rete;
  2. un elenco di host (nella sottorete TCP/IP locale) che il server XDMCP ottiene a sua volta da un broadcast di rete.

Il server XDMCP spesso sarà esso stesso in questo elenco. Quando l'utente seleziona un host dall'elenco, il server X in esecuzione sulla macchina locale si connette al display manager X del computer remoto selezionato.

Quando la sessione termina, il display manager resetta il server X e, opzionalmente, riavvia tutto il ciclo.

Protocollo XDMCP

XDMCP (X Display Manager Control Protocol) usa la porta UDP 177. Un server X richiede che una sessione venga avviata su di essa inviando un pacchetto Query al display manager. Se il display manager garantisce a quel server X il permesso di accesso, risponde inviando un pacchetto Willing alla fonte della richiesta. Per avviare una sessione il server X può anche inviare pacchetti broadcast-query o indirect-query.

Il protocollo include una forma di autenticazione. A livello di protocollo, il display manager deve autenticarsi con il server. In particolare il server X invia un pacchetto Request al display manager che risponde con un pacchetto Accept contenente un altro blocco di dati. Il principio è che il display manager può produrre il secondo blocco di dati a partire dal primo solo se è in grado di essere autenticato (per esempio, se ha accesso ad una chiave segreta).

Se l'autenticazione ha successo, il server X invia un pacchetto Manage per informare il display manager. Da questo punto in avanti l'interazione tra il server ed il display manager segue il protocollo X Window. In particolare, viene stabilita una connessione tra il display manager ed il server X ed il display manager esegue un programma per chiedere all'utente un nome utente ed una password, ecc.

Varianti dei produttori

Molti produttori di display manager X hanno seguito strade considerevolmente diverse. Per esmpio, SCO Open Desktop ha usato scologin per controllare la sessione X, ma anche per controllare password scadute e per effettuare alcuni compiti amministrativi.

Storia

XDM (X Window Display Manager) è nato con X11R3. Questa versione era afflitta da svariati problemi, in particolare quando gli utenti accendevano e spegnevano i terminali X. In X11R3, XDM veniva a conoscenza di un terminale X solamente grazie alla presenza di una voce corrispondente nel file Xservers, ma XDM consultava questo file solo all'avvio. Perciò ogni volta che un utente accendeva o spengeva un terminale, l'amministratore doveva inviare un segnale SIGHUP a XDM per far sì che esso rianalizzasse il file Xservers.

XDMCP è stato introdotto con l'arrivo di X11R4 (dicembre 1989). Con XDMCP, il server X deve richiedere attivamente all'host una connessione al display manager. Pertanto per un server X che usa XDMCP non è più necessario essere elencato in Xservers.

Display manager X

Nota Bene: i display manager X forniscono x-display-manager (si veda la politica ufficiale Debian per i pacchetti virtuali).

Selezionare il display manager predefinito

Se sono installati più display manager, si può selezionare quello da lanciare all'avvio usando dpkg-reconfigure <pacchetto-del-display-manager> (es. dpkg-reconfigure gdm). Dpkg permette di selezionare il display manager predefinito tra quelli installati.

Ulteriori informazioni

Collegamenti esterni