# Manual de referència del gestor de pantalla del GNOME

## Termes i convencions utilitzats en aquest manual

Aquest manual descriu la versió 2.26.0 del gestor de pantalla del GNOME. Es va actualitzar per últim cop el 10/02/2009.

Seleccionador: un programa que s'utilitza per seleccionar un amfitrió remot per gestionar una pantalla remotament a la pantalla local (`gdm-host-chooser`).

FreeDesktop: l'organització que proporciona estàndards per a l'escriptori, com ara l'especificació d'entrada de l'escriptori que utilitza el GDM. http://www.freedesktop.org.

GDM: el Gestor de pantalla del GNOME. S'utilitza per descriure el paquet de programari en la seva totalitat.

Greeter - The graphical login window (provided by `gnome-shell`).

PAM: mòduls de connectors d'autenticació

XDMCP: Protocol de gestió de pantalles d'X

Xserver: una implementació del sistema de finestres X. Per exemple el servidor d'X creat per la fundació X.org http://www.x.org.

Els camins que comencen amb una paraula entre parèntesis angulars són relatius al prefix d'instal·lació. Per exemple, `<share>/pixmaps/` es refereix a `/usr/share/pixmaps` si el GDM es va configurar amb `--prefix=/usr`.

## Vista general

### 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

    gdm-list@gnome.org

. 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.

### 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.

### 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ó.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

## Seguretat

### L'usuari i grup del GDM

Per raons de seguretat es recomana un identificador d'usuari i de grup específic pel correcte funcionament. A la majoria de sistemes aquest usuari i grup normalment és el «gdm», però pot ser qualsevol usuari o grup. Tots els programes d'interfície gràfica d'usuari del GDM s'executen amb aquest usuari, de manera que els programes que interactuen amb l'usuari s'executen en un entorn aïllat. L'usuari i el grup haurien de tenir els privilegis limitats.

L'únic privilegi especial que necessita l'usuari «gdm» és la capacitat de llegir i escriure fitxers Xauth al directori `<var>/run/gdm`. El propietari del directori `<var>/run/gdm` hauria de ser root i del grup gdm amb els permisos 1777.

No hauríeu, baix cap concepte, de configurar l'usuari/grup del GDM a un usuari sobre el qual un usuari pogués guanyar-ne fàcilment accés, com ara l'usuari `nobody`. Qualsevol usuari que guanyi accés a una clau Xauth pot tafanejar i controlar programes en execució de la interfície gràfica d'usuari associats a la sessió, o realitzar-hi un atac de denegació de servei. És important assegurar-se que el sistema està configurat adequadament de manera que només l'usuari «gdm» té accés a aquests fitxers i que no és fàcil entrar a aquest compte. Per exemple, el compte s'hauria de configurar perquè no tingui contrasenya o no permetre que usuaris no primaris puguin entrar-hi.

La configuració del rebedor del GDM s'emmagatzema al GConf. Per permetre que l'usuari GDM pugui escriure la configuració, és necessari que l'usuari «gdm» tingui un directori d'usuari amb permisos d'escriptura. Els usuaris poden configurar la configuració per defecte del GConf com desitgin per evitar la necessitat de proporcionar a l'usuari «gdm» un directori d'usuari amb permisos d'escriptura. Tot i això, es poden inhabilitar algunes funcions del GDM si no es pot escriure informació d'estat a la configuració del GConf

### PAM

El GDM utilitza el PAM per a l'autenticació d'entrada. PAM significa mòduls de connectors d'autenticació (Pluggable Authentication Modules) i l'utilitzen la majoria de programes que sol·liciten autenticació a l'ordinador. Això permet a l'administrador configurar els comportaments d'autenticació específics per diferents programes d'entrada (com ara el ssh, la interfície gràfica d'entrada, l'estalvi de pantalla, etc.)

El PAM és complicat i altament configurable i en aquesta documentació no s'intenta d'explicar-lo amb pèls i senyals. La idea és donar una visó global de com afecta la configuració del PAM al GDM, com es configura normalment el PAM amb el GDM i els problemes coneguts. S'espera que qui hagi de realitzar una configuració del PAM llegirà més documentació del PAM per entendre com configurar-lo i entendre'n els termes utilitzats en aquesta secció.

La configuració del PAM te interfícies diferents, però similars, segons el sistema operatiu, de manera que comproveu les pàgines del manual del pam.d o del pam.conf per obtenir-ne tots els detalls. Assegureu-vos que llegiu la documentació del PAM i que esteu segurs de les implicacions de seguretat que qualsevol canvi que intenteu realitzar a la configuració pot ocasionar.

Tingueu en compte que, per defecte, el GDM utilitza el nom de servei del PAM «gdm» per a una entrada normal i el nom de servei del PAM «gdm-autologin» per a una entrada automàtica. Pot ser que aquests serveis no estiguin definits al fitxer de configuració pam.d o pam.conf. Si no hi ha cap entrada el GDM utilitzarà el comportament per defecte del PAM. A la majoria de sistemes aquest hauria de funciona sense cap problema. Tot i això, la funció d'entrada automàtica podria no funcionar si el servei gdm-autologin no està definit.

L'script `PostLogin` s'executa abans de cridar pam_open_session i l'script `PreSession` després. Això permet a l'administrador del sistema afegir qualsevol script al procés d'entrada abans o després que el PAM iniciï la sessió.

Si voleu fer que el GDM funcioni amb altres tipus de mecanismes d'autenticació (com ara una empremta dactilar o un lector de targetes SmartCard), llavors hauríeu d'implementar-ho utilitzant un mòdul de servei del PAM per al tipus d'autenticació desitjat en comptes d'intentar modificar el codi del GDM directament. Consulteu la documentació del PAM del sistema. Se'n parla sovint a la llista de correu

    gdm-list@gnome.org

