Vista general

2.1. Introducció

El gestor de pantalla del GNOME (GDM) és un gestor de pantalla que implementa totes les funcions destacades que fan falta per gestionar pantalles locals i remotes. El GDM es va escriure des de zero i no conté cap codi de l'XDM o de l'X Consortium.

Tingueu en compte que el GDM es pot configurar i que molts paràmetres de configuració poden afectar a la seguretat. En aquest document es ressalten els temes en que s'ha de vigilar.

Tingueu en compte que alguns sistemes operatius configuren el GDM per comportar-se de forma diferent als valors per defecte que es descriuen en aquest document. Si el GDM no sembla que es comporta com s'explica aquí, comproveu si alguna configuració relacionada és diferent a la descrita aquí.

Per obtenir més informació sobre el GDM, consulteu el lloc web del projecte a http://www.gnome.org/projects/gdm i al Wiki del projecte http://live.gnome.org/GDM.

Per a qüestions o consultes sobre el GDM, consulteu la llista de correu

. Aquesta llista s'arxiva i és un bon recurs a comprovar per trobar respostes a les preguntes freqüents. Els arxius de la llista es troben a http://mail.gnome.org/archives/gdm-list/ i té una utilitat de cerca per cercar missatges amb paraules clau.

Envieu qualsevol informe d'error o sol·licituds de millora a la categoria «gdm» al http://bugzilla.gnome.org.

2.2. Estabilitat de la interfície

El GDM 2.20 i les versions anteriors admetien configuracions d'interfície estables. Tot i així, es va reescriure el codi totalment pel GDM 2.22 i no és del tot compatible amb les versions anteriors. Això és en part perquè ara funciona una mica diferent, de manera que algunes opcions no tenen cap sentit, entre d'altres coses perquè algunes opcions mai van tenir sentit i també perquè algunes funcions encara no s'han tornat a implementar.

Les interfícies que encara són compatibles de manera estable inclouen els scripts Init, PreSession, PostSession, PostLogin i Xsession. Algunes opcions de configuració del dimoni en el fitxer <etc>/gdm/custom.conf encara són compatibles. També encara són compatibles el ~/.dmrc i les ubicacions del navegador d'imatges.

El GDM 2.20 i les versions anteriors permetien gestionar diverses pantalles amb diferents targetes gràfiques, com s'utilitza en entorns de terminal de servidor, l'entrada dins d'una finestra mitjançant un programa com l'Xnest o el Xephyr, el programa gdmsetup, els temes de rebedor basats en XML i la capacitat d'executar el seleccionador XDMCP des de la pantalla d'entrada. Aquestes funcions no s'han tornat a afegir durant la reescriptura de la versió 2.22.

2.3. Descripció funcional

El GDM és el responsable de la gestió de les pantalles del sistema. Això inclou l'autenticació d'usuaris, l'inici de la sessió de l'usuari i la finalització d'aquesta. Les opcions de configuració del GDM estan descrites a la secció del document «Configuració del GDM». El GDM també és accessible per als usuaris amb discapacitats.

El GDM proporciona la capacitat de gestionar la consola principal de la pantalla i les pantalles executades mitjançant el VT. S'integra amb altres programes, com ara la miniaplicació del commutador d'usuari ràpid (FUSA) i l'estalvi de pantalla (gnome-screensaver) per gestionar diverses pantalles a la consola mitjançant la interfície del terminal virtual (VT) del servidor d'X. També pot gestionar pantalles XDMCP.

Independentment del tipus de pantalla, el GDM realitzarà el següent quan gestioni la pantalla: iniciarà un procés del servidor d'X, seguidament executarà l'script Init com a usuari primari i iniciarà el programa rebedor a la pantalla.

The greeter program is run as the unprivileged "gdm" user/group. This user and group are described in the "Security" section of this document. The main functions of the greeter program are to provide a mechanism for selecting an account for log in and to drive the dialogue between the user and system when authenticating that account. The authentication process is driven by Pluggable Authentication Modules (PAM). The PAM modules determine what prompts (if any) are shown to the user to authenticate. On the average system, the greeter program will request a username and password for authentication. However some systems may be configured to use supplemental mechanisms such as a fingerprint or SmartCard readers. GDM can be configured to support these alternatives in parallel with greeter login extensions and the --enable-split-authentication ./configure option, or one at a time via system PAM configuration.

The smartcard extension can be enabled or disabled via the org.gnome.display-manager.extensions.smartcard.active gsettings key.

Likewise, the fingerprint extension can be enabled or disabled via the org.gnome.display-manager.extensions.fingerprint.active gsettings key.

GDM and PAM can be configured to not require any input, which will cause GDM to automatically log in and simply start a session, which can be useful for some environments, such as single user systems or kiosks.

