# Manual de referencia do Xestor de entrada de GNOME

0.0
2008-09

GDM é o Xestor de entrada de GNOME, un programa gráfico de inicio de sesión.

Martin
K.
Petersen

    mkp@mkp.net

George
Lebl

    jirka@5z.com

Jon
McCann

    mccann@jhu.edu

Ray
Strode

    rstrode@redhat.com

Brian
Cameron

    Brian.Cameron@Oracle.COM

1998
1999
Martin K. Petersen
2001
2003
2004
George Lebl
2003
2007
2008
Red Hat, Inc.
2003
2011
Oracle e/ou os seus afiliados. Todos os dereitos reservados.

Pode copiar, distribuír e modificar este documento baixo os termos da Licenza de Documentación Libre GNU (GFDL) na súa versión 1.1 ou posterior, publicada pola Free Software Foundation, sen seccións invariantes e sen textos de portada ou de contraportada. Pode atopar unha copia da GFDL en link ou no ficheiro COPYING-DOCS distribuído xunto con este manual.

Este manual forma parte dunha colección de documentos de GNOME distribuidos segundo a GFDL. Se desexa distribuír este manual de forma independente da colección, pode facelo agregando unha copia da licenza ao documento, segundo se descibe na sección 6 da mesma.

Moitos dos nomes empregados polas empresas para distinguir os seus produtos e servizos considéranse marcas comerciais. Cando estes nomes aparezan na documentación de GNOME, e sempre que se teña informado aos membros do Proxecto de documentación de GNOME de ditas marcas comerciais, os nomes aparecerán en maiúsculas ou coas iniciais en maiúsculas.

DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT:

1. DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND

2. EN NINGUNHA CIRCUNSTANCIA NIN SEGUNDO NINGÚN ARGUMENTO LEGAL, SEXA POR MOTIVOS CULPOSOS (INCLUÍDA A NEGLIXENCIA), CONTRACTUAIS OU DE OUTRO TIPO, NIN O AUTOR, NIN O REDACTOR INICIAL, NIN CALQUERA COLABORADOR, NIN CALQUERA DISTRIBUIDOR DO DOCUMENTO OU VERSIÓN MODIFICADA DO MESMO, NIN CALQUERA FORNECEDOR DE CALQUERA DE DITAS PARATES, SERÁN RESPONSÁBEIS, ANTE NINGÚN TERCEIRO, DE NINGÚN DANO OU PERXUIZO DIRECTO, INDIRECTO, ESPECIAL, INCIDENTAL OU CONSIGUIENTE DE NINGÚN TIPO, INCLUÍDOS, SEN LIMITACIÓN, OS DANOS POR PERDA DE FONDO DE COMERCIO, INTERRUPCIÓN DO TRABALLO, FALLO OU MAL FUNCIONAMENTO INFORMÁTICO, NIN CALQUERA OUTRO DANO OU PERDA DERIVADA DO USO DO DOCUMENTO E AS VERSIÓNS MODIFICADAS DO MESMO, OU RELACIONADO CON ILO, INCLUSO SE SE COMUNICOU A AQUELA PARTE A POSIBILIDADE DE TALES DANOS.

Este manual describe a versión 2.26.0 do Xestor de entrada de GNOME. Actualizouse por última vez o 2 de febreiro de 2009.
Fran Dieguez
frandieguez@gnome.org
2012-2013.
Fran Dieguez

## Termos e convencións usados neste manual

Este manual describe a versión 2.26.0 do Xestor de entrada de GNOME. Actualizouse por última vez o 2 de febreiro de 2009.

Selector: Un programa que se usa para seleccionar un equipo remoto para xestionar unha pantalla remotamente na pantalla local (`gdm-host-chooser`).

FreeDesktop: A organización que fornece estándares para o escritorio, tales como a Especificación de Entrada do Escritorio que usa GDM http://www.freedesktop.org.

GDM: O xestor de entrada de GNOME. Úsase para describir o paquete de software como un todo.

Interface de entrada con temas - A xanela de entrada gráfica (fornecido por `gnome-shell`).

PAM: Mecanismo de engadidos de autenticación (Pluggable Autentication Mechanism)

XDMCP: Protocolo de xestión de pantallas X (X Display Manager Protocol)

Servidor X: Unha implementación do X Windows System. Por exemplo, o servidor X de Xorg fornecido pola Fundación X.org http://www.x.org.

Rutas que comezan cunha palabra entre parénteses son relativas ao prefixo de instalación, p.ex. `<share>/pixmaps/` refírese a `/usr/share/pixmaps` se GDM configurouse con `--prefix=/usr`.

## Vista xeral

### Introdución

O Xestor de entrada de GNOME (GDM) é un xestor de entrada que implementa todas as características significativas requiridas para xestionar pantallas remotas e locais. GDM escribiuse desde cero e non contén nada de código de XDM ou do X Consortium.

Note que o GDM é altamaente configurábel e moitos axustes de configuración poden afectar á seguranza. Os temas sobre os que debe prestar atención están realzados neste documento.

Note que algúns sistemas operativos configuran GDM para comportarse de forma diferente aos valores predetermiandos, como se describe neste documento. Se GDM non parece comportarse como se documenta, entón comprobe se algunha configuración relacionada difire da aquí describa.

For further information about GDM, refer to the project website at http://wiki.gnome.org/Projects/GDM.

Para discusións ou consultas sobre GDM, diríxase á rolda de correo

    gdm-list@gnome.org

