<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY version "2.26.0">
<!ENTITY date "02/10/2009">
<!ENTITY mdash "&#8212;">
<!ENTITY percnt "&#x0025;">
]>
<article id="index" lang="en">
  <articleinfo>
    <title>Manual de referencia do Xestor de entrada de GNOME</title>

    <revhistory>
      <revision>
        <revnumber>0.0</revnumber>
        <date>2008-09</date>
      </revision>
    </revhistory>

    <abstract role="description">
      <para>GDM é o Xestor de entrada de GNOME, un programa gráfico de inicio de sesión.</para>
    </abstract>

    <authorgroup>
      <author>
        <firstname>Martin</firstname><othername>K.</othername>
           <surname>Petersen</surname>
        <affiliation>
          <address><email>mkp@mkp.net</email></address>
        </affiliation>
      </author>
      <author>
        <firstname>George</firstname><surname>Lebl</surname>
        <affiliation>
          <address><email>jirka@5z.com</email></address>
        </affiliation>
      </author>
      <author>
        <firstname>Jon</firstname><surname>McCann</surname>
        <affiliation>
          <address><email>mccann@jhu.edu</email></address>
        </affiliation>
      </author>
      <author>
        <firstname>Ray</firstname><surname>Strode</surname>
        <affiliation>
          <address><email>rstrode@redhat.com</email></address>
        </affiliation>
      </author>
      <author role="maintainer">
        <firstname>Brian</firstname><surname>Cameron</surname>
        <affiliation>
          <address><email>Brian.Cameron@Oracle.COM</email></address>
        </affiliation>
      </author>
    </authorgroup>
    <copyright>
      <year>1998</year>
      <year>1999</year>
      <holder>Martin K. Petersen</holder>
    </copyright>
    <copyright>
      <year>2001</year>
      <year>2003</year>
      <year>2004</year>
      <holder>George Lebl</holder>
    </copyright>
    <copyright>
      <year>2003</year>
      <year>2007</year>
      <year>2008</year>
      <holder>Red Hat, Inc.</holder>
    </copyright>
    <copyright>
      <year>2003</year>
       <year>2011</year>
       <holder>Oracle and/or its affiliates. All rights reserved.</holder>
    </copyright>

    

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

  <!-- ============= Preface ================================== -->

  <sect1 id="preface">
    <title>Termos e convencións usados neste manual</title>

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

    <para>
      Chooser - A program used to select a remote host for managing a
      display remotely on the attached display (<command>gdm-host-chooser</command>).
    </para>

    <para>
      FreeDesktop - The organization providing desktop standards, such as the
      Desktop Entry Specification used by GDM.
      <ulink type="http" url="http://www.freedesktop.org/">
      http://www.freedesktop.org</ulink>.
    </para>
    <para>GDM: O xestor de entrada de GNOME. Úsase para describir o paquete de software como un todo.</para>

    <para>
      Greeter - The graphical login window (provided by <command>gnome-shell</command>).
    </para>

    <para>PAM: Mecanismo de engadidos de autenticación (Pluggable Autentication Mechanism)</para>

    <para>XDMCP: Protocolo de xestión de pantallas X (X Display Manager Protocol)</para>

    <para>
      Xserver - An implementation of the X Window System.  For example the
      Xorg Xserver provided by the X.org Foundation
      <ulink type="http" url="http://www.x.org/">http://www.x.org</ulink>.
    </para>

    <para>
      Paths that start with a word in angle brackets are relative to the
      installation prefix. I.e. <filename>&lt;share&gt;/pixmaps/</filename>
      refers to <filename>/usr/share/pixmaps</filename> if GDM was
      configured with <command>--prefix=/usr</command>.
    </para>
  </sect1>

  <!-- ============= Overview ================================= -->

  <sect1 id="overview">
    <title>Vista xeral</title>

    <sect2 id="introduction">
      <title>Introdución</title>

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

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

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

      <para>
        For further information about GDM, refer to the project website at
        <ulink type="http" url="http://wiki.gnome.org/Projects/GDM/">
        http://wiki.gnome.org/Projects/GDM</ulink>.
      </para>

      <para>
        For discussion or queries about GDM, refer to the discussion forum at
        <ulink type="http" url="https://discourse.gnome.org/tag/gdm">
        https://discourse.gnome.org/tag/gdm</ulink>.
        The archives of the previous mailing list are also a good resource to
        check to seek answers to common questions. The list was archived at
        <ulink type="http" url="https://mail.gnome.org/archives/gdm-list/">
        https://mail.gnome.org/archives/gdm-list/</ulink> and has a search
        facility to look for messages with keywords.
      </para>

      <para>
        Please submit any bug reports or enhancement requests to
        <ulink type="http" url="https://gitlab.gnome.org/GNOME/gdm/-/issues/">
        https://gitlab.gnome.org/GNOME/gdm/-/issues/</ulink>.
      </para>
    </sect2>

    <sect2 id="stability">
      <title>Estabilidade de interfaces</title>

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

      <para>
        Interfaces which continue to be supported in a stable fashion include
        the Init, PreSession, PostSession, PostLogin, and Xsession scripts.
        Some daemon configuration options in the 
        <filename>&lt;etc&gt;/gdm/custom.conf</filename> file continue to be
        supported.  Also, the <filename>~/.dmrc</filename>, and face browser
        image locations are still supported.
      </para>

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

    </sect2>

    <sect2 id="functionaldesc">
      <title>Descrición funcional</title>