, de manera que podeu consultar els arxius de la llista per saber-ne més.

El PAM té algunes limitacions relacionades en ser capaç de treballar amb diversos tipus d'autenticació a la vegada, admetre l'habilitat d'acceptar targetes SmartCard i introduir el nom d'usuari i la contrasenya al programa d'entrada. S'utilitzen diverses tècniques per fer que això funcioni i és una bona idea conèixer-les si es vol utilitzar una configuració semblant.

Si a un sistema no funciona l'entrada automàtica, comproveu si la pila del PAM «gdm-autologin» està definida a la configuració del PAM. Per fer-ho funcionar, és necessari utilitzar un mòdul del PAM que simplement no faci autenticació o que simplement retorni PAM_SUCCESS des de totes les interfícies públiques. Si s'assumeix que el sistema té un mòdul del PAM pam_allow.so que fa això, una configuració del PAM per habilitar el «gdm-autologin» podria ser aquesta:

           gdm-autologin auth  required    pam_unix_cred.so.1
           gdm-autologin auth  sufficient  pam_allow.so.1
           gdm-autologin account  sufficient  pam_allow.so.1
           gdm-autologin session  sufficient  pam_allow.so.1
           gdm-autologin password  sufficient  pam_allow.so.1

La configuració anterior provocarà que no es generi cap entrada de lastlog. Si voleu una entrada de lastlog, llavors utilitzeu el següent per a la sessió:

           gdm-autologin session required pam_unix_session.so.1

If the computer is used by several people, which makes automatic login unsuitable, you may want to allow some users to log in without entering their password. This feature can be enabled as a per-user option in the users-admin tool from the gnome-system-tools; it is achieved by checking that the user is member a Unix group called "nopasswdlogin" before asking for a password. For this to work, the PAM configuration file for the "gdm" service must include a line such as:

          gdm auth  sufficient  pam_succeed_if.so  user ingroup nopasswdlogin

### utmp i wtmp

El GDM genera entrades utmp i wtmp a la base de dades de comptes d'usuari quan l'usuari entra i surt de la sessió. La base de dades utmp conté informació de l'accés de l'usuari i del compte que hi accedeixen ordres com ara el `finger`, el `last`, el `login` i el `who`. La base de dades wtmp conté l'historial de la informació de l'accés de l'usuari i del compte per a la base de dades utmp. Per obtenir més informació consulteu les pàgines del manual del sistema utmp i wtmp.

### Esquema d'autenticació del servidor d'X

Els fitxers d'autorització del servidor d'X s'emmagatzemen en un subdirectori nou a `<var>/run/gdm` que es crea a l'inici. Els fitxers serveixen per emmagatzemar i compartir una «contrasenya» entre els clients d'X i el servidor d'X. Aquesta «contrasenya» és única per a cada sessió d'entrada, de manera que els usuaris d'una sessió no poden tafanejar a usuaris d'una altra.

El GDM només admet l'esquema d'autenticació MIT-MAGIC-COOKIE-1 del servidor d'X. La resta d'esquemes no aporten gairebé cap benefici, de manera que no s'ha realitzat cap esforç per implementar-los. Vigileu especialment la utilització de l'XDMCP perquè les galetes d'autenticació del servidor d'X circulen per la xarxa com a text pla. Si és possible tafanejar, llavors un atacant podria simplement tafanejar la vostra contrasenya d'autenticació quan entreu, independentment de l'esquema d'autenticació que s'utilitzes. Si és possible tafanejar però no és desitjable, llavors hauríeu d'utilitzar l'SSH per fer una tunelització d'una connexió d'X en comptes d'utilitzar l'XDMCP. Podeu pensar que l'XDMCP és una espècie de telnet gràfic, que té els mateixos problemes de seguretat. En la majoria de casos, s'hauria de fer servir l'SSH -Y en comptes de les funcions XDMCP del GDM.

### Seguretat de l'XDMCP

Encara que la pantalla està protegida per galetes, els XEvents i les pulsacions de tecles quan s'introdueix la contrasenya encara circularan per la xarxa com a text pla. És trivial capturar-les.

L'XDMCP és útil principalment per executar clients lleugers com ara en terminals de laboratori. Aquests clients lleugers només necessiten la xarxa per accedir al servidor i per tant sembla que la millor política de seguretat és tenir aquests clients lleugers en una xarxa separada a la qual no es pot accedir des del món exterior i només es pot connectar al servidor. L'únic punt des d'on necessiteu accedir a fora és el servidor. Aquest tipus de configuració no hauria d'utilitzar un concentrador no gestionat o una altre xarxa que es pugui vigilar.

### Control d'accés de l'XDMCP

El control d'accés de l'XDMCP es realitza utilitzant embolcalls TCP. És possible compilar el GDM sense la compatibilitat d'embolcalls TCP, de manera que aquesta funció potser no està disponible en alguns sistemes operatius.

Hauríeu d'utilitzar el nom del dimoni `gdm` als fitxers `<etc>/hosts.allow` i `<etc>/hosts.deny`. Per exemple, per denegar l'entrada d'ordinadors des de `.evil.domain` heu d'afegir

    gdm: .evil.domain

a `<etc>/hosts.deny`. També heu d'afegir

    gdm: .your.domain

al vostre `<etc>/hosts.allow` si normalment no permeteu tots els serveis des de tots el amfitrions. Per obtenir més detalls vegeu la pàgina del manual hosts.allow(5).

### Seguretat del tallafoc

Encara que el GDM intenta diferenciar intel·ligentment atacants potencials utilitzant l'avantatge de l'XDMCP, encara es recomana que bloquegeu el port de l'XDMCP (normalment el port UDP 177) del tallafoc a no ser que realment el necessiteu. El GDM es protegeix contra atacs de denegació de servei, però el protocol d'X encara és inherentment insegur i només s'hauria d'utilitzar en entorns controlats. A més cada connexió remota utilitza molts recursos, de manera que és molt més fàcil realitzar un atac de denegació de servei mitjançant l'XDMCP que atacar un servidor web.