. Esta lista está arquivada, e é unha boa fonte para buscar respostas a preguntas comúns. Esta lista está arquivada en http://mail.gnome.org/archives/gdm-list/ e ten busca integrada para atopar mensaxes con palabras chave.

Envía calquera informe de erro ou peticións de mellora na categoría «gdm» en http://bugzilla.gnome.org.

### Estabilidade de interfaces

GDM 2.20 e máis actuais admiten as interfaces estábeis de configuración. Porén, o código base foi completamente rescrito en GDM 2.22, e pode non ser completamente compatíbel cara atrás con publicacións antigas. Isto é en parte porque as cousas funcionan de forma diferente, polo que algunhas opcións agora xa non teñen sentido, en parte porque algunhas opcións nunca tiveron sentido e en parte porque algunha funcionalidade non foi reimplementada.

As interfaces que continúan sendo compatíbeis nun sentido estábel inclúen os scripts de Init, PreSession, PostSession, PostLogin e Xsession. Algunhas opcións de configuración do «daemon» do ficheiro `<etc>/gdm/custom.conf` continúan sendo compatíbeis. Ademais, `~/.dmrc`, e as localizacións das imaxes continúan sendo compatíbeis.

GDM 2.20e máis actual admitían a característica de xestionar múltiples pantallas con tarxetas gráficas separadas, como son usados en ambientes de servidor de terminais, inicio de sesión nunha xanela mediante programas como Xnest ou Xephyr, o programa gdmsetup, os temas de benvida baseados en XL e a característica de executar o selector de XDMCP desde o inicio de sesión. Estas características non foron restauradas durante a rescritura de 2.22.

### Descrición funcional

GDM é responsábel de xestionar pantallas no seu sistema. Isto inclúe a autenticación de usuarios, iniciar e rematar a sesión de usuario. GDM é configurábel e pode atopar unha descrición das formas de como pode facelo na sección «Configurando GDM» deste documento. GDM tamén é accesíbel para os usuarois con discapacidades.

GDM fornece a característica de xestionar a pantalla da console principal e as pantallas iniciadas en VT. Está integrado con outros programas, como o miniaplicativo de Intercambio de usuarios rápido (FUSA) e o gnome-screensaver para xestionar as pantallas múltiples nunha consola mediante a interface de Terminal Virtual Xserver (VT). Tamén pode xestionar pantallas XDMCP.

Con respecto do tipo de pantalla, GDM fará o seguinte cando xestione a pantalla. Comezará o proceso Xserver, logo executará o script `Init` como un usuario root, e logo iniciará o programa de benvida na pantalla.

O programa de benvida execútase co usuario/grupo sen privilexios. Este usuario e grupo descríbense na sección "Seguridade" deste documento. As funcións principais do programa de bencida é de fornecer un mecanismo para seleccionar unha conta onde iniciar sesión e conducir o diálogo entre o usuario e o sistema ao autenticarse con dita conta. O proceso de autenticación está conducido polos Modulos de Autenticación Conetábeis (PAM). Os modulos PAM determinan que preguntas (se as hai) se mostran ao usuario ao autenticarse. Nun sistema normal, o programa de benvida solicitará un nome de usuario e un contrasinal para autenticarse. Porén nalgúns sistemas configurados para empregar mecanismos suplementarios como a pegada dixital ou lectores de tarxetas intelixentes. GDM pode configurarse para admitir estas alternativas en paralelo coas extensións de inicio de sesión da pantalla de benvida e a opción `--enable-split-authentication` `./configure`, ou unha á vez mediante a configuración PAM do sistema.

A extensión de tarxetas intelixentes pode activarse ou desactivarse mediante a chave de gsettings `org.gnome.display-manager.extensions.smartcard.active`.

Seguramente, a extensión de pegada dixital pode activarse ou desactivarse mediante a chave de gsettings `org.gnome.display-manager.extensions.fingerprint.active`.

GDM e PAM pode configurarse para non requirir ningunha entrada, que causará que GDM inicie sesión automaticamente e logo inicie a sesión, o cal pode ser útil para algúns ambientes, como en sistemas de usuario único e quioscos.

Ademais da autenticación, o programa de benvida permítelle ao usuario seleccionar que sesión iniciar e en que idioma. As sesións están definidas por ficheiros que rematan co sufixo .desktop e pode atopar máis información sobre estes ficheiros na sección «Configuración de sesión de usuario e idioma de GDM». Por omisión, GDM está configurado para mostrar un listado de caras para que o usuario poida seleccionar a súa conta de usuario ao premer nunha imaxe no lugar de ter que escribir o seu contrasinal. GDM fai un seguemento da sesión por omisión do usuario e do idioma no `~/.dmrc` do usuario e usará estas configuración predefinidas se o usaurio non selecciona unha sección ou idioma no GUI de inicio de sesión.

Despois de autenticar a un usuario, o «daemon» executa o script `PostLogin` como usuario root, e logo executa o script `PreSession` como usuario root. Despois de executar estes scripts a sesión do usuario arríncase. Cando o usuario sae da súa sesión, o script `PostSession` execútarase como usuario root. Estes scripts fornécense como hooks para as distribucións e aos usuario finais para personalizar como se xestionan as sesións. Por exemplo, usando estes hooks pode configurar que a máquina cree o cartafol de usuario $HOME ao voo, e o elimine ao iniciar sesión. A diferenza entre os scripts `PostLogin` e`PreSession` son que `PostLogin` execútase antes da chamada a pam_open_session polo que é o lugar correcto para facer calquera cousaa que se debería executar antes de que a sesión do usuario se inicialice.