<!--
<para>
        TODO - Would be good to discuss D-Bus, perhaps the new GObject model,
               and to explain the reasons why the rewrite made GDM better.
               From a high-level overview perspective, rather than the
               technical aspects.
</para>
-->

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

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

      <para>
        Regardless of the display type, GDM will do the following when it
        manages the display.  It will start an Xserver process, then run the
        <filename>Init</filename> script as the root user, and start the
        greeter program on the display.
      </para>

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

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

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

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

      <para>
        In addition to authentication, the greeter program allows the user to
        select which session to start and which language to use.  Sessions are
        defined by files that end in the .desktop suffix and more information
        about these files can be found in the "GDM User Session and Language
        Configuration" section of this document.  By default, GDM is configured
        to display a face browser so the user can select their user account by
        clicking on an image instead of having to type their username. GDM
        keeps track of the user's default session and language in the user's
        <filename>~/.dmrc</filename> and will use these defaults if the user
        did not pick a session or language in the login GUI.
      </para>

      <para> 
        After authenticating a user, the daemon runs the
        <filename>PostLogin</filename> script as root, then runs the  
        <filename>PreSession</filename> script as root.  After running these
        scripts, the user session is started.  When the user exits their 
        session, the <filename>PostSession</filename> script is run as root.
        These scripts are provided as hooks for distributions and end-users
        to customize how sessions are managed.  For example, using these 
        hooks you could set up a machine which creates the user's $HOME
        directory on the fly, and erases it on logout.  The difference 
        between the <filename>PostLogin</filename> and
        <filename>PreSession</filename> scripts is that
        <filename>PostLogin</filename> is run before the pam_open_session call
        so is the right place to do anything which should be run before the
        user session is initialized.  The <filename>PreSession</filename>
        script is called after session initialization.
      </para>
    </sect2>

    <sect2 id="greeterpanel">
      <title>O panel da interface de entrada con temas</title>
      <para>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.</para>

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

    <sect2 id="accessibility">
      <title>Accesibilidade</title>

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

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

    <sect2 id="facebrowser">
      <title>O visor de rostros de GDM</title>

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

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

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

      <para>
        The icons used by GDM can be installed globally by the sysadmin or can
        be located in the user's home directories.  If installed globally
        they should be in the <filename>&lt;share&gt;/pixmaps/faces/</filename>
        directory and the filename should be the name of the user.  Face image
        files should be a standard image that GTK+ can read, such as PNG or
        JPEG.  Face icons placed in the global face directory must be readable
        to the GDM user.
      </para>

<!--
<para>
        TODO - In the old GDM the ~/gnome2/gdm file is used, but the new code
               seems to use ~/.gnome/gdm.  Error?