També es recomana bloquejar al tallafoc tots els ports del servidor d'X (aquests són els ports TCP 6000 + el número de la pantalla). Tingueu en compte que el GDM utilitzarà els números de pantalla 20 i superiors per als servidors sota demanda flexibles.

L'X no és un protocol molt segur per utilitzar-se per Internet i l'XDMCP ho és encara menys.

### PolicyKit

Es pot configurar el GDM perquè utilitzi el PolicyKit per permetre a l'administrador del sistema controlar quan la pantalla d'entrada hauria de proporcionar els botons d'apagar i de tornar a iniciar a la pantalla del rebedor.

Les accions `org.freedesktop.consolekit.system.stop-multiple-users` i `org.freedesktop.consolekit.system.restart-multiple-users` controlen aquests botons respectivament. Es pot ajustar la política les accions amb l'eina polkit-gnome-authorization o el programa de línia d'ordres polkit-auth.

### RBAC (control d'accés basat en el rol)

El GDM es pot configurar perquè utilitzi el RBAC en comptes del PolicyKit. En aquest cas, s'utilitza la configuració del RBAC per controlar quan la pantalla d'entrada hauria de proporcionar els botons d'apagar i de tornar a iniciar a la pantalla del rebedor.

Per exemple, a l'Oracle Solaris, s'utilitza l'autorització «solaris.system.shutdown» per controlar-ho. Només cal que modifiqueu el fitxer `/etc/user_attr` de manera que l'usuari «gdm» tingui aquesta autorització.

## Compatibilitat per a ConsoleKit

El GDM inclou compatibilitat per publicar la informació d'entrada de l'usuari amb l'entorn de treball de comptabilitat d'usuaris i de sessions d'entrada conegut com a ConsoleKit. El ConsoleKit és capaç de fer el seguiment de tots els usuaris que estan connectats actualment. En aquest aspecte, es pot utilitzar com un substitut dels fitxers utmp o utmpx que hi ha disponibles a la majoria de sistemes operatius tipus UNIX.

Quan el GDM va a crear un procés d'entrada nou per a un usuari cridarà un mètode privilegiat del ConsoleKit per obrir una sessió nova per a aquest usuari. En aquest moment el GDM també proporciona al ConsoleKit la informació sobre aquesta sessió d'usuari com ara: l'identificador de l'usuari, el nom de la pantalla X11 que estarà associada amb la sessió, el nom de l'amfitrió que origina la sessió (útil en el cas d'una sessió XDMCP), si la sessió és local, etc. Com a entitat que inicia el procés d'usuari, el GDM és en una posició única per conèixer la sessió de l'usuari i per confiar-hi aquestes dades. La utilitat d'aquest mètode privilegiat està restringit a la utilització d'una política de seguretat del bus del sistema de missatges del D-Bus.

En el cas on un usuari amb una sessió existent s'hagi autenticat al GDM i sol·liciti de continuar la sessió existent, el GDM crida un mètode privilegiat del ConsoleKit per desblocar la sessió. Els detalls exactes de què succeeix quan la sessió rep aquesta senyal de desblocatge són indefinits i específics de la sessió. Tot i això, la majoria de sessions desblocaran un estalvi de pantalla com a resposta.

Quan l'usuari vol sortir o si el GDM o la sessió surten de manera inesperada, es desregistrarà la sessió de l'usuari al ConsoleKit.

## Configuració

El GDM té tot un seguit d'interfícies de configuració. Aquestes inclouen punts d'integració pels scripts, la configuració de dimonis, la configuració del rebedor, els paràmetres de sessió generals, la integració amb la configuració del gnome-settings-daemon i la configuració de la sessió. Aquests tipus d'integració estan descrits en detall a sota.

### Punts d'integració pels scripts

Els punts d'integració pels scripts del GDM es poden trobar al directori `<etc>/gdm/`:

    Xsession
    Init/
    PostLogin/
    PreSession/
    PostSession/

Els scripts `Init`, `PostLogin`, `PreSession` i `PostSession` funcionen tal com es descriu a sota.

Per a cada tipus d'script, el que s'executarà per defecte s'anomena «Default» i s'emmagatzema en un directori associat amb el tipus d'script. De manera que l'script per defecte de l'`Init` és troba a `<etc>/gdm/Init/Default`. Es pot proporcionar un script per pantalla, si existeix, s'executarà en lloc de l'script per defecte. Aquests es troben al mateix directori que l'script per defecte i tenen el mateix nom que el valor DISPLAY del servidor d'X per a aquesta pantalla. Per exemple, si existeix l'script `<Init>/:0`, aquest s'executarà si la pantalla és «:0»

Tots aquests scripts s'executen amb privilegis d'usuari primari i retornen 0 si s'executen correctament i retornen un codi diferent de zero si hi ha alguna fallada que hauria de causar que s'interrompés la sessió d'entrada. Tingueu en compte que el GDM es blocarà fins que l'script finalitzi, de manera que si algun d'aquests scripts es penja, això provocarà que el procés d'entrada també es pengi.

Quan s'ha iniciat correctament el servidor X per a la interfície gràfica d'entrada, però abans que s'hagi mostrat aquesta, el GDM executarà l'script `Init`. Aquest script és útil per iniciar programes que s'haurien d'executar mentre es mostra la pantalla d'entrada o per realitzar qualsevol inicialització especial necessària.

Després de que s'hagi autenticat correctament a l'usuari, el GDM executarà l'script `PostLogin`. Aquest s'executa abans de configurar qualsevol sessió, fins i tot abans de la crida a pam_open_session. Aquest script és útil per realitzar qualsevol inicialització que ha de succeir abans d'iniciar la sessió. Per exemple, podeu configurar el directori $HOME de l'usuari si és necessari.