### O panel da interface de entrada con temas

A pantalla de benvida de GDM mostra un panel situado na parte inferior da pantalla que fornece funcionalidade adicional. Cando un usuario está seleccionado o panel permítelle ao usuario seleccionar a sesión, idioma e distribución de teclado que quere usar ao iniciar sesión. O selector da distribución do teclado tamén cambia a distribución do teclado ao escribir o seu contrasinal.O panel tamén contén un área para que os servizos de inicio de sesión poidan deixar iconas de estado. Como exemplo dalgunhas iconas atopará unha icona do estado da batería e unha icona para activar características de accesibilidade. O programa de benvida tamén fornece botóns que lle permiten ao usuario apagar ou reiniciar o seu sistema. É posíbel configurar GDM para non fornecer os botóns de apagar ou reinicio, se o desexa. GDM tamén pode configurarse mediante PolicyKit (ou mediante RBAC en Oracle Solaris) para requirir que o usuario teña unha autorización axeitada antes de aceptar unha solicitude de apagado ou reinicio.

Teña en conta que as características de disposición do teclado só están dispoñíbeis en sistemas que son compatíbeis con libxklavier.

### Accesibilidade

GDM admite «Inicio de sesión accesíbel», o cal lle permite iniciar sesión nunha sesión de escritorio incluso cando non pode usar de forma doada a pantalla, o rato ou o teclado na forma normal. A Tecnoloxía de Accesibilidade (AT) ten características como teclado en pantalla, lector de pantalla, magnificador de pantalla e accesibilidade de teclado AccessX de Xserver. Vaia á sección «Configuración de accesibilidade»do documento para obter máis información sobre como se poden configurar as distintas características de accesibilidade.

Nalgúns sistemas operativos, é necesario asegurarse que o usuario de GDM é un membro do grupo «audio» para os programas de AT que requiren saída de son (como texto-a-fala) para que sexan funcionais.

### O visor de rostros de GDM

O explorador de caras é a interface que lle permite os usuarios seleccionar o seu nomem de usuario seleccionando unha imaxe. Esta característica pode activarse ou desactivarse mediante a chave de lista de Gsettings org.gnome.login-screen disable-user-enabled, a cal está activada por omisión. Ao activala, mostrará todos os usuarios locais que están dispoñíbeis para iniciar sesión no sistema (todas as contas de usuario definidas en /etc/password que teñan unha shell válida e un UID suficientemente alto) e os usuarios remotos que iniciaran sesión recentemente. O explorador de caras en GDM 2.20 e superior tentarán mostrar todos os usuarios remotos o que pode causar problemas de rendemento para despregues empresariais grandes.

O Explorador de caras está configurado para mostrar os usuarios que inician sesión máis frecuentemente na parte superior da lista. Isto axúdalle a asegurarse que os usuarios que inician sesión con máis frecuencia poida atoparse a súa imaxe de inicio de sesión máis rápido.

O explorador de caras admite "busca adiantada" que move dinámicamente a selección de cara mentres o usuario escribe o correspondente nome de usuario na lista. Isto significa que un usuario con un nome de usuario longo só ten que escribir os primeiros caracteres do seu nome antes de que seleccione o elemento correcto na lista.

As iconas usadas por GDM están instaladas de forma global polo administrador do sistema ou poden estar nos cartafoles persoais dos usuarios. Se está instalada de forma global debería estar no cartafol `<share>/pixmaps/faces/` e o nome de ficheiro debería ser o nome de usuario. Os ficheiros de imaxes de avatar no cartafol «face» global debe poder lerse polo usuario GDM.

Non hai unha icona global para o usuario, GDM bucará no cartafol $HOME do usuario pola imaxe. GDM primeiro mirará o ficheiro de avatar do usuario en `~/.face`. Se non o atopa, tentará `~/.face.icon`. Se aínda non o atopou, usará o valor definido por "face/picture=" no ficheiro `~/.gnome2/gdm`.

Se o usuario non ten unha imaxe de avatar definida, GDM usará a icona «stock_person» definida no tema GTK+ actual. Se non hai unha imaxe definida, usarase a imaxe de avatar xenérica.

Teña en conta que cargar e escalar iconas de avatar localizadas en cartafoles persoais remotos pode ser unha tarefa que leve tempo. Xa que no é práctico cargar imaxes mediante NIS ou NFS, GDM non tentará cargar imaxes desde cartafoles persoais remotos.

Cando o explorador está activado, os nomes de usuario válidos no computador mostraranse para calquera que poida ver. Se XDMCP está activado, os nomes de usuario móstranse tamén para os usuario remotos. Isto, por suposto, limita a seguridade xa que un usuario malicioso non precisa adiviñar os nomes de usuarios válidos. Nalgúns ambientes restritivos o explorador de avatares podería non ser o axeitado.

### XDMCP

O «daemon» GDM pode configurarse para escoitar e xestionar peticións X Display Manage Protocol (XDMCP) desde pantallas remotas. Por defecto a compatibilidade con XDMCP está descativada, porén pode activala se o desexa. Se GDM se constrúe con compatibilidade de wrapper TCP, o daemon só lle dará acceso a equipos específicos na sección do servizo GDM do ficheiro de configuración de TCP Wrappers.

GDM inclúe varias medidas que o fan máis resistente a ataques de denegación de servizo en XDMCP. Moitos dos parámetros do protocolo, tempos de espera de negociación, etc. poden axustarse.. A configuración predefinida debería funcionar razoabelmente ben na maioría dos sistemas.