</para>
-->
      <para>
        If there is no global icon for the user, GDM will look in the user's
        $HOME directory for the image file.  GDM will first look for the user's
        face image in <filename>~/.face</filename>.  If not found, it will try 
        <filename>~/.face.icon</filename>.  If still not found, it will use the
        value defined for "face/picture=" in the 
        <filename>~/.gnome2/gdm</filename> file.
      </para>

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

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

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

    </sect2>

    <sect2 id="xdmcp">
      <title>XDMCP</title>

<!--
<para>
        TODO - What XDMCP features actually work?   I know that the
               chooser is missing.
</para>
-->

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

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

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

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

      <para>
        If XDMCP seems to not be working, make sure that all machines are
        specified in <filename>/etc/hosts</filename>.
      </para>

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

    <sect2 id="logging">
      <title>Rexistro de actividade</title>

      <para>
        GDM uses syslog to log errors and status.  It can also log debugging
        information, which can be useful for tracking down problems if GDM is
        not working properly.  Debug output can be enabled by setting the
        debug/Enable key to "true" in the
        <filename>&lt;etc&gt;/gdm/custom.conf</filename> file.
      </para>

      <para>
        Output from the various Xservers is stored in the GDM log directory,
        which is normally <filename>&lt;var&gt;/log/gdm/</filename>.  Any
        Xserver messages are saved to a file associated with the display value,
        <filename>&lt;display&gt;.log</filename>.  
      </para>

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

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

    <sect2 id="fusa">
      <title>Cambio rápido de usuarios</title>

      <para>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.</para>
      <para>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.</para>
    </sect2>
  </sect1>

  <!-- ============= Security ================================= -->

  <sect1 id="security">
    <title>Seguranza</title>

    <sect2 id="gdmuser">
      <title>O usuario e grupo de GDM</title>

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

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

      <para>
        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
        <filename>nobody</filename>.  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.
      </para>

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

    <sect2 id="PAM">
      <title>PAM</title>

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

      <para>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.</para>
        
      <para>
        PAM configuration has different, but similar, interfaces on different
        Operating Systems, so check the
        <ulink type="help" url="man:pam.d">pam.d</ulink> or
        <ulink type="help" url="man:pam.conf">pam.conf</ulink> man page for
        details.  Be sure you read the PAM documentation and are comfortable
        with the security implications of any changes you intend to make to
        your configuration.
      </para>

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

      <para>
        The <filename>PostLogin</filename> script is run before
        pam_open_session is called, and the <filename>PreSession</filename>
        script is called after.  This allows the system administrator to add
        any scripting to the login process either before or after PAM 
        initializes the session.
      </para>

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

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

      <para>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:</para>

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

      <para>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:</para>

<screen>
       gdm-autologin session required pam_unix_session.so.1
</screen>

      <para>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:</para>

<screen>
      gdm auth  sufficient  pam_succeed_if.so  user ingroup nopasswdlogin
</screen>

    </sect2>

    <sect2 id="utmpwtmp">
      <title>utmp e wtmp</title>

      <para>
        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
        <command>finger</command>, <command>last</command>,
        <command>login</command>, and <command>who</command>.  The wtmp
        database contains the history of user access and accounting 
        information for the utmp database.  Refer to the 
        <ulink type="help" url="man:utmp">utmp</ulink> and
        <ulink type="help" url="man:wtmp">wtmp</ulink>
        man pages on your system for more information.
      </para>
    </sect2>

    <sect2 id="xauth">
      <title>Esquema de autenticación do servidor X</title>

      <para>
        Xserver authorization files are stored in a newly created subdirectory
        of <filename>&lt;var&gt;/run/gdm</filename> 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.
      </para>

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

    </sect2>

    <sect2 id="xdmcpsecurity">
      <title>Seguranza XDMCP</title>

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

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

    </sect2>

    <sect2 id="xdmcpaccess">
      <title>Control de acceso XDMCP</title>

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

      <para>
        You should use the daemon name <command>gdm</command> in the
        <filename>&lt;etc&gt;/hosts.allow</filename> and
        <filename>&lt;etc&gt;/hosts.deny</filename> files.  For example to 
        deny computers from <filename>.evil.domain</filename> from logging in,
        then add
      </para>