Després d'inicialitzar la sessió de l'usuari, el GDM executarà l'script `PreSession`. Aquest script és útil per realitzar qualsevol inicialització que necessiti fer-se després d'inicialitzar la sessió. Per exemple, es pot utilitzar per la gestió de sessions o de comptes.

Quan un usuari finalitza la seva sessió, el GDM executarà l'script `PostSession`. Tingueu en compte que el servidor X s'aturarà al moment en què s'executi aquest script, de manera que no s'hi hauria d'accedir.

Tingueu en compte que l'script `PostSession` s'executarà encara que la pantalla no respongui degut a algun error d'E/S o semblant. De manera que no hi ha cap garantia que les aplicacions d'X funcionaran durant l'execució de l'script.

Tots els scripts anteriors establiran la variable de l'entorn `$RUNNING_UNDER_GDM` a `yes`. Si els scripts també són compartits amb altres gestors de pantalla, us permetrà identificar quan s'està executant aquests scripts des del GDM, de manera que podeu executar codi específic quan s'està utilitzant el GDM.

### Configuració d'arrencada automàtica

The `<share>/gdm/autostart/LoginWindow` directory contains files in the format specified by the "FreeDesktop.org Desktop Application Autostart Specification". Standard features in the specification may be used to specify programs that should auto-restart or only be launched if a GConf configuration value is set, etc.

Any `.desktop` files in this directory will cause the associated program to automatically start with the login GUI greeter. By default, GDM is shipped with files which will autostart the gdm-simple-greeter login GUI greeter itself, the gnome-power-manager application, the gnome-settings-daemon, and the metacity window manager. These programs are needed for the greeter program to work. In addition, desktop files are provided for starting various AT programs if the configuration values specified in the Accessibility Configuration section below are set.

### Script Xsession

També hi ha un script `Xsession` ubicat a `<etc>/gdm/Xsession` que es crida entre els scripts `PreSession` i `PostSession`. Aquest script no admet configuració per pantalla com els altres scripts. Aquest script s'utilitza per iniciar la sessió d'usuari. Aquest script s'executa com usuari i s'executarà sigui quina sigui la sessió especificada al fitxer de sessió de l'escriptori que l'usuari ha seleccionar per iniciar.

### Configuració del dimoni

El dimoni del GDM es configura utilitzant el fitxer `<etc>/gdm/custom.conf`. Els valors predeterminats s'emmagatzemen al GConf en el fitxer `gdm.schemas`. Es recomana que els usuaris finals modifiquin el fitxer `<etc>/gdm/custom.conf` perquè es pot sobreescriure el fitxer d'esquemes quan l'usuari actualitzi el sistema amb una versió nova del GDM.

Tingueu en compte que les versions anteriors del GDM admetien opcions de configuració addicionals que ja no són compatibles amb les últimes versions del GDM.

El fitxer `<etc>/gdm/custom.conf` està en el format `keyfile`. Les paraules clau entre claudàtors defineixen les seccions de grup, les cadenes abans del signe igual (=) són claus i les dades després del signe igual representen el seu valor. S'ignoren les línies buides o que comencen amb la marca de coixinet (#).

El fitxer `<etc>/gdm/custom.conf` admet les seccions de grup «[daemon]», «[security]» i «[xdmcp]». Existeixen parelles de clau/valor particulars amb cada grup que es poden especificar per modificar com es comporta el GDM. Per exemple, per habilitar l'entrada temporitzada i especificar que l'usuari d'entrada temporitzada sigui «usuari», hauríeu de modificar el fitxer de manera que contingués les línies següents:

    [daemon]
    TimedLoginEnable=true
    TimedLogin=usuari

A continuació hi ha una llista complerta de claus de configuració admeses:

#### [chooser]

Multicast

-     Multicast=false

  If true and IPv6 is enabled, the chooser will send a multicast query to the local network and collect responses from the hosts who have joined multicast group.

MulticastAddr

-     MulticastAddr=ff02::1

  This is the Link-local multicast address.

#### [daemon]

TimedLoginEnable

-     TimedLoginEnable=false

  Si l'usuari especificat a `TimedLogin` hauria d'entrar després d'un nombre de segons (especificats a `TimedLoginDelay`) d'inactivitat a la pantalla d'entrada. Això és útil per a terminals d'accés públic o fins i tot per ús domèstic. Si l'usuari utilitza el teclat o els menús de navegació, es reiniciarà el temps d'espera a `TimedLoginDelay` o 30 segons, el que sigui més alt. Si l'usuari no introdueix cap nom d'usuari si no que prem la tecla de retorn mentre el programa d'entrada sol·licita el nom d'usuari, el GDM assumirà que l'usuari vol entrar immediatament com a l'usuari definit a `TimedLogin`. Tingueu en compte que no se sol·licitarà cap contrasenya per aquest usuari de manera que hauríeu d'anar amb compte, tot i que si utilitzeu el PAM es podria configurar perquè sigui necessari introduir la contrasenya abans de permetre l'entrada. Per obtenir més informació consulteu la secció «Seguretat->PAM» del manual o per obtenir ajuda si aquesta funció no sembla funcionar.

TimedLogin

-     TimedLogin=

  Aquest és l'usuari que hauria d'entrar després d'un nombre de segons d'inactivitat especificat.

  If the value ends with a vertical bar | (the pipe symbol), then GDM will execute the program specified and use whatever value is returned on standard out from the program as the user. The program is run with the DISPLAY environment variable set so that it is possible to specify the user in a per-display fashion. For example if the value is "/usr/bin/getloginuser|", then the program "/usr/bin/getloginuser" will be run to get the user value.

TimedLoginDelay

-     TimedLoginDelay=30

  Retard en segons abans que l'usuari `TimedLogin` entri.