GDM escoita por omisión ás peticións XDMCP no porto UDP normal usado por XDMCP, o porto 177, e responderá ás peticións QUERY e BROADCAST_QUERY enviando un paquete WILLING ao remitente.

GDM tamen pode configurarse para ceder consultas INDIRECT e mostrar un selector de equipo dunha pantalla remota. GDM recordará a elección do usuario e derivará as subsecuentes consultas ao xestor de elección. GDM tamén permite que unha extensión do protocolo faga a redirección en canto a conexión do usuario teña éxito. Esta extensión só se admite se ámbolos dous daemons son GDM. É transparente e é ignorada por XDM ou outros daemons que implementen XDMCP.

Se semella que XDMCP non está funcionando, asegúrese que todos os computadores están especificados no ficheiro `/etc/hosts`.

Consulte a sección «Seguridade» para obter máis información sobre a seguridade ao usar XDMCP.

### Rexistro de actividade

GDM usa syslog para rexistrar erros e o seu estado. Tamén pode rexistrar información de depuración, a cal pode ser útil para facer un seguemento dos problemas se GDM non está funcionando correctamente. A saída de depuración pode activarse configurando a chave de configuración debug/Enable a «true» no ficheiro `<etc>/gdm/custom.conf`.

A saída para varios Xservers almacénase no cartafol de rexistro de GDM, o cal normalmente está en `<var>/log/gdm/`. Calquera mensaxe de Xserver gardarase no ficheiro asociado co valor da pantalla, `<display>.log`.

A saída da sesión é derivada mediante o daemon de GDM ao ficheiro `~/$XDG_CACHE_HOME/gdm/session.log` que normalmente expánde a `~/.cache/gdm/session.log`. O ficheiro sobrescríbese en cada inicio de sesión, polo que ao saír da sesión e volver a entrar co mesmo usuario mediante GDM causará que se perda calquera mensaxe da sesión anterior.

Teña en conta que se GDM non pode crear este ficheiro por calquera razón, crearase un ficheiro de respaldo co nome `~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX` onde `XXXXXXXX` son caracteres aleatorios.

### Cambio rápido de usuarios

GDM allows multiple users to be logged in at the same time. After one user is logged in, additional users can log in via the User Switcher on the GNOME Panel, or from the "Switch User" button in Lock Screen dialog of GNOME Screensaver. The active session can be changed back and forth using the same mechanism. Note that some distributions may not add the User Switcher to the default panel configuration. It can be added using the panel context menu.

Teña en conta que esta característica só está dispoñíbel en sistemas que admiten Terminais Virtuais. Esta característica non funcionará se as Terminais virtuais non funcionan.

## Seguranza

### O usuario e grupo de GDM

For security reasons a dedicated user and group id are recommended for proper operation. This user and group are normally "gdm" on most systems, but can be configured to any user or group. All GDM GUI programs are run as this user, so that the programs which interact with the user are run in a sandbox. This user and group should have limited privilege.

The only special privilege the "gdm" user requires is the ability to read and write Xauth files to the `<var>/run/gdm` directory. The `<var>/run/gdm` directory should have root:gdm ownership and 1777 permissions.

You should not, under any circumstances, configure the GDM user/group to a user which a user could easily gain access to, such as the user `nobody`. Any user who gains access to an Xauth key can snoop on and control running GUI programs running in the associated session or perform a denial-of-service attack on it. It is important to ensure that the system is configured properly so that only the "gdm" user has access to these files and that it is not easy to login to this account. For example, the account should be setup to not have a password or allow non-root users to login to the account.

The GDM greeter configuration is stored in GConf. To allow the GDM user to be able to write configuration, it is necessary for the "gdm" user to have a writable $HOME directory. Users may configure the default GConf configuration as desired to avoid the need to provide the "gdm" user with a writable $HOME directory. However, some features of GDM may be disabled if it is unable to write state information to GConf configuration.

### PAM

GDM uses PAM for login authentication. PAM stands for Pluggable Authentication Module, and is used by most programs that request authentication on your computer. It allows the administrator to configure specific authentication behavior for different login programs (such as ssh, login GUI, screensaver, etc.)

PAM is complicated and highly configurable, and this documentation does not intend to explain this in detail. Instead, it is intended to give an overview of how PAM configuration relates with GDM, how PAM is commonly configured with GDM, and known issues. It is expected that a person needing to do PAM configuration would need to do further reading of PAM documentation to understand how to configure PAM and to understand terms used in this section.

A configuración PAM ten interfaces diferentes, pero similares, para os distintos sistemas operativos, polo que comprobe a páxina man pam.d ou pam.conf. Asegúrese que lee a documentación PAM e ten en conta as implicacións de seguridade que calquera cambio que queira facer na súa configuración.

Teña en conta que, por omisión, GDM usa o nome de servizo PAM «gdm» para o inicio de sesión normal e o nome de servizo PAM «gdm-autologin» para os inicios de sesión automáticos. Se non hai entrada entón GDM usará o comportamento PAM por omisión. Na maioría dos sistemas isto funcionará ben, porén, no inicio de sesión automático pode que non funcione se o servizo gdm-autologin non está definido.

O script `PostLogin` execútase antes de que se chame a pam_open_session, e o script `PreSession` chámase despois. Isto permítelle ao administrador do sistema engadir calquera script no proceso de inicio de sesión antes ou despois de que PAM inicialice a sesión.