<screen>
gdm: .evil.domain
</screen>
      <para>
        to <filename>&lt;etc&gt;/hosts.deny</filename>.  You may also need
        to add
      </para>
<screen>
gdm: .your.domain
</screen>
      <para>
        to your <filename>&lt;etc&gt;/hosts.allow</filename> if you normally
        disallow all services from all hosts.  See the
        <ulink type="help" url="man:hosts.allow">hosts.allow(5)</ulink> man
        page for details.
      </para>
    </sect2>

    <sect2 id="firewall">
      <title>Seguranza con devasa</title>

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

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

      <para>X non é un protocolo moi seguro ao usalo por internet, e XDMCP é aínda menos seguro.</para>
    </sect2>

    <sect2 id="policykit">
      <title>PolicyKit</title>

<!--
<para>
        TODO - Should we say more?
</para>
-->

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

      <para>
        These buttons are controlled by the
        <filename>org.freedesktop.consolekit.system.stop-multiple-users</filename>
        and
        <filename>org.freedesktop.consolekit.system.restart-multiple-users</filename>
        actions respectively.  Policy for these actions can be set up using the
        polkit-gnome-authorization tool, or the polkit-auth command line program.
      </para>
 
    </sect2>

    <sect2 id="rbac">
      <title>RBAC (Control de acceso baseado en rol)</title>

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

      <para>
        For example, on Oracle Solaris, the "solaris.system.shutdown"
        authorization is used to control this.  Simply modify the 
        <filename>/etc/user_attr</filename> file so that the "gdm"
        user has this authorization.
      </para>
    </sect2>

  </sect1>

  <!-- ============= ConsoleKit ================================ -->

  <sect1 id="consolekit">
    <title>Compatibilidade para ConsoleKit</title>

<!--
<para>
    TODO - Should we update these docs?  Probably should mention any 
           configuration that users may want to do for using it with GDM?
           If so, perhaps this section should be moved to a subsection of
           the "Configure" section?
</para>
-->

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

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

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

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

  <!-- ============= Configuration ============================= -->

  <sect1 id="configuration">
    <title>Configuración</title>

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

    <sect2 id="scripting">
      <title>Puntos de integración de scripts</title>
      
      <para>
        The GDM script integration points can be found in the
        <filename>&lt;etc&gt;/gdm/</filename> directory:
      </para>

<screen>
Xsession
Init/
PostLogin/
PreSession/
PostSession/
</screen>

      <para>
        The <filename>Init</filename>, <filename>PostLogin</filename>,
        <filename>PreSession</filename>, and <filename>PostSession</filename>
        scripts all work as described below.
      </para>

      <para>
        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 <filename>Init</filename> script is 
        <filename>&lt;etc&gt;/gdm/Init/Default</filename>.  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 <filename>&lt;Init&gt;/:0</filename>
        script exists, it will be run for DISPLAY ":0".
     </para>

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

      <para>
        When the Xserver for the login GUI has been successfully started, but
        before the login GUI is actually displayed, GDM will run the
        <filename>Init</filename> 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.
      </para>

      <para>
        After the user has been successfully authenticated GDM will run the
        <filename>PostLogin</filename> 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.
      </para>

      <para>
        After the user session has been initialized, GDM will run the
        <filename>PreSession</filename> 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.
      </para>

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

      <para>
        Note that the <filename>PostSession</filename> 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.
      </para>

      <para>
        All of the above scripts will set the
        <filename>$RUNNING_UNDER_GDM</filename> environment variable to
        <filename>yes</filename>.  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.
      </para>
    </sect2>

    <sect2 id="autostart">
      <title>Configuración automática ao inicio</title>
      
      <para>
        The <filename>&lt;share&gt;/gdm/autostart/LoginWindow</filename>
        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.
      </para>

      <para>
        Any <filename>.desktop</filename> 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.
      </para>
    </sect2>

    <sect2 id="xsessionscript">
      <title>Script Xsession</title>

      <para>
        There is also an <filename>Xsession</filename> script located at
        <filename>&lt;etc&gt;/gdm/Xsession</filename> which is called between
        the <filename>PreSession</filename> and the
        <filename>PostSession</filename> 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. 
      </para>
    </sect2>

    <sect2 id="daemonconfig">
      <title>Configuración do «daemon»</title>

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

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

      <para>
        The <filename>&lt;etc&gt;/gdm/custom.conf</filename> file is in the
        <filename>keyfile</filename> 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.  
      </para>

      <para>
        The file <filename>&lt;etc&gt;/gdm/custom.conf</filename> 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:
      </para>
     
