# Manual de referencia do Xestor de entrada de GNOME

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

Para obter máis información sobre GDM consulte a páxina web do proxecto en 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 a miniaplicación 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` executarase 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 cousa que se debería executar antes de que a sesión do usuario se inicialice. O script `PreSession`chámase despois de que a sesión se inicie.

### 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 permite que varios usuarios poida iniciar sesión ao mesmo tempo. Despois de que o primeiro inicie sesión, outros usuaris poden iniciar sesión mediante o Trocador de usuarios do Panel de GNOME, ou desde o botón «Trocar usuario» do diálogo da Pantalla de Bloquedo do Protector de pantalla de GNOME. A sessión activa cambiarase usando o mesmo mecanismo. Teña en conta que algunhas distribucións poderían non incluír o Trocar de usuarios á configuración predeterminada do panel. Pode engadila usando o menú contextual do panel.

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

Por razóns de seguranza recoméndase ter un id de usuario e group para que funcione correctamente a operación. Este usuario e grupo son «gdm» na maioría dos sistemas normalmente, aínda que poden configurarse para calquera usuario ou grupo. Todos os programs de GUI de GDM executaranse con este usuario, polo que os programas que interactúan con este usuario son executados nunha caixa de area. Este usuario e grupo deberían ter privilexios limitados.

O único privilexio especial que o usuario «gdm» é a habilidade de ler e escribir ficheiros Xauth no directorio `<var>/run/gdm`. O directorio `<var>/run/gdm` debería ter root:gdm como propietario e 1777 como permisos.

Non debería, baixo ningunha circunstancia, configurar o usuario/grupo de GDM a un usuario cuxo usuario poida ter acceso facilmente, como un usuario `nobody`. Calquera usuario que acceda a unha chave de Xauth pode fisgonear e controlar os programas de GUI en exsecución nunha sesión asociada ou levar a cabo ataques de denegación de servizo. É importante asegurarse que o sistema está configurado correctamente para que só o usuario «gdm» teña acceso a esos ficheiros e que non pode iniciar sesión na súa conta. Por exemplo, a conta debería configurarse para non ter contrasinal ou non permitir que os usuarios non root poidan iniciar sesión na súa conta.

A configuración do greeter de GDM está almacenado en GConf. Para permitir ao usuario GDM escribir configuracións é preciso darlle ao usuario «gdm» permisos para escribir no directorio $HOME. Os usuaris poderían configurar a configuración GConf por omisión á que desexe para evitar ter que fornecerlle ao usuario «gdm» un directorio $HOME. Porén, algunhas características de GDM poderían desactivarse se non pode escribir a información de estado na configuración de GConf.

### PAM

GDM usa PAM para a autenticación de inicio de sesión. PAM significa Pluggable Authentication Module, e é usado pola maioría dos programas que solicitan autenticacións no seu computador. Permítelle ao administrador configurar comportamentos de autenticación específicos para varios programas de inicio de sesión (como para ssh, GUI de inicio de sesión, etc.)

PAM é complicado e amplamente configurábel, esta documentación non pretende explicar isto en detalle. No lugar, pretende darlle unha pequena vista previa de como a configuración de PAM se relaciona con GDM, como se configura normalmente PAM con GDM, e problemas coñecidos. Agardase que unha persona que precisa configurar PAM precisa debería ter que facer máis aló de ler a documentación de PAM para entender como configuralo e entender os termos usados nesta sección.

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.

Se desexa facer que GDM traballe con outros tipos de mecanismos de autenticación (como con lectores de pegada dixital ou tarxetas intelixentes), entón terá que implementalo usando un módulo de servizo de PAM para que o tipo de autenticación desexado no lugar de ter que modificar o código de GDM directamente. Olle a documentación de PAM no seu sistema. Como facer isto normalmente discútese na rolda de correo

    gdm-list@gnome.org

, polo que revise os arquivos da lista para obter máis información.

PAM ten algunhas limitacións ao ser capaz de traballar con varios tipos de autenticación ao mesmo tempo, como permitir aceptar tanto unha tarxeta intelixente e permitir escribir un nome de usuario e contrasinal no programa de inicio de sesión. Hai técnicas que poden usarse para facelo funcionar, e é mellor investigar cómo se soluciona normalmente este problema ao configurar dita configuración.

Se o inicio de sesión automático non funciona no seu sistema, comprobe se está definido «gdm-autologin» na configuración de PAM. Para facelo funcionar, é preciso usar un módulo de PAM que simplemente non precisa autenticación, ou que simplemente retorna PAM_SUCCESS desde todas as súas interfaces públicas. Asumindo que o seu sistema ten o módulo pam_allow.so que fai isto, a configuración de PAM para activar «gdm-autologin» debería ser semellante a:

           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

Se o computador é usado por varias personas, o que fai o inicio de sesión automatico non axeitado, pode querer que varios usuarios inicien sesión sen escribir contrasinal. Esta característica pode activarse con unha configuración por usuario na ferramenta de administración de usuarios desde gnome-system-tools; isto faise comprobando que o usuario é membro do grupo de usuarios «nopasswdlogin» antes de preguntarlle polo contrasinal. Para facelo funcionar, o ficheiro de configuración de PAM para o servizo «gdm» debería incluír unha liña como a seguinte:

          gdm auth  sufficient  pam_succeed_if.so  user ingroup nopasswdlogin

### utmp e wtmp

GDM xera entradas de Contas de USuario utmp e wtmp sobre a sesión de inicio e de peche de sesión. A base de datos utmp contén os datos de acceso do usuario e información da sesión que é accesible por ordes como `finger`, `last`, `login` e `who`.As páxinas man de utmp e wtmp do seu sistema teñen máis información.

### Esquema de autenticación do servidor X

Os ficheiros de autorización de Xserver están almacenados nun novo subdirectorio de `<var>/run/gdm` ao iniciar. Estos ficheiros úsanse para almacenar e compartir un «contrasinal» entre os clientes X e o Xserver. Este «contrasinal» é único para cada sesión iniciada, polo que os usuarios dunha sesión non poden fisgonear no resto dos usuarios.

GDM só admite o esquema de autenticación MIT-MAGIC-COOKIE-1. Normalmente pouco se pode gañar doutros esquemas, e non se fixo ningún esforzo por implementar máis aló del. Sexa especialmente coidadoso sobre usar XDMCP xa que a cookie de autenticación de Xserver vai sobre a rede como texto plano. Se é posíbel fisgonear, entón un atacante podería obter o seu contrasinal de autenticación en cando inicie sesión, sen importar o esquema de autenticación usado. Se fisgonear é posíbel e non desexábel, entón debería usar ssh para facer un túnel dunha conexión de X no lugar de usar XDMCP. Pode pensar en XDMCP como un telnet gráfico, tendo os seus mesmos problemas de seguridade. Na maioría dos casos, ssh -Y é preferíbel sobre as características de XDMCP de GDM.

### Seguranza XDMCP

Aínda que a súa pantalla está protexida por cookies, XEvents e polo tanto as pulsacións de teclas ao escribir contrasinais enviaránse en texto plano polo cable. E é trivial capturalas.

XDMCP é útil primordialmente para executar clientes lixeiros como terminais de laboratorio. Estos clientes lixeiros só precisarán acceso por rede ao servidor, polo que semellaran unha política seguranza boa ter os clientes lixeiros nunha rede separada que non poida ser accesible desde o exterior, e só poden conectarse ao servidor. O único punto desde o que precisa ter acceso ao exterior é o servidor. Este tipo de configuración nunca debería usarse nun hub sen xestionar ou nunha rede analizábel.

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

Tamén se aconsella bloquear todos os portos de Xserver. Estos portros TCP 6000+ (un para cada número de pantalla) no seu firewall. Teña en conta que GDM usará os números de pantalla 20 e superiores para os servidores baixo demanda flexíbeis.

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.

Cando GDM está a piques de crear un novo proceso de inicio de sesión para un usuario chamará a un método privilexiado de ConsoleKit para abrir unha nova sesión para este usuario. Neste momento GDM tamén lle fornece a ConsoleKit información sobre esta sesión de usuario como: o ID de usuario, o nome da pantalla X11 que será asociada coa sesión, o nome do anfitrión desde o que se orixina a sesión (útil nos casos dunha sesión XDMCP), tanto se a sesión é anexada ou non, etc. Como a entidade que inicia o proceso de usuario, GDM está nunha posición única que coñece sobre a sesión de usuario e se confiábel de fornecer estes anacos de información. O uso desde método privilexiado está restrinxido polo uso dunha política de seguridade do bus de mensaxes do sistema D-Bus.

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.

Para cada tipo de script, o por defecto que se executa será chamado «Default» e almacenarase nun directorio asociado co tipo de script. POlo que os scripts por omisitón `Init` esta en `<etc>/gdm/Init/Default`. Fornecerase un script por pantalla, e se existe executarase no lugar do script por omisión. Ditos scripts almacénanse no mesmo directorio que o script por omisión e teñen o mesmo nome que o valor de DISPLAY de Xserver para cada pantalla. Por exemplo, se o script `<Init>/:0`, executarase para DISPLAY «:0».

Todos estos scripts son executados con privilexios de root e retornan 0 se se executaron con éxto, e un código de erro non cero se houbo algún fallo que podería causar que unha sesión de inicio de sesión sexa abortada. Teña en conta que GDM bloquearase ate que os scripts rematen, polo que se ditos scripts se deteñen, isto causará que o proceso de inicio tamén se deteña.

Cando o Xserver para o GUI de inicio de sesión foi iniciado correctamente, pero antes de que o GUI de inicio de sesión se mostre, GDM executará o script `Init`. Este script é útil para iniciar programas que deberían executarse mentres que a pantalla de inicio de sesión se mostra, ou para facer calquera inicialización especial requirida.

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.

Despois de que a sesión de usuario se inicie, GDM executará o script `PreSession`. Este script é útil para facer calquera inicialiación de sesión que precisa levarse a cabo despois de que a sesión fora inicializada. Pode ser útil para a xestión de sesións e contabilización, por exemplo.

Cando un usuario remata a súa sesión, GDM executará o script `PostSession`. Teña en conta que Xserver estará parado para cando o script se execute, polo que non poderá acceder a él.

Teña en conta que o script `PostSession` executarase aínda cando a pantalla falle ao responder debido a un erro de I/O ou similar. Dito isto, non hai garantía que aplicacións X funcionarán durante a execución de script.

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 continuación móstrase unha lista de chaves de configuración admitidas:

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

  Se é verdadeiro, o usuario fornecido en `AutomaticLogin` debería iniciar sesión inmediatamente. Esta característica é como un inicio de sesión por tempo con un atraso de 0 segundos.

AutomaticLogin

-     AutomaticLogin=

  Isto é o usuario que debería inciar sesión inmediatamente se `AutomaticLoginEnable` é verdadeiro.

  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

  Se o nome de usuario baixo o cal a pantalla de benvida e outros programas de GUI se executan. Revise a chave de configuración de `Group` e a sección de «Seguridade->Grupo e Usuario de GDM» desde documento para máis información.

Group

-     Group=gdm

  Se o grupo baixo o cal a pantalla de benvida e outros programas de GUI se executan. Revise a chave de configuración de `User` e a sección de «Seguridade->Grupo e Usuario de GDM» desde documento para máis información.

#### Opcións de depuración

#### [debug]

Enable

-     Enable=false

  Para activar a depuración, estabeleza a chave debug/Enable a «true» no ficheiro `<etc>/gdm/custom.conf` e reinicie GDM. Entón a saída de depuración enviarase ao seu ficheiro de rexistro do sistema (`<var>/log/messages` ou `<var>/adm/messages` dependendo do sistema operativo).

#### Opcións da interface

#### [greeter]

IncludeAll

-     IncludeAll=true

  Se é verdadeiro, entón o explorador de caras mostrará todos os usuarios da máquina local. Se é falso, o explorador de caras só mostrará os usuarios que iniciaron sesión recentemente.

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

  Se é falso, entón GDM só mostra os usuarios que iniciaron sesión anteriormente no seu sistema (usuarios locais ou de NIS/LDA) chamando á interface de ConsoleKit `ck-history`.

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

  Ao configurar isto a verdadeiro actívase a compatibilidade con XDMCP o que lle permite ás pantallas remotas/terminais X ser xestionados por GDM.

  `gdm` escoita peticións por UDP no porto 177. Vexa a opción Port para máis información.

  Se GDM está compilado para admitilo, o acceso desde pantallas remotas pode controlarse usando a biblioteca de Wrappers TCP. O nome do servizo é `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.

  Teña en conta que XDMCP non é un protocolo particularmente seguro e que é boa idea bloquear o porto UDP 177 no seu cortalumes a non ser que o precise.

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

  Especifica o mensaxe de texto do banner a mostrar na pantalla de benvida.