If you wish to make GDM work with other types of authentication mechanisms (such as a fingerprint or SmartCard reader), then you should implement this by using a PAM service module for the desired authentication type rather than by trying to modify the GDM code directly. Refer to the PAM documentation on your system. How to do this is frequently discussed on the

    gdm-list@gnome.org

mail list, so you can refer to the list archives for more information.

PAM does have some limitations regarding being able to work with multiple types of authentication at the same time, like supporting the ability to accept either SmartCard and the ability to type the username and password into the login program. There are techniques that are used to make this work, and it is best to research how this problem is commonly solved when setting up such a configuration.

If automatic login does not work on a system, check to see if the "gdm-autologin" PAM stack is defined in the PAM configuration. For this to work, it is necessary to use a PAM module that simply does no authentication, or which simply returns PAM_SUCCESS from all of its public interfaces. Assuming your system has a pam_allow.so PAM module which does this, a PAM configuration to enable "gdm-autologin" would look like this:

           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

A configuración de arriba causará que a entrada lastlog non se xere. Se desexa unha entrada lastlog entón use o seguinte para a sesión:

           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 and wtmp

GDM generates utmp and wtmp User Accounting Database entries upon session login and logout. The utmp database contains user access and accounting information that is accessed by commands such as `finger`, `last`, `login`, and `who`. The wtmp database contains the history of user access and accounting information for the utmp database. Refer to the utmp and wtmp man pages on your system for more information.

### Esquema de autenticación do servidor X

Xserver authorization files are stored in a newly created subdirectory of `<var>/run/gdm` at start up. These files are used to store and share a "password" between X clients and the Xserver. This "password" is unique for each session logged in, so users from one session can't snoop on users from another.

GDM only supports the MIT-MAGIC-COOKIE-1 Xserver authentication scheme. Normally little is gained from the other schemes, and no effort has been made to implement them so far. Be especially careful about using XDMCP because the Xserver authentication cookie goes over the wire as clear text. If snooping is possible, then an attacker could simply snoop your authentication password as you log in, regardless of the authentication scheme being used. If snooping is possible and undesirable, then you should use ssh for tunneling an X connection rather then using XDMCP. You could think of XDMCP as a sort of graphical telnet, having the same security issues. In most cases, ssh -Y should be preferred over GDM's XDMCP features.

### Seguranza XDMCP

Even though your display is protected by cookies, XEvents and thus keystrokes typed when entering passwords will still go over the wire in clear text. It is trivial to capture these.

XDMCP is primarily useful for running thin clients such as in terminal labs. Those thin clients will only ever need the network to access the server, and so it seems like the best security policy to have those thin clients on a separate network that cannot be accessed by the outside world, and can only connect to the server. The only point from which you need to access outside is the server. This type of set up should never use an unmanaged hub or other sniffable network.

### Control de acceso XDMCP

O control de acceso de XDMCP está construído empregando envoltorios de TCP. É posíbel compilar GDM sen a compatibilidade de envoltorios de TCP, polo que esta característica podería non admitirse nalgúns sistemas operativos.

Debería usar un nome de daemon `gdm` nos ficheiros `<etc>/hosts.allow` e `<etc>/hosts.deny`. Por exemplo para denegarlle o inicio de sesión desde `.dominio.maligno`, entón engada

    gdm: .dominio.maligno

a `<etc>/hosts.deny`. Tamén precisa engadir

    gdm: .o.seu.dominio

ao seu `<etc>/hosts.allow` se normalmente desautoriza todos os servizos desde todos os equipos. Vexa unha páxina d eman hosts.allow(5) para obter máis detalles.

### Seguranza con devasa

Even though GDM tries to outsmart potential attackers trying to take advantage of XDMCP, it is still advised that you block the XDMCP port (normally UDP port 177) on your firewall unless really needed. GDM guards against denial of service attacks, but the X protocol is still inherently insecure and should only be used in controlled environments. Also each remote connection takes up lots of resources, so it is much easier to do a denial of service attack via XDMCP than attacking a webserver.

It is also wise to block all of the Xserver ports. These are TCP ports 6000+ (one for each display number) on your firewall. Note that GDM will use display numbers 20 and higher for flexible on-demand servers.

X non é un protocolo moi seguro ao usalo por internet, e XDMCP é aínda menos seguro.

### PolicyKit

GDM pode configurarse para usar PolicyKit para permitirlle a un administrador de sistemas o control de se a pantalla de benvida debería fornecer os botóns de apagado e reinicio.

Estes botóns están controlados polas accións `org.freedesktop.consolekit.system.stop-multiple-users` e `org.freedesktop.consolekit.system.restart-multiple-users` respectivamente. A normativa para estas acccións pode configurarse usando a ferramenta polkit-gnome-authorization ou o programa de liña de ordes polkit-auth.

### RBAC (Control de acceso baseado en rol)

GDM pode configurarse para usar RBAC no lugar de PolicyKit. Neste caso a configuración de RBAC úsase para controlar se a pantalla de inicio de sesión debería fornecer os botóns de apagado e reinicio na pantalla de benvida.

Por exemplo, en Oracle Soraris, úsase a autorización «solaris.system.shutdown» para controlar isto. Simplemente modifique o ficheiro `/etc/user_attr` para que o usuario «gdm» teña esta autorización.

## Compatibilidade para ConsoleKit

GDM inclúe compatibilidade para publicar información de inicio de sesión do usuario co marco de traballo de contas de sesión e usuario coñecido como ConsoleKit. ConsoleKit pode facer un seguemento de todos os usuarios coa sesión aberta actualmente. Neste respecto, pode usarse como un substituto dos ficheiros utmp ou utmpx que están dispoñíbeis na maioría dos sistemas operativos Unix.