<screen>
[daemon]
TimedLoginEnable=true
TimedLogin=you
</screen>

      <para>A continuación móstrase unha lista de chaves de configuración admitidas:</para>

      <sect3 id="choosersection">
        <title>[chooser]</title>
        <variablelist>

          <varlistentry>
            <term>Multicast</term>
            <listitem>
              <synopsis>Multicast=false</synopsis>
              <para>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.</para>
            </listitem>
          </varlistentry>
         
          <varlistentry>
            <term>MulticastAddr</term>
            <listitem>
              <synopsis>MulticastAddr=ff02::1</synopsis>
              <para>Este é o enderezo multicast de link local.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="daemonsection">
        <title>[daemon]</title>
        <variablelist>
          <varlistentry>
            <term>TimedLoginEnable</term>
            <listitem>
              <synopsis>TimedLoginEnable=false</synopsis>
              <para>
                 If the user given in <filename>TimedLogin</filename> should be
                logged in after a number of seconds (set with
                <filename>TimedLoginDelay</filename>) 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 
                <filename>TimedLoginDelay</filename> 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-&gt;PAM"
                section of the manual for more information, or for help if this
                feature does not seem to work.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TimedLogin</term>
            <listitem>
              <synopsis>TimedLogin=</synopsis>
              <para>Este é o usuario no que se debería iniciar sesión despois dun número especificado de segundos de inactividade.</para>
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TimedLoginDelay</term>
            <listitem>
              <synopsis>TimedLoginDelay=30</synopsis>
              <para>
                Delay in seconds before the <filename>TimedLogin</filename>
                user will be logged in.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutomaticLoginEnable</term>
            <listitem>
              <synopsis>AutomaticLoginEnable=false</synopsis>
              <para>
                If true, the user given in <filename>AutomaticLogin</filename>
                should be logged in immediately. This feature is like timed
                login with a delay of 0 seconds.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutomaticLogin</term>
            <listitem>
              <synopsis>AutomaticLogin=</synopsis>
              <para>
                This is the user that should be logged in immediately if
                <filename>AutomaticLoginEnable</filename> is true.
              </para>
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>User</term>
            <listitem>
              <synopsis>User=gdm</synopsis>
              <para>
                The username under which the greeter and other GUI programs
                are run.  Refer to the <filename>User</filename>
                configuration key and to the "Security-&gt;GDM User And
                Group" section of this document for more information.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Group</term>
            <listitem>
              <synopsis>Group=gdm</synopsis>
              <para>
                The group name under which the greeter and other GUI programs
                are run.  Refer to the <filename>Group</filename>
                configuration key and to the "Security-&gt;GDM User And
                Group" section of this document for more information.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="debugsection">
        <title>Opcións de depuración</title>
      
        <variablelist>
          <title>[debug]</title>
          
          <varlistentry>
            <term>Enable</term>
            <listitem>
              <synopsis>Enable=false</synopsis>
              <para>
                To enable debugging, set the debug/Enable key to
                "true" in the
                <filename>&lt;etc&gt;/gdm/custom.conf</filename>
                file and restart GDM.  Then debug output will be sent to the
                system log file (<filename>&lt;var&gt;/log/messages</filename>
                or <filename>&lt;var&gt;/adm/messages</filename> depending on
                your Operating System).
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="securitysection">
        <title>Opcións de seguranza</title>
      
        <variablelist>
          <title>[security]</title>
          
          <varlistentry>
            <term>DisallowTCP</term>
            <listitem>
              <synopsis>DisallowTCP=true</synopsis>
              <para>
                If true, then always append <filename>-nolisten tcp</filename>
                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.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="xdmcpsection">
        <title>Compatibilidade XDMCP</title>

        <variablelist>
          <title>[xdmcp]</title>
          
          <varlistentry>
            <term>DisplaysPerHost</term>
            <listitem>
              <synopsis>DisplaysPerHost=1</synopsis>
              <para>
                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.
              </para>

              <para>
                Note that the number of attached DISPLAYS allowed is not 
                limited.  Only remote connections via XDMCP are limited by
                this configuration option.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Enable</term>
            <listitem>
              <synopsis>Enable=false</synopsis>
              <para>Ao configurar isto a verdadeiro actívase a compatibilidade con XDMCP o que lle permite ás pantallas remotas/terminais X ser xestionados por GDM.</para>
            
              <para>
                <filename>gdm</filename> listens for requests on UDP port 177.
                See the Port option for more information.
              </para>
              
              <para>
                If GDM is compiled to support it, access from remote displays
                can be controlled using the TCP Wrappers library. The service
                name is <filename>gdm</filename>
              </para>
            
              <para>
                You should add 