A més de l'autenticació, el rebedor permet a l'usuari seleccionar quina sessió vol iniciar i quin idioma vol utilitzar. Les sessions es defineixen amb fitxers que finalitzen amb el sufix .desktop i en podeu obtenir més informació a la secció «Configuració de la sessió d'usuari i l'idioma» d'aquest document. Per defecte, el GDM està configurat per mostrar un navegador de cares de manera que l'usuari pugui seleccionar el seu compte d'usuari fent clic a una imatge enlloc d'haver d'introduir el seu nom d'usuari. El GDM manté la informació de la sessió i de l'idioma per defecte de l'usuari en el fitxer ~/.dmrc i utilitzarà aquests valors si l'usuari no selecciona una sessió o idioma a la interfície gràfica d'usuari d'entrada.

Després d'autenticar un usuari, el dimoni executa primer l'script PostLogin i després l'script PreSession com a usuari primari. Després de l'execució d'aquests scripts, s'iniciarà la sessió de l'usuari. Quan l'usuari surti de la sessió, s'executarà l'script PostSession, de nou com a usuari primari. Aquests scripts estan pensats com a punts de personalització, tan per les distribucions com pels usuaris finals, per personalitzar com es gestionen les sessions. Per exemple, utilitzant aquests punts de personalització podeu fer que una màquina creï el directori d'usuari $HOME sota demanda i el suprimeixi en sortir. La diferència entre els scripts PostLogin i PreSession és que l'script PostLogin s'executa abans de cridar el mètode pam_open_session, de manera que és el moment ideal per fer qualsevol cosa que s'hauria d'executar abans d'iniciar la sessió d'usuari. L'script PreSession es crida després d'iniciar la sessió.

2.4. El quadre rebedor

El programa rebedor del GDM mostra un quadre acoblat a la part inferior de la pantalla que proporciona funcions addicionals. Quan es selecciona un usuari, el quadre permet seleccionar la sessió, l'idioma i la distribució del teclat que es vol utilitzar durant la sessió. El selector de la distribució del teclat també canvia la distribució del teclat quan s'introdueix la contrasenya. El quadre també conté una àrea on els serveis d'entrada poden deixar icones d'estat. Alguns exemples d'icones d'estat poden ser una icona de bateria amb la utilització actual de bateria i una icona per habilitar les funcions d'accessibilitat. El programa rebedor també proporciona botons que permeten a l'usuari aturar o tornar a iniciar el sistema. És possible configurar el GDM perquè no mostri els botons d'apagada i reinici. També es pot configurar mitjançant el PolicyKit (o mitjançant RBAC en Oracle Solaris) per sol·licitar que l'usuari tingui l'autorització necessària abans d'acceptar la sol·licitud d'apagada o reinici.

Note that keyboard layout features are only available on systems that support libxklavier.

2.5. Accessibilitat

El GDM admet l'«Entrada accessible», que permet als usuaris entrar a la sessió d'escriptori fins i tot si no poden utilitzar fàcilment la pantalla, el ratolí o el teclat de la manera habitual. Hi ha disponibles les funcions de la tecnologia assistiva (AT) com ara el teclat en pantalla, el lector de pantalla, l'ampliador de pantalla i l'accessibilitat del teclat del servidor d'X AccessX. Si és necessari, també és pot canviar el text per fer-lo més gran o mostrar icones i controls de contrast alt. Per a més informació sobre la configuració de les funcions d'accessibilitat, vegeu la secció «Configuració de l'accessibilitat» d'aquest document.

En alguns sistemes operatius és necessari assegurar-se que l'usuari del GDM és membre del grup «audio» per als programes de tecnologies assistives que utilitzen la sortida d'àudio (com ara el text-a-veu) per funcionar.

2.6. El navegador de cares del GDM

The Face Browser is the interface which allows users to select their username by clicking on an image. This feature can be enabled or disabled via the org.gnome.login-screen disable-user-list GSettings key and is on by default. When disabled, users must type their complete username by hand. When enabled, it displays all local users which are available for login on the system (all user accounts defined in the /etc/passwd file that have a valid shell and sufficiently high UID) and remote users that have recently logged in. The face browser in GDM 2.20 and earlier would attempt to display all remote users, which caused performance problems in large, enterprise deployments.

El navegador de cares està configurat per mostrar els usuaris que entren amb més freqüència a la part superior de la llista. D'aquesta manera es facilita que els usuaris que entrin sovint puguin trobar ràpidament la seva imatge d'entrada.

El navegador d'imatges admet la «cerca en teclejar» que canvia dinàmicament la selecció de cares mentre l'usuari introdueix el nom d'usuari corresponent a la llista. Això significa que un usuari amb un nom d'usuari llarg només haurà d'introduir els primers caràcters del nom d'usuari abans que l'element correcte de la llista estigui seleccionat.

Les icones utilitzades pel GDM es poden instal·lar globalment per l'administrador del sistema o es poden ubicar al directori d'usuari. Si s'instal·len globalment haurien d'estar al directori <share>/pixmaps/faces/ i el nom de fitxer hauria de ser el nom de l'usuari. Els fitxers d'imatge de cara haurien de ser una imatge estàndard que el GTK+ pugui llegir, com ara els formats PNG o JPEG. L'usuari del GDM ha de poder llegir les icones de cara ubicades al directori global de cares.