When GDM is about to create a new login process for a user it will call a privileged method of ConsoleKit in order to open a new session for this user. At this time GDM also provides ConsoleKit with information about this user session such as: the user ID, the X11 Display name that will be associated with the session, the host-name from which the session originates (useful in the case of an XDMCP session), whether or not this session is attached, etc. As the entity that initiates the user process, GDM is in a unique position to know about the user session and to be trusted to provide these bits of information. The use of this privileged method is restricted by the use of the D-Bus system message bus security policy.

No caso de que un usuario con unha sesión existente se autenticara en GDM e solicite retomar unha sesión existente, GDM chama ao método con privilexios de ConsoleKit para desbloquear a sesión. Os detalles exactos do que acontece cando a sesión recibe este sinal de desbloqueo non están definidos e é específico da sesión. Porén, a maioría das sesións desbloquearán o protector de pantalla en resposta.

Cando o usuario queira saír da sesión, ou se GDM ou a sesión saen de forma inesperada a sesión do usuario desrexistrarase desde ConsoleKit.

## Configuración

GDM ten un conxunto de interfaces de configuración. Isto inclúe puntos de integración de scripting, configuración do «daemon», configuración da pantalla de benvida, configuracións xerais da sesión, integración coas configuracións de «gnome-settings-daemon» e configuración da sesión. Estes tipos de integración descríbense en detalle embaixo.

### Puntos de integración de scripts

Os puntos de integración por script de GDM pódense atopar no cartafol `<etc>/gdm/`:

    Xsession
    Init/
    PostLogin/
    PreSession/
    PostSession/

Os scripts `Init`, `PostLogin`, `PreSession` e `PostSession` todos funcionan como se describe embaixo.

For each type of script, the default one which will be executed is called "Default" and is stored in a directory associated with the script type. So the default `Init` script is `<etc>/gdm/Init/Default`. A per-display script can be provided, and if it exists it will be run instead of the default script. Such scripts are stored in the same directory as the default script and have the same name as the Xserver DISPLAY value for that display. For example, if the `<Init>/:0` script exists, it will be run for DISPLAY ":0".

All of these scripts are run with root privilege and return 0 if run successfully, and a non-zero return code if there was any failure that should cause the login session to be aborted. Also note that GDM will block until the scripts finish, so if any of these scripts hang, this will cause the login process to also hang.

When the Xserver for the login GUI has been successfully started, but before the login GUI is actually displayed, GDM will run the `Init` script. This script is useful for starting programs that should be run while the login screen is showing, or for doing any special initialization if required.

After the user has been successfully authenticated GDM will run the `PostLogin` script. This is done before any session setup has been done, including before the pam_open_session call. This script is useful for doing any session initialization that needs to happen before the session starts. For example, you might setup the user's $HOME directory if needed.

After the user session has been initialized, GDM will run the `PreSession` script. This script is useful for doing any session initialization that needs to happen after the session has been initialized. It can be used for session management or accounting, for example.

When a user terminates their session, GDM will run the `PostSession` script. Note that the Xserver will have been stopped by the time this script is run, so it should not be accessed.

Note that the `PostSession` script will be run even when the display fails to respond due to an I/O error or similar. Thus, there is no guarantee that X applications will work during script execution.

All of the above scripts will set the `$RUNNING_UNDER_GDM` environment variable to `yes`. If the scripts are also shared with other display managers, this allows you to identify when GDM is calling these scripts, so you can run specific code when GDM is used.

### Configuración automática ao inicio

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

There is also an `Xsession` script located at `<etc>/gdm/Xsession` which is called between the `PreSession` and the `PostSession` scripts. This script does not support per-display like the other scripts. This script is used for actually starting the user session. This script is run as the user, and it will run whatever session was specified by the Desktop session file the user selected to start.

### Configuración do «daemon»

The GDM daemon is configured using the `<etc>/gdm/custom.conf` file. Default values are stored in GConf in the `gdm.schemas` file. It is recommended that end-users modify the `<etc>/gdm/custom.conf` file because the schemas file may be overwritten when the user updates their system to have a newer version of GDM.

Note that older versions of GDM supported additional configuration options which are no longer supported in the latest versions of GDM.