<screen>
gdm:.my.domain
</screen>
                to your <filename>&lt;etc&gt;/hosts.allow</filename>, depending
                on your TCP Wrappers configuration.  See the
                <ulink type="help" url="man:hosts.allow">hosts.allow</ulink>
                man page for details.
              </para>
              
              <para>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.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>HonorIndirect</term>
            <listitem>
              <synopsis>HonorIndirect=true</synopsis>
              <para>
                Enables XDMCP INDIRECT choosing (i.e. remote execution of
                <filename>gdmchooser</filename>) for X-terminals which do not
                supply their own display browser.
              </para>
            </listitem>
          </varlistentry>
        
          <varlistentry>
            <term>MaxPending</term>
            <listitem>
              <synopsis>MaxPending=4</synopsis>
              <para>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.</para>
            
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MaxSessions</term>
            <listitem>
              <synopsis>MaxSessions=16</synopsis>
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>
        
          <varlistentry>
            <term>MaxWait</term>
            <listitem>
              <synopsis>MaxWait=30</synopsis>
              <para>
                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.
              </para>
            
              <para>
                GDM will then place the session id in the pending queue
                waiting for the display to respond with a MANAGE request.
              </para>
            
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MaxWaitIndirect</term>
            <listitem>
              <synopsis>MaxWaitIndirect=30</synopsis>
              <para>
                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
                <filename>MaxPendingIndirect</filename>.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Port</term>
            <listitem>
              <synopsis>Port=177</synopsis>
              <para>
                The UDP port number <filename>gdm</filename> should listen to
                for XDMCP requests. Do not change this unless you know what
                you are doing.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Willing</term>
            <listitem>
              <synopsis>Willing=&lt;etc&gt;/gdm/Xwilling</synopsis>
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>

    <sect2 id="greeterconfiguration">
        <title>Configuración da interface simple</title>

        <para>
          The GDM default greeter is called the simple Greeter and is
          configured via GConf.  Default values are stored in GConf in the
          <filename>gdm-simple-greeter.schemas</filename> 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 <command>gconftool-2</command> or <command>gconf-editor</command>
          programs.  The following configuration options are supported:
        </para>

        <variablelist>
          <title>Chaves de configuración da interface</title>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/banner_message_enable</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>Controla se se mostra ou non o mensaxe de texto.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/banner_message_text</term>
            <listitem>
              <synopsis>NULL (cadea)</synopsis>
              <para>Especifica o mensaxe de texto do banner a mostrar na pantalla de benvida.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/disable_restart_buttons</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>Controla se mostrar ou non os botóns de reinicio na pantalla de inicio de sesión.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/disable_user_list</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>Se é verdadeiro, entón o explorador de caras cos usuarios coñecidos mostrarase na pantalla de inicio de sesión.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/logo_icon_name</term>
            <listitem>
              <synopsis>computer (cadea)</synopsis>
              <para>Configurado ao nome de tema de iconas para o logotipo da benvida.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/recent-languages</term>
            <listitem>
              <synopsis>[] (lista de cadeas)</synopsis>
              <para>
                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.
              </para>

              <para>
                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.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/recent-layouts</term>
            <listitem>
              <synopsis>[] (lista de cadeas)</synopsis>
              <para>
                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.
              </para>

              <para>
                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.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/wm_use_compiz</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>Controla se se usa compiz como xestor de xanelas no lugar de metacity.</para>
            </listitem>
          </varlistentry>
        </variablelist>
    </sect2>

    <sect2 id="accessibilityconfiguration">
     <title>Configuración da accesibilidade</title>

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

      <sect3 id="accessibilitydialog">
        <title>Diálogo de accesibilidade e chaves de GConf de GDM</title>

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

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

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

      <sect3 id="accessibilitygconfconfiguration">
        <title>Chaves de accesibilidade de GConf</title>

        <para>GDM ofrece as seguintes chaves de GConf para controlar as características de accesibilidade:</para>

        <variablelist>
          <title>Chaves de configuración de GDM</title>

          <varlistentry>
            <term>/desktop/gnome/interface/accessibility</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>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.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_magnifier_enabled</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>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.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_keyboard_enabled</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_reader_enabled</term>
            <listitem>
              <synopsis>false (booleano)</synopsis>
              <para>
                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.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="accessibilitytoolsconfiguration">
        <title>Ligando chaves GConf coas ferramentas de accesibilidade</title>

        <para>
         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:
        </para>

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

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

      <sect3 id="accessibilitytoolexample">
        <title>Exemplo de modificación da configuración da ferramenta de accesibilidade</title>

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

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

        <para>
         The following is an example <filename>onboard.desktop</filename> file:
        </para>

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

        <para>
         The following is an example <filename>mousetweaks.desktop</filename>
         file:
        </para>