/apps/gdm/simple-greeter/disable_restart_buttons

-     false (booleano)

  Controla se mostrar ou non os botóns de reinicio na pantalla de inicio de sesión.

/apps/gdm/simple-greeter/disable_user_list

-     false (booleano)

  Se é verdadeiro, entón o explorador de caras cos usuarios coñecidos mostrarase na pantalla de inicio de sesión.

/apps/gdm/simple-greeter/logo_icon_name

-     computer (cadea)

  Configurado ao nome de tema de iconas para o logotipo da benvida.

/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)

  Controla se se usa compiz como xestor de xanelas no lugar de metacity.

### Configuración da accesibilidade

Esta sección describe as opcións de configuración de accesibilidade dispoñibles en GDM.

#### Diálogo de accesibilidade e chaves de GConf de GDM

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 ofrece as seguintes chaves de GConf para controlar as características de accesibilidade:

#### Chaves de configuración de GDM

/desktop/gnome/interface/accessibility

-     false (booleano)

  Controla se a infraestrutura de accesibilidade debería iniciarse coa interface de GDM. Isto é requirido para que funcionen varios programas de tecnoloxía de accesibilidade.

/desktop/gnome/applications/at/screen_magnifier_enabled

-     false (booleano)

  Se está configurado entón as ferramentas de asistencia ligadas con esta chave de GConf iniciaranse co programa de interface de GDM. Por omisión isto é a aplicación de ampliación de pantalla.

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