The `<etc>/gdm/custom.conf` file is in the `keyfile` format. Keywords in brackets define group sections, strings before an equal sign (=) are keys and the data after equal sign represents their value. Empty lines or lines starting with the hash mark (#) are ignored.

The file `<etc>/gdm/custom.conf` supports the "[daemon]", "[security]", and "[xdmcp]" group sections. Within each group, there are particular key/value pairs that can be specified to modify how GDM behaves. For example, to enable timed login and specify the timed login user to be a user named "you", you would modify the file so it contains the following lines:

    [daemon]
    TimedLoginEnable=true
    TimedLogin=you

A full list of supported configuration keys follow:

#### [chooser]

Multicast

      Multicast=false

  Se é verdadeiro e IPv6 está activado, o selector enviará unha consulta multicast á rede local e recollera as respostas dos equipos que están unidos ao grupo multicast.

MulticastAddr

      MulticastAddr=ff02::1

  Este é o enderezo multicast de link local

#### [daemon]

TimedLoginEnable

      TimedLoginEnable=false

  If the user given in `TimedLogin` should be logged in after a number of seconds (set with `TimedLoginDelay`) of inactivity on the login screen. This is useful for public access terminals or perhaps even home use. If the user uses the keyboard or browses the menus, the timeout will be reset to `TimedLoginDelay` or 30 seconds, whichever is higher. If the user does not enter a username but just hits the ENTER key while the login program is requesting the username, then GDM will assume the user wants to login immediately as the timed user. Note that no password will be asked for this user so you should be careful, although if using PAM it can be configured to require password entry before allowing login. Refer to the "Security->PAM" section of the manual for more information, or for help if this feature does not seem to work.

TimedLogin

      TimedLogin=

  Este é o usuario no que se debería iniciar sesión despois dun número especificado de segundos de inactividade.

  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

  Atraso en segundos antes de que o usuario `TimedLogin` se inicie sesión.

AutomaticLoginEnable

      AutomaticLoginEnable=false

  If true, the user given in `AutomaticLogin` should be logged in immediately. This feature is like timed login with a delay of 0 seconds.

AutomaticLogin

      AutomaticLogin=

  This is the user that should be logged in immediately if `AutomaticLoginEnable` is true.

  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

  The username under which the greeter and other GUI programs are run. Refer to the `Group` configuration key and to the "Security->GDM User And Group" section of this document for more information.

Group

      Group=gdm

  The group name under which the greeter and other GUI programs are run. Refer to the `User` configuration key and to the "Security->GDM User And Group" section of this document for more information.

#### Opcións de depuración

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

#### Opcións da interface

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

#### Opcións de seguranza

##### [security]

DisallowTCP

      DisallowTCP=true

  If true, then always append `-nolisten tcp` to the command line when starting attached Xservers, thus disallowing TCP connection. This is a more secure configuration if you are not using remote connections.

#### Compatibilidade XDMCP

##### [xdmcp]

DisplaysPerHost

      DisplaysPerHost=1

  To prevent attackers from filling up the pending queue, GDM will only allow one connection for each remote computer. If you want to provide display services to computers with more than one screen, you should increase this value.

  Note that the number of attached DISPLAYS allowed is not limited. Only remote connections via XDMCP are limited by this configuration option.

Enable

      Enable=false

  Setting this to true enables XDMCP support allowing remote displays/X terminals to be managed by GDM.

  `gdm` listens for requests on UDP port 177. See the Port option for more information.

  If GDM is compiled to support it, access from remote displays can be controlled using the TCP Wrappers library. The service name is `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.

  Please note that XDMCP is not a particularly secure protocol and that it is a good idea to block UDP port 177 on your firewall unless you really need it.

HonorIndirect

      HonorIndirect=true

  Enables XDMCP INDIRECT choosing (i.e. remote execution of `gdmchooser`) for X-terminals which do not supply their own display browser.

MaxPending

      MaxPending=4

  Para evitar os ataques de denegación de servizos, GDM ten un tamaño de cola de conexións pendentes fixo. Só se poden iniciar MaxPending pantallas á vez.

  Please note that this parameter does not limit the number of remote displays which can be managed. It only limits the number of displays initiating a connection simultaneously.

MaxSessions

      MaxSessions=16

  Determines the maximum number of remote display connections which will be managed simultaneously. I.e. the total number of remote displays that can use your host.

MaxWait

      MaxWait=30

  When GDM is ready to manage a display an ACCEPT packet is sent to it containing a unique session id which will be used in future XDMCP conversations.

  GDM will then place the session id in the pending queue waiting for the display to respond with a MANAGE request.

  If no response is received within MaxWait seconds, GDM will declare the display dead and erase it from the pending queue freeing up the slot for other displays.

MaxWaitIndirect

      MaxWaitIndirect=30

  The MaxWaitIndirect parameter determines the maximum number of seconds between the time where a user chooses a host and the subsequent indirect query where the user is connected to the host. When the timeout is exceeded, the information about the chosen host is forgotten and the indirect slot freed up for other displays. The information may be forgotten earlier if there are more hosts trying to send indirect queries then `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.

  Note that GDM in the past used to have a `PingInterval` configuration key which was also in minutes. For most purposes you'd want this setting to be lower than one minute. However since in most cases where XDMCP would be used (such as terminal labs), a lag of more than 15 or so seconds would really mean that the terminal was turned off or restarted and you would want to end the session.

Port

      Port=177

  The UDP port number `gdm` should listen to for XDMCP requests. Do not change this unless you know what you are doing.

Willing

      Willing=<etc>/gdm/Xwilling

  When the machine sends a WILLING packet back after a QUERY it sends a string that gives the current status of this server. The default message is the system ID, but it is possible to create a script that displays customized message. If this script does not exist or this key is empty the default message is sent. If this script succeeds and produces some output, the first line of it's output is sent (and only the first line). It runs at most once every 3 seconds to prevent possible denial of service by flooding the machine with QUERY packets.

### Configuración da interface simple

The GDM default greeter is called the simple Greeter and is configured via GConf. Default values are stored in GConf in the `gdm-simple-greeter.schemas` file. These defaults can be overridden if the "gdm" user has a writable $HOME directory to store GConf settings. These values can be edited using the `gconftool-2` or `gconf-editor` programs. The following configuration options are supported:

#### Chaves de configuración da interface

/apps/gdm/simple-greeter/banner_message_enable

      false (booleano)

  Controla se se mostra ou non o mensaxe de texto.

/apps/gdm/simple-greeter/banner_message_text

      NULL (cadea)

  Specifies the text banner message to show on the greeter window.

/apps/gdm/simple-greeter/disable_restart_buttons

      false (booleano)

  Controls whether to show the restart buttons in the login window.

/apps/gdm/simple-greeter/disable_user_list

      false (booleano)

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

/apps/gdm/simple-greeter/logo_icon_name

      computer (cadea)

  Set to the themed icon name to use for the greeter logo.

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

      [] (lista de cadeas)

  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

      [] (lista de cadeas)

  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 (booleano)

  Controls whether compiz is used as the window manager instead of metacity.

### Configuración da accesibilidade

This section describes the accessibility configuration options available in GDM.

#### GDM Accessibility Dialog And GConf Keys

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.

#### Chaves de accesibilidade de GConf

GDM offers the following GConf keys to control its accessibility features:

##### Chaves de configuración de GDM

/desktop/gnome/interface/accessibility

      false (booleano)

  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 (booleano)

  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 (booleano)

  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 (booleano)

  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.

#### Linking GConf Keys to Accessibility Tools

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.

#### Example Of Modifying Accessibility Tool Configuration

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.

O seguinte é un exemplo de ficheiro `onboard.desktop`:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Teclado en pantalla
    Comment=Usar un teclado en pantalla
    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

O seguinte é un exemplo de ficheiro `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.

### Configuracińo xeral de sesión

The GDM Greeter uses some of the same framework that your desktop session will use. And so, it is influenced by a number of the same GConf settings. For each of these settings the Greeter will use the default value unless it is specifically overridden by a) GDM's installed mandatory policy b) system mandatory policy. GDM installs its own mandatory policy to lock down some settings for security.

### «Daemon» de preferencias de GNOME

GDM conta cos seguintes engadidos de gnome-settings-daemon: a11y-keyboard, background, sound, xsettings.

These are responsible for things like the background image, font and theme settings, sound events, etc.

Plugins can also be disabled using GConf. For example, if you want to disable the sound plugin then unset the following key: `/apps/gdm/simple-greeter/settings-manager-plugins/sound/active`.

### Configuración de sesión de GDM

GDM sessions are specified using the FreeDesktop.org Desktop Entry Specification, which can be referenced at the following URL: 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.

A session can be disabled by editing the desktop file and adding a line as follows: `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.

### Sesión de usuario de GDM e preferencias de idioma

The user's default session and language choices are stored in the `~/.dmrc` file. When a user logs in for the first time, this file is created with the user's initial choices. The user can change these default values by simply changing to a different value when logging in. GDM will remember this change for subsequent logins.

The `~/.dmrc` file is in the standard `INI` format. It has one section called `[Desktop]` which has two keys: `Session` and `Language`.

The `Session` key specifies the basename of the session `.desktop` file that the user wishes to normally use without the `.desktop` extension. The `Language` key specifies the language that the user wishes to use by default. If either of these keys is missing, the system default is used. The file would normally look as follows:

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

## Ordes de GDM

### Ordes do administrador de GDM

The GDM package provides the following commands in `sbindir` intended to be run by the root user:

#### Opcións da liña de ordes de `gdm`

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

##### Opcións da liña de ordes de `gdm`

-?, --help

  Fornece unha vista rápida das opcións de liña de ordes.

--fatal-warnings

  Facer todos os avisos que GDM saian.

--timed-exit

  Saír despois de 30 segundos. Útil para depuración.

--version

  Imprime a versión do daemon GDM.

#### Opcións de liña de ordes de `gdm-restart`

`gdm-restart` stops and restarts GDM by sending the GDM daemon a HUP signal. This command will immediately terminate all sessions and log out users currently logged in with GDM.

#### Opcións de liña de ordes de `gdm-safe-restart`

`gdm-safe-restart` para e reinicia GDM enviando ao «daemon» GDM un sinal USR1. GDM reiniciarase tan pronto como todos os usuarios saian.

#### Opcións da liña de ordes de `gdm-stop`

`gdm-stop` para GDM enviando ao «daemon» GDM un sinal TERM.

## Resolución de problemas

This section discusses helpful tips for getting GDM working. In general, if you have a problem using GDM, you can submit a bug or send an email to the gdm-list mailing list. Information about how to do this is in the Introduction section of the document.

If GDM is failing to work properly, it is always a good idea to include debug information. To enable debugging, set the debug/Enable key to "true" in the `<etc>/gdm/custom.conf` file and restart GDM. Then use GDM to the point where it fails, and debug output will be sent to the system log file (`<var>/log/messages` or `<var>/adm/messages` depending on your Operating System). If you share this output with the GDM community via a bug report or email, please only include the GDM related debug information and not the entire file since it can be large. If you do not see any GDM syslog output, you may need to configure syslog (refer to the syslog man page).

### GDM non se inicia

There are a many problems that can cause GDM to fail to start, but this section will discuss a few common problems and how to approach tracking down a problem with GDM starting. Some problems will cause GDM to respond with an error message or dialog when it tries to start, but it can be difficult to track down problems when GDM fails silently.

First make sure that the Xserver is configured properly. The GDM configuration file contains a command in the [server-Standard] section that is used for starting the Xserver. Verify that this command works on your system. Running this command from the console should start the Xserver. If it fails, then the problem is likely with your Xserver configuration. Refer to your Xserver error log for an idea of what the problem may be. The problem may also be that your Xserver requires different command-line options. If so, then modify the Xserver command in the GDM configuration file so that it is correct for your system.

Also make sure that the `/tmp` directory has reasonable ownership and permissions, and that the machine's file system is not full. These problems will cause GDM to fail to start.

## Licenza

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.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

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