<screen>
[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
</screen>

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

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

        <para>
         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.
        </para>
      </sect3>
    </sect2>

    <sect2 id="generalsessionconfig">
      <title>Configuracińo xeral de sesión</title>
<!--
<para>
          TODO - I think this section should be expanded upon.  What specific
                 keys are of interest, or would some users be likely to want
                 to configure?  Also, would be good to be more specific about
                 how lock down management is handled.
</para>
-->
        <para>
          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.
        </para>
    </sect2>

    <sect2 id="gnomesettingsdaemon">
      <title>«Daemon» de preferencias de GNOME</title>
<!--
<para>
          TODO - I think this section should be expanded upon.  What specific
                 keys are of interest, or would some users be likely to want
                 to configure?  Also, would be good to give a more complete
                 list of plugins that users might want to consider disabling.
                 Also, shouldn't we list the sound/active key in the Greeter
                 configuration setting?  Oddly I do not find this key used
                 in anything but the chooser in SVN.
</para>
-->

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

        <para>Isto é responsábel de cousas como a imaxe de fondo, o tipo de letra e as preferencias do tema, eventos de son, etc.</para>

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

    <sect2 id="sessionconfig">
      <title>Configuración de sesión de GDM</title>

      <para>
        GDM sessions are specified using the FreeDesktop.org Desktop Entry
        Specification, which can be referenced at the following URL:
        <ulink url="http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec">
        http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec</ulink>.
      </para>

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

      <para>
        A session can be disabled by editing the desktop file and adding a line
        as follows: <filename>Hidden=true</filename>.
      </para>

      <para>
        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 <filename>&lt;etc&gt;/gdm/Xsession</filename> script, which is
        the normal behavior.  Since bypassing the
        <filename>&lt;etc&gt;/gdm/Xsession</filename> 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.
      </para>

    </sect2>

    <sect2 id="userconfig">
      <title>Sesión de usuario de GDM e preferencias de idioma</title>
      <para>
        The user's default session and language choices are stored in the
        <filename>~/.dmrc</filename> 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.
      </para>

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

      <para>
        The <filename>Session</filename> key specifies the basename of the
        session <filename>.desktop</filename> file that the user wishes to
        normally use without the <filename>.desktop</filename> extension.
        The <filename>Language</filename> 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:
      </para>

<screen>
[Desktop]
Session=gnome
Language=cs_CZ.UTF-8
</screen>
    </sect2>

  </sect1>

  <!-- ============= GDM Commands ============================= -->

  <sect1 id="binaries">
    <title>Ordes de GDM</title>

    <sect2 id="sbindir_binaries">
      <title>Ordes do administrador de GDM</title>

      <para>
        The GDM package provides the following commands in
        <filename>sbindir</filename> intended to be run by the root user:
      </para>

      <sect3 id="gdmcommandline">
        <title><command>gdm</command> Command Line Options</title>

        <para>
          <command>gdm</command> is the main daemon which sets up
          graphical login environment and starts necessary helpers.
       </para>

        <variablelist>
          <title><command>gdm</command> Command Line Options</title>

          <varlistentry>
            <term>-?, --help</term>
            <listitem>
              <para>Fornece unha vista rápida das opcións de liña de ordes.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>--fatal-warnings</term>
            <listitem>
              <para>Facer todos os avisos que GDM saian.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>--timed-exit</term>
            <listitem>
              <para>Saír despois de 30 segundos. Útil para depuración.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>--version</term>
            <listitem>
              <para>Imprime a versión do daemon GDM.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="gdmrestartcommandline">
        <title><command>gdm-restart</command> Command Line Options</title>

        <para>
          <command>gdm-restart</command> 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.
        </para>
      </sect3>

      <sect3 id="gdmsaferestartcommandline">
        <title><command>gdm-safe-restart</command> Command Line Options</title>
  
        <para>
          <command>gdm-safe-restart</command> stops and restarts GDM by
          sending the GDM daemon a USR1 signal.  GDM will be restarted as soon
          as all users log out.
        </para>
      </sect3>

      <sect3 id="gdmstopcommandline">
        <title><command>gdm-stop</command> Command Line Options</title>

        <para>
          <command>gdm-stop</command> stops GDM by sending the GDM daemon
          a TERM signal. 
        </para>
      </sect3>
    </sect2>
  </sect1>

  <!-- ============= Troubleshooting =========================== -->

  <sect1 id="troubleshooting">
    <title>Resolución de problemas</title>
<!--
<para>
      TODO - any other tips we should add?  Might be useful to highlight any
             common D-Bus configuration issues?
</para>
-->

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

    <para>
      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 <filename>&lt;etc&gt;/gdm/custom.conf</filename>
      file and restart GDM.  Then use GDM to the point where it fails, and
      debug output will be sent to the system log file
      (<filename>&lt;var&gt;/log/messages</filename> or
      <filename>&lt;var&gt;/adm/messages</filename> 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
      <ulink type="help" url="man:syslog">syslog</ulink> man page).
    </para>

    <sect2 id="wontstart">
      <title>GDM non se inicia</title>

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

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

      <para>
         Also make sure that the <filename>/tmp</filename> 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.
      </para>
    </sect2>
  </sect1>

  <!-- ============= Application License ============================= -->

  <sect1 id="license">
    <title>Licenza</title>
    <para>
      This program is free software; you can redistribute it and/or
      modify it under the terms of the  <ulink type="help" url="gnome-help:gpl">
      <citetitle>GNU General Public License</citetitle></ulink> as
      published by the Free Software Foundation; 
      either version 2 of the License, or (at your option) any later
      version.
    </para>
    <para>
      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
      <citetitle>GNU General Public License</citetitle> for more details.
    </para>
    <para>
      A copy of the <citetitle>GNU General Public License</citetitle> is
      included as an appendix to the <citetitle>GNOME Users
      Guide</citetitle>.  You may also obtain a copy of the
      <citetitle>GNU General Public License</citetitle> from the Free
      Software Foundation by visiting
      <ulink type="http" url="http://www.fsf.org">their Web site</ulink> or by
      writing to
      <address>
      Free Software Foundation, Inc.
      <street>51 Franklin Street, Fifth Floor</street>
      <city>Boston</city>, <state>MA</state> <postcode>02110-1301</postcode>
      <country>USA</country>
      </address>
    </para>
  </sect1>
</article>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