#### Ligando chaves GConf coas ferramentas de accesibilidade

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.

#### Exemplo de modificación da configuración da ferramenta de accesibilidade

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=Clics de rato por software
    Comment=Leva a cabo clics pousando o punteiro do rato
    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

Teña en conta a liña con AutostartCondition que liga ambos ficheiros de escritorio coa chave GConf para o teclado en pantalla.

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.

Isto é responsábel de cousas como a imaxe de fondo, o tipo de letra e as preferencias do tema, eventos de son, 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.

Unha sesión pode desactivarse editando o ficheiro desktop e engadindo unha liña como segue: `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` é o daemon principal que configura o ambiente de inicio de sesión gráfico e inicia os axudantes necesarios.

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

Este programa é software libre; pode redistribuílo e/ou modificalo baixo os termos da Licenza pública xeral de GNU como foi publicada pola Fundación de Software Libre; tanto a versión 2 da licenza ou calquera versión posterior (á súa elección).

Este programa distribúese coa esperanza de que sexa útil, pero SEN NINGUNHA GARANTÍA. nin sequera a garantía implícita de MERCANTIBILIDADE ou AXEITAMENTo PARA UN PROPÓSITO EN PARTICULAR. Vexa a LIcenza Pública Xeral de GNU para obter máis información.

Inclúese unha copia da Licenza Pública Xeral de GNU como un apéndice á Guía de Usuarios de GNOME. Tamén pode obter unha copia da Licenza Pública Xeral de GNU desde a Fundación de Sotware Libre visitando o seu sitio web ou escribindo a

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