AutomaticLoginEnable

-     AutomaticLoginEnable=false

  Si és cert, l'usuari especificat a `AutomaticLogin` hauria d'entrar immediatament. Aquesta funció és semblant a l'entrada temporitzada amb un retard de 0 segons.

AutomaticLogin

-     AutomaticLogin=

  Aquest és l'usuari que hauria d'entrar immediatament si `AutomaticLoginEnable` és cert.

  If the value ends with a vertical bar | (the pipe symbol), then GDM will execute the program specified and use whatever value is returned on standard out from the program as the user. The program is run with the DISPLAY environment variable set so that it is possible to specify the user in a per-display fashion. For example if the value is "/usr/bin/getloginuser|", then the program "/usr/bin/getloginuser" will be run to get the user value.

User

-     User=gdm

  El nom d'usuari sota el qual el rebedor i altres programes d'interfície gràfica d'usuari s'executen. Per obtenir més informació consulteu la clau de configuració `Group` i la secció «Seguretat->Usuari i grup del GDM» d'aquest document.

Group

-     Group=gdm

  El nom de grup sota el qual el rebedor i altres programes d'interfície gràfica d'usuari s'executen. Per obtenir més informació consulteu la clau de configuració `User` i la secció «Seguretat->Usuari i grup del GDM» d'aquest document.

#### Opcions de depuració

#### [debug]

Enable

-     Enable=false

  To enable debugging, set the debug/Enable key to "true" in the `<etc>/gdm/custom.conf` file and restart GDM. Then debug output will be sent to the system log file (`<var>/log/messages` or `<var>/adm/messages` depending on your Operating System).

#### Opcions del rebedor

#### [greeter]

IncludeAll

-     IncludeAll=true

  If true, then the face browser will show all users on the local machine. If false, the face browser will only show users who have recently logged in.

  When this key is true, GDM will call fgetpwent() to get a list of local users on the system. Any users with a user id less than 500 (or 100 if running on Oracle Solaris) are filtered out. The Face Browser also will display any users that have previously logged in on the system (for example NIS/LDAP users). It gets this list via calling the `ck-history` ConsoleKit interface. It will also filter out any users which do not have a valid shell (valid shells are any shell that getusershell() returns - /sbin/nologin or /bin/false are considered invalid shells even if getusershell() returns them).

  If false, then GDM more simply only displays users that have previously logged in on the system (local or NIS/LDAP users) by calling the `ck-history` ConsoleKit interface.

Include

-     Include=

  Set to a list of users to always include in the Face Browser. This value is set to a list of users separated by commas. By default, the value is empty.

Exclude

-     Exclude=bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pvm,rpm,nfsnobody,pcap

  Set to a list of users to always exclude in the Face Browser. This value is set to a list of users separated by commas. Note that the setting in the `custom.conf` overrides the default value, so if you wish to add additional users to the list, then you need to set the value to the default value with additional users appended to the list.

#### Opcions de seguretat

#### [security]

DisallowTCP

-     DisallowTCP=true

  Si és cert, sempre s'afegirà `-nolisten tcp` a la línia d'ordres quan s'iniciïn servidors d'X locals, d'aquesta manera no es permetran connexions TCP. Aquesta configuració és més segura si no utilitzeu connexions remotes.

#### Compatibilitat XDCMP

#### [xdmcp]

DisplaysPerHost

-     DisplaysPerHost=1

  Per evitar que els atacants omplin la cua de pendents, el GDM només permetrà una connexió per a cada ordinador remot. Si voleu proporcionar serveis de pantalla a ordinadors amb més d'una pantalla, hauríeu d'incrementar aquest valor.

  Tingueu en compte que el nombre de pantalles locals permeses no està limitat. Només les connexions remotes mitjançant l'XDMCP estan limitades per aquesta opció de configuració.

Enable

-     Enable=false

  En establir-ho a cert s'habilita la compatibilitat XDMCP, permetent que el GDM pugui gestionar les pantalles remotes o els terminals d'X.

  El `gdm` escolta les sol·licituds al port UDP 177. Per obtenir més informació vegeu la opció Port.

  Si el GDM es compila per permetre-ho, es pot controlar l'accés des de pantalles remotes utilitzant la biblioteca de l'embolcall TCP. El nom de servei és `gdm`

  You should add

      gdm:.my.domain

  to your `<etc>/hosts.allow`, depending on your TCP Wrappers configuration. See the hosts.allow man page for details.

  Tingueu en compte que l'XDMCP no és un protocol precisament segur i que és una bona idea bloquejar el port UDP 177 al tallafocs a no ser que realment el necessiteu.

HonorIndirect