Si no hi ha cap icona global per l'usuari, el GDM cercarà el fitxer d'imatge al directori de l'usuari. El GDM primer cercarà la imatge de cara de l'usuari a ~/.face. Si no el troba, ho provarà a ~/.face.icon. Si encara no el troba, utilitzarà el valor definit per «face/picture=» al fitxer ~/.gnome2/gdm.

Si un usuari no ha definit cap imatge de cara, el GDM utilitzarà la icona «stock_person» definida en el tema actual del GTK+. Si no està definida, llavors s'utilitzarà una imatge de cara genèrica.

Tingueu en compte que la càrrega i l'escalat d'icones d'imatge ubicades a directoris d'usuari remots pot tardar molt. Com que no és pràctic carregar imatges mitjançant NIS o NFS, el GDM no intentarà carregar imatges de cara des de directoris d'usuari remots.

Quan el navegador està habilitat, es mostren els noms d'usuari vàlids de l'ordinador a tothom. Si l'XDMCP està habilitat, llavors els noms d'usuari es mostren a usuaris remots. Això, per suposat, limita la seguretat d'alguna manera ja que un usuari malintencionat no ha d'endevinar possibles noms d'usuari vàlids. En alguns entorns molt restrictius el navegador de cares pot no ser apropiat.

2.7. XDMCP

El dimoni del GDM es pot configurar per escoltar i gestionar les sol·licituds del X Display Manage Protocol (XDMCP) de les pantalles remotes. Per defecte la compatibilitat de l'XDMCP està inhabilitada, però es pot habilitar si es vol. Si el GDM està construït amb compatibilitat de l'embolcall TCP, llavors el dimoni només permetrà l'accés a amfitrions especificats a la secció de servei del GDM al fitxer de configuració de l'embolcall TCP.

El GDM inclou diverses mesures per fer-lo més resistent als atacs de denegació de servei al servei XDMCP. Molts dels paràmetres del protocol (temps d'espera de confirmació de connexió, etc.) es poden ajustar finament. La configuració estàndard hauria de funcionar bé en la majoria de sistemes.

Per defecte el GDM escolta les sol·licituds XDMCP al port UDP normal que s'utilitza per l'XDMCP, el port 177, i respondrà a les sol·licituds QUERY i BROADCAST_QUERY enviant un paquet WILLING a la font de la sol·licitud.

El GDM també es pot configurar perquè respecti les sol·licituds INDIRECT i mostri un seleccionador d'amfitrió a la pantalla remota. El GDM recordarà l'opció de l'usuari i reenviarà les següents sol·licituds al gestor seleccionat. El GDM també admet una extensió al protocol per oblidar el redireccionament un cop la connexió de l'usuari sigui satisfactòria. Aquesta extensió només és compatible si el dos dimonis són GDM. És transparent i l'ignorarà l'XDM o els altres dimonis que implementen l'XDMCP.

Si l'XDMCP sembla que no funciona, assegureu-vos que tots els ordinadors estan especificats a /etc/hosts.

Consulteu la secció «Seguretat» per obtenir més informació sobre les notes de seguretat quan s'utilitza l'XDMCP.

2.8. Registre

El GDM utilitza el registre del sistema per registrar els errors i l'estat. També pot registrar informació de depuració, la qual pot ser útil per descobrir problemes si el GDM no funciona correctament. Es pot habilitar la sortida de depuració si es canvia la clau «debug/Enable» a «true» al fitxer <etc>/gdm/custom.conf.

La sortida dels diversos servidors X s'emmagatzema al directori de registre del GDM, que normalment és el <var>/log/gdm/. Tots els missatges del servidor d'X es desen a un fitxer associat amb el valor de la pantalla, <display>.log.

The session output is piped through the GDM daemon to the ~/$XDG_CACHE_HOME/gdm/session.log file which usually expands to ~/.cache/gdm/session.log. The file is overwritten on each login, so logging out and logging back into the same user via GDM will cause any messages from the previous session to be lost.

Note that if GDM can not create this file for some reason, then a fallback file will be created named ~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX where the XXXXXXXX are some random characters.

2.9. Com commutar d'usuari ràpidament

El GDM permet a diversos usuaris entrar a la mateixa vegada. Després que un usuari hagi entrat, poden entrar més usuaris mitjançant el commutador d'usuari al quadre del GNOME o des del botó «Commuta l'usuari» al diàleg de bloqueig de la pantalla de l'estalvi de pantalla del GNOME. La sessió activa es pot canviar de nou utilitzant el mateix mecanisme. Tingueu en compte que algunes distribucions no afegeixen el commutador d'usuari a la configuració per defecte del quadre. El podeu afegir a través del menú contextual del quadre.

Note this feature is available on systems that support Virtual Terminals. This feature will not function if Virtual Terminals is not available.