-     HonorIndirect=true

  Habilita la selecció XDMCP INDIRECT (és a dir, l'execució remota del `gdmchooser`) per als terminals d'X que no subministren el seu explorador de pantalla propi.

MaxPending

-     MaxPending=4

  Per evitar els atacs de denegació de servei, el GDM té una cua de connexions pendents de mida fixa. Només el nombre de les pantalles MaxPending poden iniciar a la vegada.

  Tingueu en compte que aquest paràmetre no limita el número de pantalles remotes que es poden gestionar. Només limita el número de pantalles que inicien una connexió simultàniament.

MaxSessions

-     MaxSessions=16

  Determina el número màxim de connexions de pantalles remotes que es poden gestionar simultàniament. És a dir, el número total de pantalles remotes que pot utilitzar el vostre amfitrió.

MaxWait

-     MaxWait=30

  Quan el GDM està preparat per gestionar una pantalla se li envia un paquet ACCEPT que conté una identificador de sessió únic que s'utilitzarà en futures connexions XDMCP.

  Llavors el GDM ubicarà l'identificador de sessió a la cua de pendents esperant a que la pantalla respongui amb una sol·licitud MANAGE.

  Si no es rep una resposta abans de MaxWait segons, el GDM declararà la pantalla com a morta i la suprimirà de la cua de pendents, alliberant la ranura per a altres pantalles.

MaxWaitIndirect

-     MaxWaitIndirect=30

  El paràmetre MaxWaitIndirect determina el número màxim de segons entre el temps on un usuari tria un amfitrió i la sol·licitud indirecta que l'ha de seguir on l'usuari està connectat a l'amfitrió. Quan s'excedeix el temps d'espera, s'oblida la informació sobre l'amfitrió triat i s'allibera la ranura indirecte per a altres pantalles. Es pot oblidar la informació abans si hi ha més amfitrions intentant enviar sol·licituds indirectes que `MaxPendingIndirect`.

PingIntervalSeconds

-     PingIntervalSeconds=60

  If the Xserver does not respond in the specified number of seconds, then the connection is stopped and the session ended. When this happens the slave daemon dies with an ALARM signal. Note that GDM 2.20 and earlier multiplied this setting by 2, so it may be necessary to increase the timeout if upgrading from GDM 2.20 and earlier to a newer version.

  Tingueu en compte que el GDM en el passat utilitzava la clau de configuració `PingInterval` que estava en minuts. Per a la majoria de propòsits voldreu que aquest paràmetre sigui inferior d'un minut ja que en la majoria de casos on l'XDMCP s'hauria d'utilitzar (com terminals de laboratori), un retard de 15 o més segons significaria realment que el terminal s'ha apagat o s'ha tornat a iniciar i voldríeu finalitzar la sessió.

Port

-     Port=177

  El número de port UDP en el qual el `gdm` hauria d'escoltar les sol·licituds XDMCP. No ho canvieu si no sabeu les conseqüències que en poden derivar.

Willing

-     Willing=<etc>/gdm/Xwilling

  Quan l'ordinador retorna un paquet WILLING després d'un QUERY aquest envia una cadena que proporciona l'estat actual del servidor. El missatge per defecte es l'identificador del sistema, però és pot crear un script que mostri un missatge personalitzat. Si no existeix l'script o la clau està buida, s'enviarà el missatge per defecte. Si aquest script acaba bé i produeix alguna sortida, s'enviarà la primera línia de la seva sortida (i només la primera línia). S'executa com a molt cada 3 segons per evitar una possible denegació de servei per inundació de l'ordinador amb paquets QUERY.

### Configuració del rebedor senzill

El rebedor per defecte del GDM s'anomena rebedor senzill i es configura mitjançant el GConf. Els valors per defecte s'emmagatzemen al fitxer `gdm-simple-greeter.schemas` del GConf. Aquests valors per defecte es poden sobreescriure si l'usuari «gdm» té un directori $HOME amb permisos d'escriptura per emmagatzemar els paràmetres del GConf. Aquests valors es poden editar utilitzant els programes `gconftool-2` o `gconf-editor`. S'admeten les opcions de configuració següents:

### Claus de configuració del rebedor

/apps/gdm/simple-greeter/banner_message_enable

-     false (booleà)

  Controla si es mostra el missatge de text del bàner.

/apps/gdm/simple-greeter/banner_message_text

-     NULL (cadena)

  Especifica el missatge de text del bàner que es mostra a la finestra del rebedor.

/apps/gdm/simple-greeter/disable_restart_buttons

-     false (booleà)

  Controla si s'han de mostrar els botons de reiniciar a la finestra d'entrada.

/apps/gdm/simple-greeter/disable_user_list

-     false (booleà)

  If true, then the face browser with known users is not shown in the login window.

/apps/gdm/simple-greeter/logo_icon_name

-     ordinador (cadena)

  Estableix el nom del tema d'icones que s'utilitza per al logotip del rebedor.

/apps/gdm/simple-greeter/recent-languages

-     [] (llista de cadenes)

  Set to a list of languages to be shown by default in the login window. Default value is "[]". With the default setting only the system default language is shown and the option "Other..." which pops-up a dialog box showing a full list of available languages which the user can select.

  Users are not intended to change this setting by hand. Instead GDM keeps track of any languages selected in this configuration key, and will show them in the language combo box along with the "Other..." choice. This way, commonly selected languages are easier to select.

/apps/gdm/simple-greeter/recent-layouts

-     [] (llista de cadenes)

  Set to a list of keyboard layouts to be shown by default in the login panel. Default value is "[]". With the default setting only the system default keyboard layout is shown and the option "Other..." which pops-up a dialog box showing a full list of available keyboard layouts which the user can select.

  Users are not intended to change this setting by hand. Instead GDM keeps track of any keyboard layouts selected in this configuration key, and will show them in the keyboard layout combo box along with the "Other..." choice. This way, commonly selected keyboard layouts are easier to select.

/apps/gdm/simple-greeter/wm_use_compiz

-     false (booleà)

  Controla si s'utilitza el compiz com a gestor de finestres en lloc del metacity.

### Configuració de l'accessibilitat

Aquesta secció descriu les opcions disponibles en la configuració d'accessibilitat del GDM.

#### Diàleg d'accessibilitat del GDM i claus del GConf

The GDM greeter panel at the login screen displays an accessibility icon. Clicking on that icon opens the GDM Accessibility Dialog. In the GDM Accessibility Dialog, there is a list of checkboxes, so the user can enable or disable the associated assistive tools.

The checkboxes that correspond to the on-screen keyboard, screen magnifier and screen reader assistive tools act on the three GConf keys that are described in the next section of this document. By enabling or disabling these checkboxes, the associated GConf key is set to "true" or "false". When the GConf key is set to true, the assistive tools linked to this GConf key are launched. When the GConf key is set to "false", any running assistive tool linked to this GConf key are terminated. These GConf keys are not automatically reset to a default state after the user has logged in. Consequently, the assistive tools that were running during the last GDM login session will automatically be launched at the next GDM login session.

The other checkboxes in the GDM Accessibility Dialog do not have corresponding GConf keys because no additional program is launched to provide the accessibility features that they offer. These other options correspond to accessibility features that are provided by the Xserver, which is always running during the GDM session.

#### Claus del GConf sobre l'accessibilitat

El GDM ofereix les claus del GConf següents per controlar les seves funcions d'accessibilitat:

#### Claus de configuració del GDM

/desktop/gnome/interface/accessibility

-     false (booleà)

  Controls whether the Accessibility infrastructure will be started with the GDM GUI. This is needed for many accessibility technology programs to work.

/desktop/gnome/applications/at/screen_magnifier_enabled

-     false (booleà)

  If set, then the assistive tools linked to this GConf key will be started with the GDM GUI program. By default this is a screen magnifier application.

/desktop/gnome/applications/at/screen_keyboard_enabled

-     false (booleà)

  If set, then the assistive tools linked to this GConf key will be started with the GDM GUI program. By default this is an on-screen keyboard application.

/desktop/gnome/applications/at/screen_reader_enabled

-     false (booleà)

  If set, then the assistive tools linked to this GConf key will be started with the GDM GUI program. By default this is a screen reader application.

#### Com enllaçar les claus del GConf a les eines d'accessibilitat

For the screen_magnifier_enabled, the screen_keyboard_enabled, and the screen_reader_enabled GConf keys, the assistive tool which gets launched depends on the desktop files located in the GDM autostart directory as described in the "Autostart Configuration" section of this manual. Any desktop file in the GDM autostart directory can be linked to these GConf key via specifying that GConf key in the AutostartCondition value in the desktop file. So the exact AutostartCondition line in the desktop file could be one of the following:

    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_magnifier_enabled
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_reader_enabled

When an accessibility key is true, then any program which is linked to that key in a GDM autostart desktop file will be launched (unless the Hidden key is set to true in that desktop file). A single GConf key can even start multiple assistive tools if there are multiple desktop files with this AutostartCondition in the GDM autostart directory.

#### Exemple de com modificar l'eina de configuració d'accessibilitat

For example, if GNOME is distributed with GOK as the default on-screen keyboard, then this could be replaced with a different program if desired. To replace GOK with the on-screen keyboard application "onboard" and additionally activate the assistive tool "mousetweaks" for dwelling support, then the following configuration is needed.

Create a desktop file for onboard and a second one for mousetweaks; for example, onboard.desktop and mousetweaks.desktop. These files must be placed in the GDM autostart directory and be in the format as explained in the "Autostart Configuration" section of this document.

A continuació un exemple del fitxer `onboard.desktop`:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Onboard Onscreen Keyboard
    Comment=Use an on-screen keyboard
    TryExec=onboard
    Exec=onboard --size 500x180 -x 20 -y 10
    Terminal=false
    Type=Application
    StartupNotify=true
    Categories=GNOME;GTK;Accessibility;
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

A continuació un exemple del fitxer `mousetweaks.desktop`:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Software Mouse-Clicks
    Comment=Perform clicks by dwelling with the pointer
    TryExec=mousetweaks
    Exec=mousetweaks --enable-dwell -m window -c -x 20 -y 240
    Terminal=false
    Type=Application
    StartupNotify=true
    Categories=GNOME;GTK;Accessibility;
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

Note the line with the AutostartCondition that links both desktop files to the GConf key for the on-screen keyboard.

To disable GOK from starting, the desktop file for the GOK on-screen keyboard must be removed or deactivated. Otherwise onboard and GOK would simultaneously be started. This can be done by removing the gok.desktop file from the GDM autostart directory, or by adding the "Hidden=true" key setting to the gok.desktop file.

After making these changes, GOK will no longer be started when the user activates the on-screen keyboard in the GDM session; but onboard and mousetweaks will instead be launched.

### Paràmetres generals de sessió

El rebedor del GDM utilitza alguns components de l'entorn de treball que utilitzarà la sessió d'escriptori. I per això l'hi afecten tot un seguit de paràmetres del GConf compartides. Per cada un d'aquests paràmetres el rebedor utilitzarà el valor per defecte a no ser que s'hagi sobreescrit per la política obligatòria instal·lada del GDM o per la política obligatòria del sistema. El GDM, per seguretat, instal·la la seva política obligatòria per bloquejar alguns paràmetres.

### Dimoni de paràmetres del GNOME

El GDM habilita els connectors següents del gnome-settings-daemon: l'a11y-keyboard, el background, el sound i l'xsettings.

Aquests són responsables d'aspectes com la imatge de fons, el tipus de lletra i els paràmetres del tema, els esdeveniments de so, etc.

Els connectors es poden inhabilitar utilitzant el GConf. Per exemple, si voleu inhabilitar el connector de so llavors inhabiliteu la clau següent: `/apps/gdm/simple-greeter/settings-manager-plugins/sound/active`.

### Configuració de sessió del GDM

Les sessions del GDM s'especifiquen utilitzant l'Especificació d'entrada de l'escriptori de la FreeDesktop.org, que es pot consultar a l'URL següent: http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

By default, GDM will install desktop files in the `<share>/xsessions` directory. GDM will search the following directories in this order to find desktop files: `<etc>/X11/sessions/`, `<dmconfdir>/Sessions`, `<share>/xsessions`, and `<share>/gdm/BuiltInSessions`. By default the `<dmconfdir>` is set to `<etc>/dm/` unless GDM is configured to use a different directory via the "--with-dmconfdir" option.

Es pot inhabilitar una sessió editant el fitxer d'escriptori i afegint una línia com segueix: `Hidden=true`.

GDM desktop files support a GDM-specific extension, a key named "X-GDM-BypassXsession". If the key is not specified in a desktop file, the value defaults to "false". If this key is specified to be "true" in a desktop file, then GDM will launch the program specified by the desktop file "Exec" key directly when starting the user session. It will not run the program via the `<etc>/gdm/Xsession` script, which is the normal behavior. Since bypassing the `<etc>/gdm/Xsession` script avoids setting up the user session with the normal system and user settings, sessions started this way can be useful for debugging problems in the system or user scripts that might be preventing a user from being able to start a session.

### Configuració de sessió i d'idioma de l'usuari del GDM

Les opcions per defecte de sessió i d'idioma de l'usuari s'emmagatzemen al fitxer `~/.dmrc`. Quan un usuari entra per primer cop, es crea el fitxer amb les opcions inicials de l'usuari. L'usuari pot canviar aquests valors per defecte canviant-los a un valor diferent quan entra. El GDM recordarà aquests canvis per les entrades posteriors.

El fitxer `~/.dmrc` està en format estàndard `INI`. Aquest té una secció anomenada `[Desktop]` la qual té dues claus: `Session` i `Language`.

La clau `Session` especifica el nom base del fitxer de sessió `.desktop` que l'usuari vol utilitzar normalment sense l'extensió `.desktop`. La clau `Language` especifica l'idioma que l'usuari vol utilitzar per defecte. Si falta alguna d'aquestes claus, s'utilitzarà el valor predeterminat del sistema. El fitxer normalment té l'aparença següent:

    [Desktop]
    Session=gnome
    Language=ca_ES.UTF-8

## Ordres del GDM

### Ordres de l'usuari primari del GDM

El paquet GDM proporciona les ordres següents a `sbindir` amb la intenció de que siguin executades per l'usuari primari:

#### `gdm` Command Line Options

`gdm` is the main daemon which sets up graphical login environment and starts necesary helpers.

#### `gdm` Command Line Options

-?, --help

- Proporciona un resum general de les opcions de la línia d'ordres.

--fatal-warnings

- Fa que tots els avisos provoquin que el GDM surti.

--timed-exit

- Surt després de 30 segons. És útil per depurar.

--version

- Mostra la versió del dimoni del GDM.

#### Opcions de la línia d'ordres del `gdm-restart`

El `gdm-restart` atura i torna a iniciar el GDM enviant una senyal HUP al dimoni del GDM. Aquesta ordre finalitzarà immediatament totes les sessions i farà sortir als usuaris que estan connectats actualment amb el GDM.

#### Opcions de la línia d'ordres del `gdm-safe-restart`

El `gdm-safe-restart` atura i torna a iniciar el GDM enviant una senyal USR1 al dimoni del GDM. Es tornarà a iniciar el GDM quan hagin sortit tots els usuaris.

#### Opcions de la línia d'ordres del `gdm-stop`

El `gdm-stop` atura el GDM enviant una senyal TERM al dimoni del GDM.

## Resolució de problemes

Aquesta secció descriu consells útils per fer funcionar el GDM. En general, si teniu algun problema utilitzant el GDM, podeu transmetre un error o enviar un correu electrònic a la llista de correu gdm-list. Trobareu més informació sobre com fer-ho a la secció «Introducció» del document.

Si el GDM no funciona correctament, sempre és una bona idea incloure informació de depuració. Per habilitar la depuració, establiu la clau «debug/Enable» a «true» en el fitxer `<etc>/gdm/custom.conf` i reinicieu el GDM. Llavors utilitzeu el GDM cap al punt on falla i la sortida de depuració s'enviarà al registre del sistema (`<var>/log/messages` o `<var>/adm/messages` en funció del vostre sistema operatiu). Si compartiu aquesta sortida amb la comunitat del GDM mitjançant un informe d'error o un correu electrònic, incloeu només la informació de depuració relacionada amb el GDM i no el fitxer sencer ja que pot ser molt gran. Si no veieu la sortida del registre del sistema del GDM, potser heu de configurar el registre del sistema (consulteu la pàgina del manual syslog).

### El GDM no s'inicia

Hi ha molts problemes que poden provocar que el GDM falli en iniciar-se, en aquesta secció però només es descriu alguns problemes comuns i com descobrir la causa dels problemes amb l'inicialització del GDM. Alguns problemes faran que el GDM mostri un missatge o diàleg d'error quan intenta iniciar, però pot ser difícil saber la causa del problema si el GDM falla de forma silenciosa.

Primer assegureu-vos que el servidor d'X està configurat correctament. El fitxer de configuració del GDM conté una ordre a la secció [server-Standard] que s'utilitza per iniciar el servidor d'X. Verifiqueu que aquesta ordre funciona. En executar aquesta ordre des del terminal s'hauria d'iniciar el servidor d'X. Si aquesta falla, llavors el problema segurament és amb la configuració del servidor d'X. Consulteu el registre d'errors del servidor d'X per mirar quin pot ser el problema. El problema també pot ser que el servidor d'X necessita opcions diferents de la línia d'ordres. Si és així, modifiqueu l'ordre del servidor d'X al fitxer de configuració del GDM perquè sigui correcte pel vostre sistema.

També assegureu-vos que el directori `/tmp` té un propietari i permisos raonables, i que el sistema de fitxers de l'ordinador no està ple. Aquests problemes poden provocar que el GDM falli en iniciar-se.

## Llicència

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Aquest programa es distribueix amb l'esperança de que sigui útil, però SENSE CAP GARANTIA; fins i tot sense la garantia implícita de COMERCIALITZACIÓ o ADEQUACIÓ A UN ÚS CONCRET. Per a més detalls vegeu la Llicència pública general de GNU.

A copy of the GNU General Public License is included as an appendix to the GNOME Users Guide. You may also obtain a copy of the GNU General Public License from the Free Software Foundation by visiting their Web site or by writing to

          Free Software Foundation, Inc.
          51 Franklin Street, Fifth Floor
          Boston, MA 02110-1301
          USA