gdm.xml 250 KB
Newer Older
1 2 3
<?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">
4 5
<!ENTITY version "2.15.1">
<!ENTITY date "05/12/2006">
6 7
]>
<article id="index" lang="es">
8 9 10 11
  <articleinfo>
    <title>Manual de referencia del Gestor pantallas de Gnome</title>

    <abstract role="description">
12
      <para>GDM es el Gestor de Pantallas de GNOME, un programa gráfico de entrada.</para>
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
    </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 role="maintainer">
        <firstname>Brian</firstname><surname>Cameron</surname>
        <affiliation>
          <address><email>Brian.Cameron@Sun.COM</email></address>
        </affiliation>
      </author>
      <author>
        <firstname>Bill</firstname><surname>Haneman</surname>
        <affiliation>
          <address><email>Bill.Haneman@Sun.COM</email></address>
        </affiliation>
      </author>
41
    </authorgroup>
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
    <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> <holder>Red Hat, Inc.</holder>
    </copyright>
    <copyright>
      <year>2003</year><year>2004</year><holder>Sun Microsystems, Inc.</holder>
    </copyright><copyright><year>2003, 2005.</year><holder>Francisco Javier F. Serrador (serrador@cvs.gnome.org)</holder></copyright>

      <legalnotice id="legalnotice">
	<para>Se concede permiso para copiar, distribuir o modificar este documento según las condiciones de la GNU Free Documentation License (GFDL), Versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation sin Secciones invariantes, Textos de portada y Textos de contraportada. Encontrará una copia de la GFDL en este <ulink type="help" url="ghelp:fdl">enlace</ulink> o en el archivo COPYING-DOCS distribuido con este manual.</para>
         <para>Este manual forma parte de una colección de documentos de GNOME distribuidos según la GFDL. Si desea distribuir este manual de forma independiente de la colección, puede hacerlo agregando una copia de la licencia al documento, según se describe en la sección 6 de la misma.</para>

	<para>Muchos de los nombres utilizados por las empresas para distinguir sus productos y servicios se consideran marcas comerciales. Cuando estos nombres aparezcan en la documentación de GNOME, y siempre que se haya informado a los miembros del Proyecto de documentación de GNOME de dichas marcas comerciales, los nombres aparecerán en mayúsculas o con las iniciales en mayúsculas.</para>

	<para>ESTE DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO SE OFRECEN SEGÚN LAS CONDICIONES ESTABLECIDAS EN LA LICENCIA DE DOCUMENTACIÓN LIBRE DE GNU (GFDL) Y TENIENDO EN CUENTA QUE: <orderedlist><listitem><para>EL DOCUMENTO SE ENTREGA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, NI EXPLÍCITA NI IMPLÍCITA INCLUYENDO, SIN LIMITACIÓN, GARANTÍA DE QUE EL DOCUMENTO O VERSIÓN MODIFICADA DE ÉSTE CAREZCA DE DEFECTOS EN EL MOMENTO DE SU VENTA, SEA ADECUADO A UN FIN CONCRETO O INCUMPLA ALGUNA NORMATIVA. TODO EL RIESGO RELATIVO A LA CALIDAD, PRECISIÓN Y UTILIDAD DEL DOCUMENTO O SU VERSIÓN MODIFICADA RECAE EN USTED. SI CUALQUIER DOCUMENTO O VERSIÓN MODIFICADA DE AQUÉL RESULTARA DEFECTUOSO EN CUALQUIER ASPECTO, USTED (Y NO EL REDACTOR INICIAL, AUTOR O AUTOR DE APORTACIONES) ASUMIRÁ LOS COSTES DE TODA REPARACIÓN, MANTENIMIENTO O CORRECCIÓN NECESARIOS. ESTA EXENCIÓN DE RESPONSABILIDAD SOBRE LA GARANTÍA ES UNA PARTE ESENCIAL DE ESTA LICENCIA. NO SE AUTORIZA EL USO DE NINGÚN DOCUMENTO NI VERSIÓN MODIFICADA DE ÉSTE POR EL PRESENTE, SALVO DENTRO DEL CUMPLIMIENTO DE LA EXENCIÓN DE RESPONSABILIDAD;Y</para></listitem><listitem><para>EN NINGUNA CIRCUNSTANCIA NI BAJO NINGUNA TEORÍA LEGAL, SEA POR ERROR (INCLUYENDO NEGLIGENCIA) CONTRATO O DOCUMENTO DE OTRO TIPO, EL AUTOR, EL ESCRITOR INICIAL, EL AUTOR DE APORTACIONES NI NINGÚN DISTRIBUIDOR DEL DOCUMENTO O VERSIÓN MODIFICADA DEL DOCUMENTO, NI NINGÚN PROVEEDOR DE NINGUNA DE ESAS PARTES, SERÁ RESPONSABLE ANTE NINGUNA PERSONA POR NINGÚN DAÑO DIRECTO, INDIRECTO, ESPECIAL, INCIDENTAL O DERIVADO DE NINGÚN TIPO, INCLUYENDO, SIN LIMITACIÓN DAÑOS POR PÉRDIDA DE FONDO DE COMERCIO, PARO TÉCNICO, FALLO INFORMÁTICO O AVERÍA O CUALQUIER OTRO POSIBLE DAÑO O AVERÍA DERIVADO O RELACIONADO CON EL USO DEL DOCUMENTO O SUS VERSIONES MODIFICADAS, AUNQUE DICHA PARTE HAYA SIDO INFORMADA DE LA POSIBILIDAD DE QUE SE PRODUJESEN ESOS DAÑOS.</para></listitem></orderedlist></para>
  </legalnotice>



67
    <releaseinfo>This manual describes version 2.15.1 of the GNOME Display Manager. It was last updated on 05/12/2006.</releaseinfo>  
68 69 70 71 72
  </articleinfo>

  <sect1 id="preface">
    <title>Términos y convenciones usados en este manual</title>

73
    <para>This manual describes version 2.15.1 of the GNOME Display Manager. It was last updated on 05/12/2006.</para>  
74

75
    <para>Selector - Un programa que se usa para seleccionar un equipo remoto para gestionar una pantalla remotamente en la pantalla local (<command>gdmchooser</command>).</para>
76 77

    <para>Configurador - La aplicación de configuración (<command>gdmsetup</command>).</para>
78 79 80 81 82 83 84

    <para>GDM - Gestor de pantallas de Gnome. Se usa para describir el paquete de software como un todo. algunas veces también se refiere a él como GDM2.</para>

    <para>dgm - El demonio del gestor de pantallas (<command>gdm</command>).</para>

    <para>Interfaz de entrada - La venta de de entrada gráfica (<command>gdmlogin</command> o <command>gdmgreeter</command>).</para>

85
    <para>Interfaz de entrada GTK+ - La ventana de entrada estándar ( <command>gdmlogin</command>).</para>
86

87
    <para>PAM - Pluggable Authentication Mechanism</para>
88

89
    <para>Interfaz de entrada con temas - La ventana de entrada con temas intercambiables  ( <command>gdmgreeter</command>).</para>
90

91
    <para>XDMCP - X Display Manage Protocol</para>
92

93
    <para>Las rutas que comienzan con una palabra entre los símbolos paréntesis angulosos son relativas al prefijo de instalación. Ej: <filename>&lt;share&gt;/pixmaps/</filename> se refiere a <filename>/usr/share/pixmaps</filename> si GDM se ha configurado con  <command>--prefix=/usr</command>. Normalmente también denota que GDM está instalado con <command>--sysconfigdir=/etc/X11</command>, que quiere decir que cualquier ruta a la que se refiera como  <filename>&lt;etc&gt;/gdm/PreSession</filename> usualmente significa <filename>&lt;etc/X11&gt;/gdm/PreSession</filename>. note que para interoperatibilidad se recomienda que use un prefijo de <filename>/usr</filename> y un directorio de configuración del sistema (--sysconfdir) <filename>/etc/X11</filename>.</para>
94 95 96 97 98 99 100 101
  </sect1>

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

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

102
      <para>El Gestor de pantallas de GNOME (GDM) es un gestor de pantallas que implementa todas las características significantes requeridas para gestionar pantallas remotas y locales. GDM se ha escrito desde cero y no contiene nada de código de XDM / X Consortium.</para>
103

104
      <para>Para más información acerca de GDM, vea  <ulink type="http" url="http://www.gnome.org/projects/gdm/"> el sitio web del proyecto GDM</ulink>. Por favor envíe cualquier informe de fallos o peticiones de mejoras a la categoría «gdm» en <ulink type="http" url="http://bugzilla.gnome.org/">bugzilla.gnome.org</ulink>. También puede enviar un mensaje a la lista de correo <address><email>gdm-list@gnome.org</email></address> para hablar sobre cualquier problema o preocupación con el programa GDM.</para>
105 106
    </sect2>

107
    <sect2 id="stability">
108
      <title>Estabilidad de interfaces</title>
109

110
      <para>Los valores de pares de clave/valor definidos en los archivos de configuración de GDM y la ubicación de estos archivos se consideran «estables» y deberían cambiar sólo de formas compatibles hacia atrás. Note que esto incluye funcionalidad como los scripts de GDM (Init, PreSession, PostSession, PostLogin, XKeepsCrashing, etc), ubicaciones de directorios (ServAuthDir, PidFile, etc), aplicaciones del sistema (SoundProgram), etc. Algunos valores de configuración dependen de interfaces del SO y quizá necesiten ser modificados para que funcionen en un determinado SO. Los ejemplos típicos son HaltCommand, RebootCommand, SuspendCommand, StandardXServer, Xnest, SoundProgram, y el valor del «comando» para cada «server-tal».</para>
111

112
      <para>Nota: las distribuciones a menudo cambian los valores predeterminados de las claves para soportar su plataforma. Los interfaces de línea de comandos para los programas GDM instalados en <filename>&lt;bin&gt;</filename> y <filename>&lt;sbin&gt;</filename> se consideran estables. Refiérase a su documentación de la distribución para ver si hay cualquier cambio específico de la distribución a estos interfaces de GDM y qué soporte existe para ellos.</para>
113

114
      <para>As of the GDM 2.15 development series, some one-dash arguments are no longer supported. This includes the "-xdmaddress", "-clientaddress", and "-connectionType" arguments used by <command>gdmchooser</command>. These arguments have been changed to now use two dashes.</para>
115

116
      <para>Si se descubrieran problemas que rompiesen la compatibilidad, por favor envíe un error con una prioridad «urgente».</para>
117 118
    </sect2>

119 120 121
    <sect2 id="daemonov">
      <title>El demonio GDM</title>
      
122
      <para>El demonio GDM es responsable de gestionar pantallas en el sistema. Esto incluye la autenticación de usuarios, iniciar la sesión del usuario y terminar la sesión del usuario. GDM es configurable y las formas en que puede configurarse se describen en la sección «Configurar GDM» de este documento. Los scripts <filename>Init</filename>, <filename>PostLogin</filename>, <filename>PreSession</filename>, y <filename>PostSession</filename> de los que se habla más abajo se tratan en esta sección «Configurar GDM».</para>
123

124
      <para>El demonio de GDM soporta un protocolo de sockets de dominio UNIX que puede usarse para controlar aspectos de su comportamiento y para solicitarle información. Este protocolo se describe en la sección «Controlar GDM» de este documento.</para>
125

126
      <para>A GDM se le puede pedir que gestione una pantalla de varias formas. Las pantallas locales las gestiona siempre GDM cuando se inicia y serán reiniciadas cuando la sesión de un usuario termine. Las pantallas pueden pedirse además por XDMCP, se pueden pedir pantallas flexibles ejecutando el comando <command>gdmflexiserver</command>. Las pantallas que se inician bajo demanda no se se reinician al salir de la sesión. GDM también proporciona el comando <command>gdmdynamic</command> para permitir una gestión más fácil de las pantallas en un servidor multiusuario. Estos tipos de pantallas se discuten en la sección siguiente.</para>
127
        
128
      <para>Cuando se le pide al demonio GDM que gestione una pantalla, bifurcará un proceso servidor de X, después ejecutará el script <filename>Init</filename> como el usuario root, e iniciará el diálogo de entrada como un proceso esclavo en la pantalla. GDM puede configurarse para usar o bien <command>gdmgreeter</command> (predeterminado) o <command>gdmlogin</command> como programa de IGU para la entrada. El programa <command>gdmlogin</command> soporta accesibilidad mientras que el programa <command>gdmgreeter</command> soporta mayor temabilidad. El diálogo de la IGU se ejecuta como el usuario/grupo no privilegiado «gdm» que se describe en la sección «Seguridad» abajo. El diálogo del IGU se comunica con el demonio por medio de un protocolo de sockets y por medio de la entrada/salida estándar. El esclavo, por ejemplo pasa el nombre del usuario y la contraseña al demonio GDM por medio de la entrada/salida estándar así que el demonio puede manipular la autenticación actual.</para>
129

130
      <para>La pantalla del GUI de la entrada permite al usuario seleccionar qué sesión quiere iniciar y qué idioma quiere usar. Las sesiones se definen por archivos que terminan con la extensión .desktop y puede encontrar más información sobre estos archivos en la sección de «Configuración». El usuario ontroduce su nombre y contraseña y si éstos le autentican con éxito, GDM iniciará la sesión solicitada para el usuario. Es posible configurar GDM para evitar el proceso de autenticación activando las características de Entrada automática o Entrada temporizada en la configuración de GDM. El IGU de entrada puede configurarse además para para proporcionar características adicionales al usuario, como un visor de rostros, la capacidad de detener, reiniciar o suspender el sistema; y o editar la configuración de entrada (tras introducir la contraseña de root).</para>
131

132
      <para>GDM, por omisión, usará Pluggable Authentication Modules (PAM) para autenticar, pero puede usar además contraseñas crypt y shadow en sistemas legados. Tras autenticar al usuario, el demonio ejecuta el script <filename>PostLogin</filename> como root, y bifurca un proceso esclavo para iniciar la sesión solicitada. Este proceso esclavo ejecuta el script de <filename>PreSession</filename> como root, establece el entorno del usuario e inicia la sesión solicitada. GDM conserva la sesión predeterminada del usuario y el idioma en el archivo <filename>~/.dmrc</filename> del usuario y usará estos predeterminados si el usuario no seleccionó una sesión o idioma en el IGU de entrada. En Solaris, GDM (desde la version 2.8.0.3) usa el interfaz SDTLOGIN después de autenticar al usuario para decir al servidor X que se reinicie como el usuario en vez de como root para mayor seguridad. Cuando la sesión del usuario sale, el demonio de GDM ejecutará el script <filename>PostSession</filename> como root.</para>
133 134 135
    </sect2>

    <sect2 id="displaytypes">
136
      <title>Tipos de pantalla diferentes</title>
137

138
      <para>GDM soporta tres tipos de pantalla diferentes: pantallas estática (local), pantallas flexibles (bajo demanda), y pantallas remotas (XDMCP). Las subsecciones «Definiciones del servidor X» y «Configuración de pantalla X local estática» de la sección «Configuración» explican cómo estos tipos de pantallas se definen en el archivo de configuración de GDM.</para>
139

140
      <para>Las pantallas locales estáticas siempre se inician por el demonio, y cuando mueren o se les mata, se reinician. GDM puede ejecutar tantos como se necesiten. GDM puede gestionar además servidores en los cuales no gestiona la entrada él mismo, permitiendo usar GDM para soportar terminales X.</para>
141

142
      <para>Las pantallas flexibles o bajo demanda, se inician por medio del protocolo socket con el comando <command>gdmflexiserver</command>. Esta característica sólo está disponible para los usuarios que hayan entrado en la consola y mostrará una pantalla de entrada nueva. Si una pantalla flexible se ha iniciado anteriormente en la consola, ejecutando <command>gdmflexiserver</command> de nuevo se mostrará un menú permitiendo a los usuarios volver a la sesión existente o iniciar una nueva sesión flexible. El comando <command>gdmflexiserver</command> bloquea la sesión actual antes de iniciar una pantalla flexible nueva, así que debe introducirse la contraseña del usuario antes de volver a la sesión existente. El comando <command>gdmflexiserver</command> puede usarse además para lanzar pantallas anidadas con <command>Xnest</command>. Éstas se lanzan en una ventana en la sesión actual del usuario. Las pantallas anidadas pueden iniciarse incluso si no se ha entrado en la consola y se inician ejecutando el comando <command>gdmflexiserver -n</command>. Las pantallas flexibles  no se reinician cuando la sesión termina. Las pantallas flexibles requieren soporte de terminales virtuales en el núcleo, y no estarán disponibles si no están soportados (como en Solaris). Las pantallas anidades requieren que el servidor X soporte Xnest.</para>
143

144
      <para>El último tipo es la pantalla remota XDMCP que se describe en la siguiente sección. Los equipos remotos pueden conectarse a GDM y presentar la pantalla de entrada si esto está activado. Algunas cosas son diferentes para las sesiones remotas. Por ejemplo, el menú Acciones que permite apagar, reiniciar o configurar GDM no se mostrará.</para>
145

146
      <para>Las pantallas iniciadas por medio del comando <command>gdmdynamic</command> se tratan como pantallas locales, así que se reinician automáticamente cuando la sesión termina. Este comando está pensado para gestionar más efectivamente las pantallas en un servidor multi-usuario (muchas pantallas conectadas a un solo servidor).</para>
147 148 149 150 151
    </sect2>

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

152
      <para>El demonio GDM puede configurase para escuchar y gestionar las solicitudes del protocolo X Display Manage Protocol (XDMCP) de las pantallas remotas. Por omisión el soporte para XDMCP está desactivado, pero puede activarse si se desea. Si GDM está construido con soporte TCP Wrapper, entonces el demonio sólo permitirá acceder a hosts especificados en la sección de servicio GDM en el archivo de configuración de TCP Wrappers.</para>
153

154
      <para>GDM incluye varias medidas para hacerlo más resistente a ataques de denegación de servicio en el servicio XDMCP. Muchos de los parámetros del protocolo, tiempos de espera negociación, etc pueden ajustarse finamente. Sin embargo la configuración de fábrica debería funcionar en la mayoría de sistemas. No la cambie a menos que sepa lo que está haciendo.</para>
155 156 157 158 159

      <para>GDM escucha en el puerto UDP 177 y responderá a las peticiones QUERY y BROADCAST_QUERY enviando un paquete WILLING al originador.</para>

      <para>GDM también puede configuarse para confiar en solicitudes INDIRECT y presentar un selector de equipos al display remoto. GDM recordará la selección del usuario y reenviará las peticiones subsiguiente al gestor seleccionado. GDM también soporta una extensión al protocolo que hará que se olvide de la redirección una vez que la conexión del usuario tiene éxito. Esta extensión está soportada sólo si ambos demonios son GDM. Es transparente y será ignorada por XDM u otros demonios que implementan XDMCP.</para>

160
      <para>Refiérase a la seccion «Seguridad» para información acerca de las preocupaciones de seguridad al usar XDMCP.</para>
161
    </sect2>
162

163
    <sect2 id="secureremote">
164 165
      <title>Securización de la conexión remota a través de SSH</title>
      <para>Tal como se explica en la sección «Seguridad», XDMCP no usa ninguna clase de encriptación y debido a esto es inherentemente inseguro. Como XDMCP usa UDP como capa de transporte de red, no es posible simplemente securizarla por medio de un túnel SSH.</para>
166

167
      <para>Para remediar este problema, gdm puede configurarse en tiempo de compilación con la opción .--enable-secureremote, con la cual gdm propone como una sesión integrada una sesión llamada «Conexión remota segura». Iniciando dicha sesión permite al usuario introducir el nombre o la dirección del equipo en el que quiere conectarse, siempre que dicho host ejecute un servidor SSH, el usuario entonces obtiene una conexión al servidor en la cual la sesión X predeterminada se inicia y muestra en el host local.</para>
168
      
169
      <para>Usar esta sesión permite una conexión de red mucho más segura y sólo necesita tener un servidor SSH ejecutándose en el host remoto.</para>
170 171
    </sect2>

172 173
    <sect2 id="gtkgreeter">
      <title>El interfaz GTK+</title>
174

175
      <para>El interfaz GTK+ es el interfaz gráfico de usuario predeterminado que se presenta al usuario. El interfaz contiene un menú en la parte superior, un visor de rostros opcional, un logo opcional y un widget para entrada de texto. Este interfaz tiene soporte de accesibilidad completo, y debería usarse por los usuarios con necesidades de accesibilidad.</para>
176

177
      <para>El campo de entrada de texto se usa para introducir nombres de usuario, contraseñas, etc. <command>gdmlogin</command> está controlado por un demonio por debajo que es básicamente sin estado. El demonio controla el interfaz a través de un protocolo simple donde puede pedir al interfaz una cadena de texto con eco activado o desactivado. Similarmente, el demonio puede cambiar la etiqueta sobre la entrada de texto para corresponder con el valor que el sistema de autenticación quiere que el usuario introduzca.</para>
178

179
      <para>La barra del menú en la parte superior del interfaz de entrada permite al usuario seleccionar el tipo sesión/entorno de escritorio solicitado, seleccionar un idioma/configuración regional apropiada y opcionalmente apagar/reiniciar/suspender el equipo, configurar GDM (siempre que el usuario conozca la contraseña de administrador), cambiar el tema GTK+ o iniciar un selector XDMCP.</para>
180

181
      <para>El interfaz de entrada puede mostrar opcionalmente un logotipo en la ventana de entrada. La imagen debe estar en un formato legible por la biblioteca gdk-pixbuf (GIF, JPG, PNG, TIFF, XPM y posiblemente otros), y debe tener permiso de lectura para el usuario de GDM. Vea la opción <filename>Logotipo</filename> en la sección de referencia inferior para los detalles.</para>
182 183
    </sect2>

184 185
    <sect2 id="themedgreeter">
      <title>El interfaz con temas</title>
186

187
      <para>The Themed Greeter is a greeter interface that takes up the whole screen and is very themable. Themes can be selected and new themes can be installed by the configuration application or by setting the <filename>GraphicalTheme</filename> configuration key. The Themed Greeter is much like the GTK+ Greeter in that it is controlled by the underlying daemon, is stateless, and is controlled by the daemon using the same simple protocol.</para>
188

189
      <para>La apariencia de este interfaz está controlada realmente por el tema y así los elementos del interfaz de usuario que están presentes pueden ser diferentes. La única cosa que debe estar presente siempre es el campo de entrada de texto tal como se describe arriba en el interfaz GTK+. El tema puede incluir botones que permitan al usuario seleccionar la configuración reginal o idioma adecuado, detener/reiniciar/suspender el equipo, configurar GDM (siempre que el susuario conozca la contraseña de root), o iniciar un selector XDMCP.</para>
190

191
      <para>Puede obtener siempre un menú de las acciones disponibles pulsando la tecla F10. Esto puede ser útil si el tema no proporciona ciertos botones cuando realmente quiere hacer alguna acción permitida por la configuración de GDM.</para>
192 193 194 195 196 197 198
    </sect2>

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

      <para>GDM soporta un visor de rostros que mostrará una lista de usuarios que pueden entrar y un icono para cada usuario. Esta característica puede usarse con el interfaz GTK+ si la opción de configuración <filename>Examinador</filename> está establecida a "true". Esta característica puede usarse con el Interfaz con Temas si usa un tema de GDM que incluya un tipo de elemento "userlist", tal como  "happygnome-list"</para>

199
      <para>Por omisión, el visor de rostros está desactivado debido a que revelar nombres de usuario en la pantalla de entrada no es apropiado en muchos sistemas por razones de seguridad. Además GDM requiere alguna configuración para especificar qué usuarios deberían ser visibles. La configuración puede hacerse en la solapa «Usuarios» en <command>gdmsetup</command>. Esta característica es más práctica de usar en un sistema con un número pequeño de usuarios.</para>
200

201
      <para>Los iconos usados por GDM pueden instalarse globalmente por el administrador del sistema o pueden colocarse en los directorios personales de los usuarios. Si se instalan globalmente deberían estar en el directorio <filename>&lt;share&gt;/pixmaps/faces/</filename>  (aunque esto puede configurarse con la opción <filename>GlobalFaceDir</filename>) y el nombre del archivo debería ser el nombre del usuario, opcionalmente con un <filename>.png</filename> agregado. Los iconos de caras colocados en el directorio global de caras deben ser legibles por el usuario de GDM. Sin embargo, el demonio, proximiza las imágenes de los usuarios al interfaz y debido a esto no tienen que ser legibles por el usuario «gdm» sino por el root.</para>
202 203 204 205 206

      <para>Los usuarios pueden ejecutar el comando <command>gdmphotosetup</command> para configurar la imagen a usar para su id de usuario. Este programa escala apropiadamente el archivo si es más grande que las opciones de configuración  <filename>MaxIconWidth</filename> o <filename>MaxIconHeight</filename> y coloca al icono en un archivo llamado <filename>~/.face</filename>. Aunque <command>gdmphotosetup</command> escala las imágenes del usuario automáticamente, esto no garantiza que esas imágenes de usuario estén escaladas de forma adecuada así que un usuario puede crear su archivo <filename>~/.face</filename> a mano.</para>
        
      <para>GDM primero buscará la imagen de la cara del usuario en <filename>~/.face</filename>. Si no la encuentra, intentará con <filename>~/.face.icon</filename>. Si aún no la encuentra, usará el valor definido para "face/picture=" en el archivo <filename>~/.gnome2/gdm</filename>. Por último intentará con <filename>~/.gnome2/photo</filename> y <filename>~/.gnome/photo</filename> los cuales están obsoletos y se soportan por compatibilidad hacia atrás.</para>

207
      <para>Si un usuario no tiene una imagen de rostro definida, GDM usará el icono "stock_person" definido en el tema GTK+ actual. Si dicha imagen no está definida, entonces usará la imagen especificada en la opción de configuración <filename>DefaultFace</filename> como resguardo, normalmente <filename>&lt;/share&gt;/pixmaps/nobody.png</filename>.</para>
208
      
209
      <para>Note que cargar y escalar los iconos de rostros situados en los directorios personales de los usuarios puede ser una tarea que consuma mucho tiempo. Debido a que no es práctico cargar imágenes sobre NIS o NFS, GDM no intenta cargar imágenes de rostros desde directorios personales remotos. Además, GDM parará de cargar imágenes de rostros después de 5 segundos de actividad y sólo mostrará los usuarios cuyas imágenes haya obtenido hasta entonces. La opción <filename>Include</filename> de <filename>gdm.conf</filename> puede usarse para especificar un conjunto de usuarios que deberían aparecer en el visor de rostros. Mientras los usuarios a incluir tengan un tamaño razonable, no debería haber ningún problema con GDM siendo incapaz de acceder a las imágenes de rostros. Para evitar estos problemas, se recomienda situar las imágenes de rostros en el directorio especificado por la opción de configuración <filename>GlobalFaceDir</filename>.</para>
210

211
      <para>Para controlar qué usuarios se muestran en el examinador de rostros, hay varias opciones de configuración que pueden usarse. Si se establece a true la opción <filename>IncludeAll</filename>, entonces se analizará el archivo de contraseñas y se mostrarán todos los usuarios. Si la opción <filename>IncludeAll</filename> se establece a falso, entonces la opción <filename>Include</filename> debería contener una lista de usuarios separada por comas. Sólo los usuarios especificados se mostrarán. Cualquier usuario listado en la opción <filename>Exclude</filename> y los usuarios cuyo UID sea inferior a <filename>MinimalUID</filename> se filtrarán con independencia de lo que esté establecido en <filename>IncludeAll</filename>. <filename>IncludeAll</filename> no está recomendado para sistemas donde las contraseñas se carguen por mdio de una red (como cuando se usa NIS), debido a que puede ser muy lento cargar más de un pequeño número de usuarios sobre la red.</para>
212

213
      <para>Cuando el examinador está activado, los nombres de usuario válidos en el equipo están expuestos inherentemente a un intruso potencial. Esto puede ser una mala idea si no sabe quién puede acceder a una pantalla de entrada. Esto es especialmente cierto si ejecuta XDMCP (desactivado por omisión).</para>
214 215
    </sect2>

216 217
    <sect2 id="logging">
      <title>Registro de actividad</title>
218

219
      <para>GDM por sí mismo usará syslog para registrar los errores o el estado. También puede registrar información de depuración, que puede ser útil para encontrar problemas si GDM no funciona apropiadamente. Esto puede activarse en el archivo de configuración.</para>
220

221
      <para>La salida de varios servidores X está almacenada en el directorio de registros de GDM, el cual es configurable, pero normalmente es <filename>/var/log/gdm/</filename>. La salida desde la sesión puede encontrarse en un archivo llamado <filename>&lt;display&gt;.log</filename>. Cuatro archivos más antiguos se almacenan también con  <filename>.1</filename> a <filename>.4</filename> anexado. Éstos se rotarán a medida que se inicien nuevas sesiones en esa pantalla. Puede usar estos registros para ver que decía el servidor X cuando arrancaba.</para>
222

223
      <para>La salida de la sesión de usuario está redirigida a <filename>~/.xsession-errors</filename> incluso antes de se inicie el script <filename>PreSession</filename>. Así que no es realmente necesario redirigir esto otra vez en el script de configuración de la sesión. Tal como se hace normalmente, si la sesión del usuario duró menos de 10 segundos, GDM asume que la sesión reventó y permite al usuario ver este archivo en un diálogo antes de volver a la pantalla de entrada. De esta manera el usuario puede ver los errores de la última sesión y corregir el problema.</para>
224

225
      <para>Puede suprimir la advertencia de los 10 segundos devolviendo un código 66 desde el script <filename>Xsession</filename> desde el binario de la sesión (el script <filename>Xsession</filename> predeterminado propaga esos códigos hacia atrás). Esto es útil si tiene alguna clase de inicios de sesión especiales para los que no es un error retornar menos de esos 10 segundos después, o si configura la sesión para mostrar algún mensaje de error y el mensaje de GDM podría ser confuso y redundante.</para>
226

227
      <para>La salida de la sesión se encauza a través del demonio gdm y así el archivo <filename>~/.xsession-errors</filename> está capado a cerca de 200 Kbytes por GDM para prevenir una posible denegación de servicio en la sesión. Una aplicación podría quizás leer algunos datos erróneos, imprimir advertencias o errores en stderr o stdout. Esto podría quizás llenar el directorio personal del usuario quien tendría que cerrar sesión e iniciar sesión de nuevo para limpiar esto. Esto podría ser especialmente duro si hay cuotas puestas. GDM además atrapa correctamente la señal XFSZ y para de escribir el archivo, lo que podría conducir a sesiones matadas si el archivo fue redirigido en la forma antigua desde el script.</para>
228

229
      <para>Note que algunos distribuidores parecen ignorar la redirección de <filename>~/.xsession-errors</filename> y la hacen ellos mismos en su propio script Xsession (establecido por la clave de configuración <filename>BaseXsession</filename>) que significa que GDM no será capaz de atrapar la salida y cubrir este archivo. Puede también perder datos de salida del script <filename>PreSession</filename> lo que puede hacer la depuración mucho más complicada ya que quizás la salida de lo que está equivocado no se imprimirá. Vea la descripción de la clave de configuración <filename>BaseXsession</filename> para más información, especialmente acerca de cómo manejar múltiples gestores de entrada usando el mismo script.</para>
230

231
      <para>Note que si la sesión es una sesión a prueba de fallos, o si GDM no puede abrir este archivo por alguna razón, entonces se creará un archivo de apoyo en el directorio <filename>/tmp</filename> llamado <filename>/tmp/xses-&lt;user&gt;.XXXXXX</filename> donde <filename>XXXXXX</filename> son caracteres aleatorios.</para>
232

233
      <para>Si ejecuta un sistema sin cuotas activadas, será bueno borrar el archivo <filename>~/.xsession-errors</filename> en el script <filename>PostSession</filename>. Así este archivo de registro no está por medio innecesariamente.</para>
234 235
    </sect2>

236
    <sect2 id="fileaccess">
237
      <title>Acceder a archivos</title>
238

239
      <para>En general GDM es muy reluctante respecto a leer/escribir archivos del usuario (como <filename>~/.dmrc</filename>, <filename>~/.face</filename>, <filename>~/.xsession-errors</filename>, y <filename>~/.Xauthority</filename>). Por ejemplo, se niega a acceder a cualquier cosa que no sean archivos regulares. Los enlaces, sockets y dispositivos se ignoran. El valor del parámetro <filename>RelaxPermissions</filename> determina si GDM debe aceptar archivos escribibles por el grupo del usuario u otros. Éstos se ignoran por omisión.</para>
240

241
      <para>Todas las operaciones en los archivos de usuario se realizan con el id efectivo del usuario. Si el control de sanidad falla en el archivo <filename>.Xauthority</filename> del usuario, se crea una cookie de resguardo en el directorio especificado por la opción de configuración <filename>UserAuthFBDir</filename> (<filename>/tmp</filename> por omisión).</para>
242

243
      <para>Finalmente, el administrador del sistema puede especificar el tamaño máximo del archivo que GDM debería aceptar y, en el caso de que el visor de rostros esté activado, se fuerza un tamaño máximo del icono. En sistemas grandes se avisa además que desactive el visor de rostros por razones de rendimiento. Mirar iconos en directorios personales, escalarlos y renderizarlos puede llevar mucho tiempo.</para>
244
    </sect2>
245

246
    <sect2 id="performance">
247
      <title>Rendimiento de GDM</title>
248

249
      <para>Para acelerar el rendimiento es posible construir GDM para que precargue las bibliotecas cuando el GDM muestre un programa de entrada por primera vez. Esto se ha mostrado para acelerar el primer inicio de sesión debido a que estas bibliotecas pueden cargarse en memoria mientras el usuario teclea su nombre y contraseña.</para>
250

251
      <para>To use this feature, configure GDM with the <command>--with-prefetch</command> option. This will cause GDM to install the <command>gdmprefetch</command> program to the <filename>libexecdir</filename> directory, install the <filename>gdmprefetchlist</filename> to the <filename>&lt;etc&gt;/gdm</filename> directory, and set the <filename>PreFetchProgram</filename> configuration variable so that the <command>gdmprefetch</command> program is called with the default <filename>gdmprefetchlist</filename> file. The default <filename>gdmprefetchlist</filename> file was optimized for a GNOME desktop running on Solaris, so may need fine-tuning on other systems. Alternative prefetchlist files can be contributed to the "gdm" category in <ulink type="http" url="http://bugzilla.gnome.org/">bugzilla.gnome.org</ulink>, so that they can be included in future GDM releases.</para>
252 253 254
    </sect2>
  </sect1>

255
  <sect1 id="security">
256 257
    <title>Seguridad</title>

258 259 260
    <sect2 id="PAM">
      <title>PAM</title>

261
      <para>GDM uses PAM for login authentication, though if your machine does not support PAM you can build GDM to work with the password database and the crypt library function.</para>
262

263 264 265
      <para>PAM stands for Pluggable Authentication Module, and is used by most programs that request authentication on your computer. It allows the administrator to configure different authentication behavior for different programs.</para>

      <para>Some GDM features (like turning on automatic login) may require that you update your PAM configuration. PAM configuration has different, but similar, interfaces on different operating systems, so check your pam.d or pam.conf man page for details. Be sure that you read the PAM documentation (e.g. pam.d/pam.conf man page) and are comfortable with the security implications of any changes you intend to make to your configuration.</para>
266

267
      <para>If there is no entry for GDM in your system's PAM configuration file, then features like automatic login may not work. Not having an entry will causes GDM to use default behavior, conservative settings are recommended and probably shipped with your distribution.</para>
268

269
      <para>If you wish to make GDM work with other types of authentication mechanisms (such as a SmartCard), 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. This issue has been discussed on the <address><email>gdm-list@gnome.org</email></address> mail list, so you can refer to the list archives for more information.</para>
270 271
    </sect2>

272 273 274
    <sect2 id="gdmuser">
      <title>El usuario GDM</title>

275
      <para>Por razones de seguridad se requieren un usuario y grupo dedicado para un funcionamiento correcto. La necesidad de ser capaz de escribir archivos Xauth es el porqué el usuario «nobody» no es apropiado para gdm.</para>
276

277
      <para>El demonio GDM normalmente se ejecuta como root, y hace de esclavo. Sin embargo GDM debería también tener un id de usuario y un id de grupo dedicado que se usa para sus interfaces gráficas <command>gdmgreeter</command> y <command>gdmlogin</command>. Éstos se configuran por medio de las opciones de configuración <filename>User</filename> y <filename>Group</filename> en los archivos de configuración de GDM. El usuario y grupo debería ser creado antes de ejecutar «make install». Por omisión GDM asume que el usuario y el grupo se llaman «gdm».</para>
278

279
      <para>Este id de usuario se usa para ejecutar los programas del IGU de GDM requeridos para la entrada. Toda la funcionalidad que requiere la autorización de root la realiza el proceso del demonio GDM. Este diseño asegura que si los programas del IGU son comprometidos, sólo los privilegios del usuario dedicado están disponibles.</para>
280

281
      <para>Debería notarse sin embargo que el usuario y el grupo de GDM tienen algunos privilegios que los hacen de alguna manera peligrosos. Por una parte tienen acceso al directorio de autorización del servidor X. Debe ser capaz de leer y escribir claves Xauth en <filename>&lt;var&gt;/lib/gdm</filename>. Este directorio debería tener como propietario root:gdm y permisos 1770. Ejecutar «make install» establecerá este directorio a estos valores. El proceso del demonio de GDM restablecerá este directorio a los permisos/propietario adecuados si por cualquier circunstancia, no estuvieran establecidos de forma correcta.</para>
282

283
      <para>El peligro es que alguien que gane privilegios del usuario/grupo GDM puede entonces conectarse a cualquier sesión. Así que no debería bajo ninguna circunstancia, hacer esto a algún usuario/grupo que pueda ser fácil obtener acceso, como el usuario <filename>nobody</filename>. Los usuarios que ganan acceso al usuario «gdm» podrían también modificar las claves Xauth y provocar ataques de denegación de servicio. También si una persona gana la capacidad de ejecutar programas como el usuario «gdm», podría ser posible espiar los procesos GDM en ejecución, incluyendo usuarios y contraseñas a medida que se teclean.</para>
284

285
      <para>Se espera que las distribuciones y los administradores de sistemas que usen GDM configuren el usuario dedicado de forma apropiada. Se recomienda que este id de usuario se configure para no permitirle iniciar sesión y no tener un intérprete de comandos predeterminado. Las distribuciones y los administradores del sistema deberían configurar el sistema de archivos para asegurarse de que el usuario GDM no tenga permiso de lectura o escritura a los archivos sensibles.</para>
286 287 288 289 290
    </sect2>

    <sect2 id="xauth">
      <title>Esquema de autenticación del servidor X</title>
 
291
      <para>El directorio de autorización del servidor (el <filename>ServAuthDir</filename>) se usa para albergar un conjunto de datos aleatorios internos además de los archivos de autorización del servidor X, y el nombre es realmente una reliquia de la historia. El demonio GDM fuerza que este directorio tenga el propietario <filename>root.gdm</filename> con los permisos 1770. De esta manera sólo root y el grupo de GDM tienen acceso de escritura a este directorio, pero el grupo GDM no puede eliminar los archivos que sean propiedad de root de este directorio, tales como los archivos de autorización del servidor X.</para>
292

293
      <para>GDM por omisión no confía en el directorio de autorización del servidor y lo trata de la misma manera que el directorio temporal respecto a crear archivos. De esta manera, alguien que rompa al usuario  de GDM no puede montar ataques creando enlaces en este directorio. Similarmente el directorio de registros del servidor X se trata de forma segura, pero ese directorio debería ser propiedad y escribible sólo por el usuario root.</para>
294

295
      <para>GDM sólo soporta el sistema de autenticación MIT-MAGIC-COOKIE-1. Normalmente se gana poco de otros esquemas, no se ha hecho ningún esfuerzo en implementarlos hasta ahora. Dea especialmente cuidadoso acerca de usar XDMCP porque las cookies de autenticación van sobre el cable como texto en claro.Obviamente si el espionaje es posible, entonces el atacante podría tan sólo espiar su contraseña de autenticación mientras usted inicia una sesion, con independencia del esquema de autenticación que se esté usando. Si el espionaje es posible y poco deseable, entonces tendrá que crear un túnel a través de ssh para la conexión X en vez de usar XDMCP. Podría pensar en XDMCP como una clase de telnet gráfico que tiene los mismos problemas de seguridad.</para>
296

297
      <para>En el lado superior, la generación de números aleatorios de GDM es muy conservadora y GDM toma medidas extraordinarias para obtener un verdadero número aleatorio de 128 bits, usando generadores de números aleatorios por hardware si es posible, además de la hora actual (con precisión de microsegundos), un array de 20 bytes de números pseudoaleatorios, pids de procesos, además de otra información aleatoria (posiblemente usando <filename>/dev/audio</filename> o <filename>/dev/mem</filename> si los generadores aleatorios hardware no están disponibles) para crear un búfer grande y después ejecutar un digest MD5 en él. Obviamente, todo este trabajo se desperdicia si envía la cookie a través de una red abierta o la almacena en un directorio NFS (vea la clave de configuración de <filename>UserAuthDir</filename>). Así que sea cuidadoso acerca de dónde usa su display X remoto.</para>
298 299 300 301 302
    </sect2>

    <sect2 id="firewall">
      <title>Seguridad con cortafuegos</title>

303
      <para>Incluso aunque GDM intenta diferenciar inteligentemente a los atacantes potenciales, se recomienda que bloquee el puerto XDMCP (normalmente el puerto UDP 177) en su cortafuegos a no ser que realmente lo necesite. GDM se protege contra ataques DoS, (Denial of Service) pero el protocolo X aún es inherentemente inseguro y sólo debería usarse en entornos controlados. Además cada conexión remota toma muchos recursos, así que es más fácil hacer un DoS a un servidor XDMCP que a un servidor web.</para>
304

305
      <para>También es sabio bloquear todos los puertos del servidor X (puertos TCP 6000 + número de pantall) en el cortafuegos. Note que GDM usará los números de pantalla 20 y superiores para los servidores flexibles bajo demanda.</para>
306

307
      <para>X no es un protocolo muy seguro para dejarlo en la red, y XDMCP es incluso menos seguro.</para>
308 309 310 311 312
    </sect2>

    <sect2 id="nfssecurity">
      <title>Seguridad de GDM con NFS</title>

313
      <para>Note que el tráfico NFS realmente va "sobre el cable" y puede verse. Cuando se acceda al archivo de autorización X del usuario (<filename>~/.Xauthority</filename>), GDM intentará abrir el archivo para leerlo como root. Si falla, GDM concluirá que se ha montado por NFS y usará automáticamente  <filename>UserAuthFBDir</filename>, que usualmente está en <filename>/tmp</filename>. Este comportamiento puede cambiarse poniendo a «false» <filename>NeverPlaceCookiesOnNFS</filename> en la sección <filename>[security]</filename>.</para>
314 315 316
    </sect2>

    <sect2 id="xdmcpsecurity">
317
      <title>Seguridad XDMCP</title>
318

319
      <para>Incluso aunque su pantalla esté protegida por cookies, XEvents y las pulsaciones de teclas que se introducen al escribir las contraseñas aún irán sobre el cable en texto claro. Es trivial capturarlas.</para>
320

321
      <para>XDMCP es útil principalmente para ejecutar clientes ligeros como en terminales de laboratorio. Dichos clientes ligeros sólo necesitarán la red alguna vez para acceder al servidor, y así parece que la mejor poítica para la seguridad es tener a esos clientes ligeros en una red separada que no pueda accederse desde el mundo exterior, y sólo pueda conectarse al servidor. El único punto desde el que necesita acceder desde fuera es el servidor.</para>
322

323
      <para>Las secciones de arriba «Esquema de autenticación del servidor X» y «Seguridad con cortafuegos» también contienen información importante acerca de usario XDMCP de forma segura. La siguiente sección también discute cómo configurar el control de acceso de XDMCP.</para>
324

325
      <para>Para solucionar la seguridad inherente de XDMCP, gdm propone una sesión predeterminada integrada que usa ssh para encriptar la conexión remota. Vea la sección «Securizar una conexión remota con ssh» arriba.</para>
326 327 328 329 330
    </sect2>

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

331
      <para>El control de acceso XDMCP se realiza usando TCP wrappers. Es posible compilar GDM sin TCP wrappers sin embargo, así que debería comprobar su configuración y verificar que funciona.</para>
332

333
      <para>Debería usar el nombre del demonio <command>gdm</command> en el archivo <filename>&lt;etc&gt;/hosts.allow</filename> y en el archivo <filename>&lt;etc&gt;hosts.deny</filename>. Por ejemplo para denegar la entrada a equipos de <filename>.evil.domain</filename> , añada</para>
334
<screen>
335
gdm: .dominio.maligno
336
</screen>
337
      <para>a <filename>&lt;etc&gt;/hosts.deny</filename>. También necesitará añadir </para>
338
<screen>
339
gdm: .su.dominio
340
</screen>
341 342 343 344
      <para>a su <filename>&lt;etc&gt;/hosts.allow</filename> si normalmente no permite todos los servicios desde todos los equipos. Vea la página del manual <ulink type="help" url="man:hosts.allow">hosts.allow(5)</ulink> para más detalles.</para>
    </sect2>
  </sect1>

345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
  <sect1 id="gdmsetupusage">
    <title>Using gdmsetup To Configure GDM</title>

    <para>The <command>gdmsetup</command> application can be used to configure GDM. If you believe running root-owned GUI's causes security risk, then you would want to always edit the files by hand and not use <command>gdmsetup</command>. Editing the files by hand is explained in the "Configuration" section of this document. Note that <command>gdmsetup</command> does not support changing of all configuration variables, so it may be necessary to edit the files by hand for some configurations.</para>

    <para>The <command>gdmsetup</command> program has five tabs: Local, Remote, Accessibility, Security, and Users, described below. In parenthesis is information about which GDM configuration key is affected by each GUI choice. Refer to the "Configuration" section of this manual and the comments in the &lt;share&gt;/gdm/defaults.conf file for additional details about each key.</para>

    <sect2 id="gdmsetuplocaltab">
      <title>Local Tab</title>
     
      <para>The Local tab is used for controlling the appearance of GDM for local/static displays (non-XDMCP remote connections). The choices available in this tab depend on the setting of the "Style" combobox. This combobox is used to determine whether the "Plain" or "Themed" greeter GUI is used. The differences between these greeter programs are explained in the "Overview" section of this document.</para>

      <para>If the "Style" choice is "Plain", then GDM will use the <command>gdmlogin</command> program as the GUI (daemon/Greeter). When this choice is selected, <command>gdmsetup</command> allows the user to select whether the background is an image or solid color (greeter/BackgroundType). If image is selected, there is a file selection button to pick the image file (greeter/BackgroundImage) and a checkbox to scale the image to fit the screen (greeter/BackgroundImageScaleToFit). If solid color is selected, there is a button available to allow the color selection (greeter/BackgroundColor). Also, the user may select the logo image that appears in gdmlogin (greeter/Logo).</para>

      <para>If the "Style" choice is "Plain with face browser", then the <command>gdmlogin</command> program is used as the GUI (daemon/Greeter) and the face browser is turned on (greeter/Browser). The Face Browser is explained in the Overview section. Otherwise, the choices are the same as when the "Style" choice is "Plain". Additional setup in the Users tab may be necessary to choose which users appear in the Face Browser.</para>

      <para>If the "Style" choice is "Themed", then the <command>gdmgreeter</command> program is used as the GUI (daemon/Greeter). When this choice is selected, <command>gdmsetup</command> allows the user to select the theme to be used (greeter/GraphicalTheme). Note that the checkbox to the left of the theme's name must be checked for a theme to be selected. Clicking on the theme, but not selecting the checkbox will highlight the theme and the "Remove" button can be used to delete the theme. Information about the theme's author and copyright are shown for the highlighted theme. The "Add" button can be used to add new themes to the system. To turn on the Face Browser, a theme which includes a Face Browser must be selected, such as happygnome-list. The "Background color" displayed when GDM starts (and if the theme has transparent elements) can also be selected (greeter/GraphicalThemedColor). The "Theme" combo box may be set to "Random from selected" if you want a random theme to be used for each login (greeter/GraphicalThemeRand and greeter/GraphicalThemes). To use random themes, select each theme that you wish to be used. By default this combobox is set to "Selected only", so that only a single theme can be selected and be used.</para>

      <para>Regardless of the "Style" choice, the user may also select whether the Actions menu is visible (greeter/SystemMenu), whether the Actions menu includes the choice to start <command>gdmsetup</command> (greeter/ConfigAvailable), and whether the Action menu includes the choice to start <command>gdmchooser</command> to run a remote XDMCP login session (greeter/ChooserButton). Note that the root password must be entered to start <command>gdmsetup</command> from the login screen if it is enabled. Also the Welcome message displayed for local sessions may be selected (greeter/DefaultWelcome and greeter/Welcome). The Welcome message can contain the character sequences described in the "Text Node" section of the "Themed Greeter" section of this manual.</para>
    </sect2>

    <sect2 id="gdmsetupremotetab">
      <title>Remote Tab</title>

      <para>The Remote tab controls the appearance of the GDM for users logging in via XDMCP. By default XDMCP is disabled, and users should be comfortable with the XDMCP-related sections of the Security section of this document before enabling it. This tab includes a "Style" combobox which can be used to turn on XDMCP and control the appearance of GDM for remote users (gui/RemoteGreeter and xdmcp/Enable). This combobox may be set to "Remote login disabled" or "Same as Local". If the Local tab is set to "Plain" or "Plain with Face Browser", then the user may also select "Themed". If the Local tab is set to "Themed", then the user may also select "Plain" or "Plain with face browser". It is recommended that the "Plain" GUI be used for remote connections since it is more lightweight and tends to have better performance across a network.</para>

      <para>If Remote login is enabled, then the user can specify the remote Welcome Message to be displayed (greeter/DefaultRemoteWelcome and greeter/RemoteWelcome). This welcome message is separate from the Local welcome message and can have a different value. The Welcome message can contain the character sequences described in the "Text Node" section of the "Themed Greeter" section of this manual.</para>

      <para>If the "Style" choice is "Same as Local" and the local selection is "Plain" or "Plain with face browser", then the user may select whether background images should be displayed for remote logins (greeter/BackgroundRemoteOnlyColor).</para>

      <para>If the "Style" choice is enabled and set to a different value than the Local tab, then the user has the same configuration choices as found on the Local tab except that the System Menu choices are not available since this is never available for remote logins for security purposes.</para>

      <para>If Remote login is enabled, there is a "Configure XDMCP" button which displays a dialog allowing the user to set XDMCP configuration, including whether indirect requests are honored (xdmcp/HonorIndirect), UDP port (xdmcp/Port), maximum pending requests (xdmcp/MaxPending), maximum pending indirect requests (xmdcp/MaxPendingIndirect), maximum remote sessions (xdmcp/MaxSessions), maximum wait time (xdmcp/MaxWait), maximum indirect wait time (xdmcp/MaxWaitIndirect), displays per host (xdmcp/DisplaysPerHost), and ping interval (xdmcp/PingIntervalSeconds). The default settings are standard settings and should only be changed by someone who understands the ramifications of the change.</para>
    </sect2>

    <sect2 id="gdmsetupaccessibilitytab">
      <title>Accessibility Tab</title>

      <para>The Accessibility tab is used to turn on Accessibility features in GDM. "Enable accessible login" (daemon/AddGtkModules and daemon/GtkModulesList) turns on GDM's gesture listeners which are explained in the "Accessibility" section of this document. There is also a checkbox to allow users to change the theme when using the Plain greeter (gui/AllowGtkThemeChange). This feature allows GDM users to switch the theme to the HighContrast or LowContrast themes if needed. The user may also select whether GDM should play a sound when the login screen is ready, when login is successful and when login has failed. File chooser buttons are used to select the sound file to be played, and the "Play" button can be used to sample the sound.</para>
    </sect2>

    <sect2 id="gdmsetupsecuritytab">
      <title>Security Tab</title>

      <para>The Security tab allows the user to turn on Automatic and Timed login, which user is logged in via an automatic or timed login, and the timed login delay (daemon/AutomaticLoginEnable, daemon/AutomaticLogin, daemon/TimedLoginEnable, daemon/TimedLogin, and daemon/TimedLoginDelay). If automatic login is turned on, then the specified user will immediately log in on reboot without GDM asking for username/password. If the user logs out of their session, GDM will start and ask for username and password to log back in. If TimedLogin is turned on, then GDM will log in to the specified user after a specified number of seconds. The user may enable Timed Login for remote (XDMCP) connections by checking the "Allow remote timed logins" checkbox.</para>

      <para>On this tab, the user may select whether the system administrator user can log in, and whether the system administrator user can log in via remote (XDMCP) connections (security/AllowRoot and security/AllowRemoteRoot). The user may turn on GDM debug (debug/Enable) which causes debug messages to be sent to the system log. Debug should only be used when diagnosing a problem and not be left on when not needed. The "Deny TCP connections to Xserver" choice will disable X forwarding if selected (security/DisallowTCP). A login retry delay (security/RetryDelay) can be set to cause GDM to wait a number of seconds after a failed login.</para>  

      <para>The "Configure X Server" button can be used to specify how GDM manages each display. The "Servers" combobox shows what server definitions are available (Standard, Terminal, and Chooser by default). Refer to the "X Server Definitions" section of the "Configuration" section for more information about how to create new Server Definitions.</para>

      <para>For any server type, the user may modify the "Server Name" (server/name), the "Command" (server/command) to be used to launch the Xserver, whether the server type will "Launch" (server/chooser) the greeter or chooser GUI after starting the Xserver, whether GDM handles this type (normally only set to false when logging into a Terminal session type), and whether the session type supports "Flexible" (server/flexible) sessions.</para>

      <para>The "Servers To Start" section shows what server type is displayed for each display on the machine. Users may click on the "Add/Modify" button to add a new display to the list or to modify a selected display. This simply corresponds each physical display with the Server Definition to be used for managing that display. The "Remove" button may be used to remove a display from the list.</para>
    </sect2>

    <sect2 id="gdmsetupuserstab">
      <title>Users Tab</title>

      <para>The Users tab controls which users appear in the Face Browser. If the "Include all users from /etc/password" checkbox is selected, then all users (with a userid above greeter/MinimalUID and not in the Exclude list) are displayed. If this checkbox is not selected, then users must be added to the "Include" list. Users in the "Exclude" list are never displayed. The "Add" and "Remove" buttons are used to add a new user to the list or remove a selected user from the list. The "Apply User Changes" button must be pressed after the "Include" and "Exclude" lists have been modified. The left and right arrow buttons between the "Include" and "Exclude" lists can be used to move a selected user from one list to the other.</para>
    </sect2>
  </sect1>

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

410
    <para>GDM has powerful configuration management. System configuration is stored in <filename>&lt;share&gt;/gdm/defaults.conf</filename> and the intention is that this file can be stored on a shared filesystem so that sysadmins can have a single file to modify to control configuration for multiple machines. Also GDM distributions may patch this file on update to improve usability, improve security, etc. Configuration may be customized for a specific machine by editing the <filename>&lt;etc&gt;/gdm/custom.conf</filename> file to include an override for a specific key. Those parameters in the "gui", "greeter" sections, and the security/PamStack key may be customized per-display by specifying them in a file named <filename>&lt;etc&gt;/gdm/custom.conf&lt;display num&gt;</filename>. For example, configuration overrides for display ":103" would be stored in the file <filename>&lt;etc&gt;/gdm/custom.conf:0</filename>. Per-display configuration is supported in GDM 2.14.6 and later.</para>
411

412
    <para>The <command>gdmsetup</command> is a GUI program you can use to edit the GDM configuration. This program may also be launched directly from the login screen if the greeter/ConfigAvailable key is set to "true" Not all keys in the GDM configuration file are supported in the GUI, so you may need to edit the configuration files by hand to edit these keys. If you believe running root-owned GUI's causes security risk, then you would want to always edit the files by hand. This program does not support setting per-display configuration, so per-display configuration files must be set up by hand.</para>
413

414
    <para>Distributions should edit the <filename>&lt;share&gt;/gdm/defaults.conf</filename> file to establish the default values so these are preserved as defaults and not modified by users modifying their personal configuration file <filename>&lt;etc&gt;/gdm/custom.conf</filename>.</para>
415

416
    <para>If you want to change configuration by hand, edit the <filename>&lt;etc&gt;/gdm/custom.conf</filename> file and make sure the keyname=value pair you want is included in the appropriate section. For example, to change the "Greeter" key in the "daemon" section, make sure the daemon section of the <filename>&lt;etc&gt;/gdm/custom.conf</filename> file has the value like in this example.</para>
417 418 419 420 421

<screen>
[daemon]
Greeter=/usr/lib/gdmgreeter
</screen>
422

423
    <para>The configuration files (especially the <filename>&lt;share&gt;/gdm/defaults.conf</filename> and <filename>&lt;etc&gt;/gdm/custom.conf</filename> files) contain useful comments and examples, so read them for more information about changing your configuration. GDM considers lines that start with the "#" character a comment, and these lines will be ignored by GDM. Some keys in the <filename>&lt;share&gt;/gdm/defaults.conf</filename> are commented out while others are set. Commented out values show the default value.</para>
424

425
    <para>EL archivo  <filename>&lt;share&gt;/gdm/defaults.conf</filename> contiene las opciones de configuración predeterminadas para GDM, y no debería ser modificado por el usuario. El archivo <filename>&lt;etc&gt;/gdm/custom.conf</filename> es donde los usuarios pueden especificar sus opciones de configuración personalizadas. Las opciones de configuración especificadas en el archivo <filename>&lt;etc&gt;/gdm/custom.conf</filename> toman precedencia sobre los valores en el archivo principal <filename>&lt;share&gt;/gdm/defaults.conf</filename>. Ejecutar el comando <command>gdmsetup</command> hará que el archivo <filename>&lt;etc&gt;/gdm/custom.conf</filename> se modifique con las opciones de configuración del usuario y hará que cualquier programa del IGU de GDM se actualice automáticamente. Anteriormente a la versión 2.13.0.4 GDM sólo soportaba el archivo <filename>&lt;etc&gt;/gdm/gdm.conf</filename>, así que si está usando una versión más antigua de GDM tan sólo edite ese archivo directamente.</para>
426

427
    <para>La ubicación de los archivos de configuración puede controlarse por medio de las opciones de configuración <command>--with-defaults-conf</command> y <command>--with-custom-conf</command>. La opción --config del demonio GDM podría usarse también para especificar la ubicación del archivo de configuración. El demonio GDM debe reiniciarse para cambiar el archivo de configuración en uso.</para>
428

429
    <para><filename>&lt;share&gt;/gdm/factory-gdm.conf</filename> es el archivo de  configuración tal como se empaqueta con el demonio. Esto puede ser útil para ver si el archivo <filename>&lt;share&gt;/gdm/defaults.conf</filename> ha cambiado.</para>
430

431
    <para>Los demás archivos de configuración de GDM se encuentran, por omisión, en la carpeta <filename>&lt;etc&gt;/gdm/</filename> o sus subdirectorios. Sin embargo, la ubicación de todos los archivos de configuración se definen en los archivos de configuración de GDM, así que el administrador del sistema puede elegir situar estos archivos en cualquier lugar.</para>
432 433 434

    <para>Esta es una lista de los contenidos del directorio de configuración:</para>

435
<screen>
436 437 438 439 440 441 442 443
locale.alias
Xsession
XKeepsCrashing
modules/
Init/
PostLogin/
PreSession/
PostSession/
444
</screen>
445

446
    <para><filename>locale.alias</filename> es un archivo que se parece mucho al archivo de alias regionales del sistema pero no es el mismo. Éstos son los idiomas que están disponibles en su sitema. Todos los idiomas además se prueban para ver si actualmente existen antes de presentárselos al usuario.</para>
447 448 449

    <para><filename>Xsession</filename> es un script que configura una sesión de usuario y después ejecuta la selección de sesión del usuario. Note que el script de sesión se inicia típicamente por el archivo <filename>desktop</filename> asociado con la sesión que el usuario a escogido. Algunas sesiones quizá inicien la sesión del usuario por medio de un mecanismo diferente que el script <filename>Xsession</filename> así que marque el <filename>desktop</filename> apropiado antes de asumir que el problema de inicio está causado por este archivo.</para>

450
    <para><filename>XKeepsCrashing</filename> es un script que se ejecuta cuando el servidor X continúa colgándose y no se puede recuperar. El script predeterminado incluido funcionará con la mayoría de las distribuciones de Linux y puede ejecutar la aplicación de configuracioón de X siempre que la persona en la consola conozca la contraseña de root.</para>
451

452
    <para>Los módulos de accesibilidad se configuran en el subdirectorio <filename>modules/</filename>, y son un tema aparte. Lea los archivos predeterminados provistos, tienen documentación adecuada. De nuevo normalmente la instalación predeterminada se da en archivos con <filename>factory</filename> en su nombre, y dichos archivos no se leen, están solo ahí para que usted pueda volver siempre a la configuración predeterminada.</para>
453

454
    <para>Los archivos que describen las sesiones GDM disponibles siguen la especificación de archivos <filename>.desktop</filename> de freedesktop.org y se instalan en <filename>&lt;etc&gt;/X11/sessions/</filename>. Este directorio también lo lee el gestor de pantallas de KDE para una configuración común. El siguiente directorio <filename>&lt;share&gt;/gdm/BuiltInSessions/</filename> se lee para las sesiones integradas específicas de GDM (KDM las lleva en el propio código cuando se escribió este manual). Por último la configuración predeterminada también lee <filename>&lt;share&gt;/xsessions/</filename> (que debería ser  <filename>/usr/share/xsessions/</filename> si realmente quiere cooperar con KDM) donde los paquetes del escritorio pueden instalar sus propios archivos de sesión. Los directorios bajo <filename>&lt;etc&gt;</filename> deberían estar reservados para la configuración. La aproximación de la especificación de archivos de escritorio hace fácil para los sistemas de gestión de paquetes instalar gestores de ventanas y diferentes tipos de sesiones sin requerir que el administrador del sistema edite los archivos. Vea la clave de configuración <filename>SessionDesktopDir</filename> para cambiar las rutas. Solía ocurrir que GDM almacenaba sus sesiones integradas en <filename>&lt;etc&gt;/dm/Sessions/</filename> pero esto es obsoleto a partir de 2.5.90.0 Note que antes de la versión 2.4.4.2 sólo se leía <filename>&lt;etc&gt;/dm/Sessions/</filename>.</para>
455

456
    <para>Puede desactivarse una sesión (si fue instalada en <filename>&lt;share&gt;xsessions/</filename>) añadiendo un <filename>.desktop</filename> nombrado idénticamente a uno de los directorios anteriores en la ruta (como <filename>&lt;etc&gt;/X11/sessions</filename>) y usando <filename>Hidden=true</filename> en ese archivo.</para>
457 458

    <sect2 id="scriptdirs">
459
      <title>Los directorio de scripts</title>
460 461 462
      
      <para>En esta sección explicaremos los directorios <filename>Init</filename>, <filename>PostLogin</filename>, <filename>PreSession</filename> y <filename>PostSession</filename> ya que son muy similares.</para>

463
      <para>Cuando el servidor X se haya iniciado con éxito, GDM intentará ejecutar el script llamado <filename>Init/&lt;displayname&gt;</filename>. Ej: <filename>Init/:0</filename> para la primera pantalla local. Si este archivo no se encuentra, GDM intentará ejecutar <filename>Init/&lt;hostname&gt;</filename>. Ej: <filename>Init/somehost</filename>. Si esto aún no se encuentra, GDM intentará <filename>Init/XDMCP</filename> para todas las entradas XDMCP o <filename>Init/Flexi</filename> para todas las pantallas bajo demanda. Si no se encuentra ninguno de los anteriores, GDM ejecutará <filename>Init/Default</filename>. El script se ejecutará como root y GDM se bloquea hasta que termina. Use el script <filename>Init/*</filename> para las aplicaciones que se suponen que se ejecutan junto con la ventana de entrada de GDM. xconsole por ejemplo. Los comandos para poner el fondo de pantalla, etc. van también en este archivo.</para>
464

465
      <para>Es responsabilidad del administrador de sistemas decidir si los clientes iniciados por el script Init deben matarse antes de iniciar la sesión del usuario. Esto se controla con la opción de configuración <filename>KillInitClients</filename></para>
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484

      <para>When the user has been successfully authenticated GDM tries the scripts in the <filename>PostLogin</filename> directory in the same manner as for the <filename>Init</filename> directory. This is done before any session setup is done, and so this would be the script where you might setup the home directory if you need to (though you should use the <filename>pam_mount</filename> module if you can for this). You have the <filename>$USER</filename> and <filename>$DISPLAY</filename> environment variables set for this script, and again it is run as root. The script should return 0 on success as otherwise the user won't be logged in. This is not true for failsafe session however.</para>

      <para>After the user session has been setup from the GDM side of things, GDM will run the scripts in the <filename>PreSession</filename> directory, again in the same manner as the <filename>Init</filename> directory. Use this script for local session management or accounting stuff. The <filename>$USER</filename> environment variable contains the login of the authenticated user and <filename>$DISPLAY</filename> is set to the current display. The script should return 0 on success. Any other value will cause GDM to terminate the current login process. This is not true for failsafe sessions however. Also <filename>$X_SERVERS</filename> environmental variable is set and this points to a fake generated X servers file for use with the sessreg accounting application.</para>

      <para>After this the base <filename>Xsession</filename> script is run with the selected session executable as the first argument. This is run as the user, and really this is the user session. The available session executables are taken from the <filename>Exec=</filename> line in the <filename>.desktop</filename> files in the path specified by <filename>SessionDesktopDir</filename>. Usually this path is <filename>&lt;etc&gt;/X11/sessions/:&lt;etc&gt;/dm/Sessions:/usr/share/xsessions/</filename>. The first found file is used. The user either picks from these sessions or GDM will look inside the file <filename>~/.dmrc</filename> for the stored preference.</para>

      <para>This script should really load the users profile and generally do all the voodoo that is needed to launch a session. Since many systems reset the language selections done by GDM, GDM will also set the <filename>$GDM_LANG</filename> variable to the selected language. You can use this to reset the language environmental variables after you run the users profile. If the user elected to use the system language, then <filename>$GDM_LANG</filename> is not set.</para>

      <para>When the user terminates his session, the <filename>PostSession</filename> script will be run. Again operation is similar to <filename>Init</filename>, <filename>PostLogin</filename> and <filename>PreSession</filename>. Again the script will be run with root privileges, the slave daemon will block and the <filename>$USER</filename> environment variable will contain the name of the user who just logged out and <filename>$DISPLAY</filename> will be set to the display the user used, however note that the X server for this display may already be dead and so you shouldn't try to access it. Also <filename>$X_SERVERS</filename> environmental variable is set and this points to a fake generated X servers file for use with the sessreg accounting application.</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>Except for the <filename>Xsession</filename> script all of these scripts will also have the environment variable <filename>$RUNNING_UNDER_GDM</filename> set to <filename>yes</filename>, so that you could perhaps use similar scripts for different display managers. The <filename>Xsession</filename> will always have the <filename>$GDMSESSION</filename> set to the basename of the session that the user chose to run without the <filename>.desktop</filename> extension. In addition <filename>$DESKTOP_SESSION</filename> is also set to the same value and in fact this will also be set by KDM in future versions.</para>

      <para>Neither of the <filename>Init</filename>, <filename>PostLogin</filename>, <filename>PreSession</filename> or <filename>PostSession</filename> scripts are necessary and can be left out. The <filename>Xsession</filename> script is however required as well as at least one session <filename>.desktop</filename> file.</para>
    </sect2>

    <sect2 id="configfile">
485
      <title>Los archivos de configuración - <filename>defaults.conf</filename> y <filename>custom.conf</filename></title>
486
      
487
      <para>GDM usa dos archivos de configuración: <filename>&lt;share&gt;/gdm/defaults.conf</filename> y <filename>&lt;etc&gt;/gdm/custom.conf</filename>. El archivo <filename>&lt;share&gt;/gdm/defaults.conf</filename> contiene las elecciones de configuración predeterminadas para GDM, y no debería modificarse por el usuario. El archivo <filename>&lt;etc&gt;/gdm/custom.conf</filename> es donde los usuarios pueden especificar sus elecciones de configuración personales. Las opciones de configuración especificadas en el archivo <filename>&lt;etc&gt;/gdm/custom.conf</filename> toman precedencia sobre los valores en el archivo <filename>&lt;share&gt;/gdm/defaults.conf</filename> Si una opción de configuración no está definida en cualquier archivo, GDM usará el valor predeterminado descrito en los comentarios en el archivo <filename>&lt;share&gt;/gdm/defaults.conf</filename>.</para>
488

489
      <para>Running the <command>gdmsetup</command> command will cause the <filename>&lt;etc&gt;/gdm/custom.conf</filename> to be modified with the user's configuration choices.</para>
490

491
      <para>Previous to GDM 2.13.0.4 only the <filename>&lt;etc&gt;/gdm/gdm.conf</filename> existed. If upgrading to the new version of GDM, install will check to see if your <filename>&lt;etc&gt;/gdm/gdm.conf</filename> file is different than your <filename>&lt;etc&gt;/gdm/factory-gdm.conf</filename> file. If so, your <filename>&lt;etc&gt;/gdm/gdm.conf</filename> file will be automatically copied to <filename>&lt;etc&gt;/gdm/custom.conf</filename> to preserve any configuration changes.</para>
492
        
493
      <para>The location of the configuration files may be controlled via the <command>--with-defaults-conf</command> and <command>--with-custom-conf</command> configuration options. The GDM daemon --config option may instead be used to specify the configuration file location. The GDM daemon must be restarted to change the configuration file being used.</para>
494

495
      <para>Both configuration files are divided into sections each containing variables that define the behavior for a specific part of the GDM suite. Refer to the comments in the <filename>&lt;share&gt;/gdm/defaults.conf</filename> file for additional information about each configuration setting.</para>
496

497
      <para>The <filename>&lt;share&gt;/gdm/defaults.conf</filename> and <filename>&lt;etc&gt;/gdm/custom.conf</filename> files follow the standard <filename>.ini</filename> style configuration file syntax. Keywords in brackets define sections, strings before an equal sign (=) are variables and the data after equal sign represents their value. Empty lines or lines starting with the hash mark (#) are ignored. The graphical configurator will try to preserve both comments (lines with a hash mark) and the overall structure of the file so you can intermix using the GUI or hand editing the configuration file.</para>
498 499 500 501 502 503 504 505 506

      <sect3 id="daemonsection">
        <title>Configuración del demonio</title>

        <variablelist>
          <title>[daemon]</title>

          <varlistentry>
            <term>AddGtkModules</term>
507
            <listitem>
508 509 510 511 512 513 514 515 516 517 518 519 520 521
              <synopsis>AddGtkModules=false</synopsis>
              <para>Si es true, entonces activa <command>gdmgreeter</command> o <command>gdmlogin</command> para que se lancen con módulos GTK+ adicionales. esto es útil cuando se requieren características extra como un inicio sesión accesible. Note que sólo deberían usarse los módulos «confiables» para minimizar las cuestiones de seguridad.</para>
              <para>Usualmente esto se usa para los módulos de accesibilidad. Los módulos que se cargan se especifican con la clave <filename>GtkModulesList</filename>.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AlwaysRestartServer</term>
            <listitem>
              <synopsis>AlwaysRestartServer=false</synopsis>
              <para>If true, then gdm never tries to reuse existing X servers by reinitializing them. It will just kill the existing X server and start over. Normally, just reinitializing is a nicer way to go but if the X server memory usage keeps growing this may be a safer option. On Solaris, this value is always true, and this configuration setting is ignored.</para>
            </listitem>
          </varlistentry>

522 523 524 525 526 527 528 529
          <varlistentry>
            <term>AlwaysLoginCurrentSession</term>
            <listitem>
              <synopsis>AlwaysLoginCurrentSession=true</synopsis>
              <para>If true, then when the user logs in and already has an existing session, then they are connected to that session rather than starting a new session. This only works for session's running on VT's (Virtual Terminals) started with gdmflexiserver, and not with XDMCP. Note that VT's are not supported on all operating systems.</para>
            </listitem>
          </varlistentry>

530 531 532 533 534 535 536 537 538 539 540 541 542 543
          <varlistentry>
            <term>AutomaticLoginEnable</term>
            <listitem>
              <synopsis>AutomaticLoginEnable=false</synopsis>
              <para>If the user given in AutomaticLogin should be logged in upon first bootup. No password will be asked. This is useful for single user workstations where local console security is not an issue. Also could be useful for public terminals, although there see <filename>TimedLogin</filename>.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutomaticLogin</term>
            <listitem>
              <synopsis>AutomaticLogin=</synopsis>
              <para>This user should be automatically logged in on first bootup. AutomaticLoginEnable must be true and this must be a valid user for this to happen. "root" can never be autologged in however and gdm will just refuse to do it even if you set it up.</para>

544
              <para>The following control chars are recognized within the specified name:</para>
545

546
              <para>&percnt;&percnt;&mdash; the `&percnt;' character</para>
547

548
              <para>&percnt;d &mdash; display's name</para>
549

550
              <para>&percnt;h &mdash; display's hostname</para>
551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571

              <para>Alternatively, the name may end with a vertical bar |, the pipe symbol. The name is then used as a application to execute which returns the desired username on standard output. If an empty or otherwise invalid username is returned, automatic login is not performed. This feature is typically used when several remote displays are used as internet kiosks, with a specific user to automatically login for each display.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>BaseXsession</term>
            <listitem>
              <synopsis>BaseXsession=&lt;etc&gt;/gdm/Xsession</synopsis>
              <para>This is the base X session file. When a user logs in, this script will be run with the selected session as the first argument. The selected session will be the <filename>Exec=</filename> from the <filename>.desktop</filename> file of the session.</para>

              <para>If you wish to use the same script for several different display managers, and wish to have some of the script run only for GDM, then you can check the presence of the <filename>GDMSESSION</filename> environmental variable. This will always be set to the basename of <filename>.desktop</filename> (without the extension) file that is being used for this session, and will only be set for GDM sessions. Previously some scripts were checking for <filename>GDM_LANG</filename>, but that is only set when the user picks a non-system default language.</para>

              <para>This script should take care of doing the "login" for the user and so it should source the <filename>&lt;etc&gt;/profile</filename> and friends. The standard script shipped with GDM sources the files in this order: <filename>&lt;etc&gt;/profile</filename> then <filename>~/.profile</filename> then <filename>&lt;etc&gt;/xprofile</filename> and finally <filename>~/.xprofile</filename>. Note that different distributions may change this however. Sometimes users personal setup will be in <filename>~/.bash_profile</filename>, however broken that is.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>Chooser</term>
            <listitem>
              <synopsis>Chooser=&lt;bin&gt;/gdmchooser</synopsis>
572
              <para>Ruta completa y nombre del ejecutable del selector seguido de argumentos opcionales.</para>
573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Configurator</term>
            <listitem>
              <synopsis>Configurator=&lt;bin&gt;/gdmsetup --disable-sound --disable-crash-dialog</synopsis>
              <para>The pathname to the configurator binary. If the greeter <filename>ConfigAvailable</filename> option is set to true then run this binary when somebody chooses Configuration from the Actions menu. Of course GDM will first ask for root password however. And it will never allow this to happen from a remote display.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ConsoleCannotHandle</term>
            <listitem>
              <synopsis>ConsoleCannotHandle=am,ar,az,bn,el,fa,gu,hi,ja,ko,ml,mr,pa,ta,zh</synopsis>
              <para>These are the languages that the console cannot handle because of font issues. Here we mean the text console, not X. This is only used when there are errors to report and we cannot start X.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ConsoleNotify</term>
            <listitem>
              <synopsis>ConsoleNotify=true</synopsis>
              <para>If false, gdm will not display a message dialog on the console when an error happens.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>DefaultPath</term>
            <listitem>
603 604
              <synopsis>DefaultPath=defaultpath (value set by configure)</synopsis>
              <para>Specifies the path which will be set in the user's session. This value will be overridden with the value from <filename>/etc/default/login</filename> if it contains "ROOT=&lt;pathname&gt;". If the <filename>/etc/default/login</filename> file exists, but contains no value for ROOT, the value as defined in the GDM configuration will be be used.</para>
605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>DefaultSession</term>
            <listitem>
              <synopsis>DefaultSession=gnome.desktop</synopsis>
              <para>The session that is used by default if the user does not have a saved preference and has picked 'Last' from the list of sessions. Note that 'Last' need not be displayed, see the <filename>ShowLastSession</filename> key.</para>
            </listitem>
          </varlistentry>
          
          
          <varlistentry>
            <term>DisplayInitDir</term>
            <listitem>
              <synopsis>DisplayInitDir=&lt;etc&gt;/gdm/Init</synopsis>
              <para>Directory containing the display init scripts. See the ``The Script Directories'' section for more info.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>DisplayLastLogin</term>
            <listitem>
              <synopsis>DisplayLastLogin=true</synopsis>
              <para>If true then the last login information is printed to the user before being prompted for password. While this gives away some info on what users are on a system, it on the other hand should give the user an idea of when they logged in and if it doesn't seem kosher to them, they can just abort the login and contact the sysadmin (avoids running malicious startup scripts). This was added in version 2.5.90.0.</para>
              <para>This is for making GDM conformant to CSC-STD-002-85, although that is purely theoretical now. Someone should read that spec and ensure that this actually conforms (in addition to other places in GDM). See <filename>http://www.radium.ncsc.mil/tpep/library/rainbow/CSC-STD-002-85.html</filename> for more info.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>DoubleLoginWarning</term>
            <listitem>
              <synopsis>DoubleLoginWarning=true</synopsis>
              <para>If true, GDM will warn the user if they are already logged in on another virtual terminal. On systems where GDM supports checking the X virtual terminals, GDM will let the user switch to the previous login virtual terminal instead of logging in.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>DynamicXServers</term>
            <listitem>
              <synopsis>DynamicXServers=false</synopsis>
              <para>If true, the GDM daemon will honor requests to manage displays via the <filename>/tmp/.gdm_socket</filename> socket connection. Displays can be created, started, and deleted with the appropriate commands. The <filename>gdmdynamic</filename> command is a convenient method to send these messages.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>FailsafeXServer</term>
            <listitem>
              <synopsis>FailsafeXServer=</synopsis>
              <para>An X command line in case we can't start the normal X server. should probably be some sort of a script that runs an appropriate low resolution X server that will just work. This is tried before the <filename>XKeepsCrashing</filename> script is run.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>FirstVT</term>
            <listitem>
              <synopsis>FirstVT=7</synopsis>
              <para>On systems where GDM supports automatic VT (virtual terminal) allocation, this is the first vt to try. Usually standard text logins are run on the lower vts. See also <filename>VTAllocation</filename>.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>FlexibleXServers</term>
            <listitem>
              <synopsis>FlexibleXServers=5</synopsis>
              <para>The maximum number of allowed flexible displays. These are displays that can be run using the <filename>/tmp/.gdm_socket</filename> socket connection. This is used for both full flexible displays and for Xnest displays.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>FlexiReapDelayMinutes</term>
            <listitem>
              <synopsis>FlexiReapDelayMinutes=5</synopsis>
678
              <para>After how many minutes of inactivity at the login screen should a flexi display be reaped. This is only in effect before a user logs in. Also it does not affect the Xnest flexiservers. To turn off this behavior set this value to 0. This was added in version 2.5.90.0.</para>
679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Greeter</term>
            <listitem>
              <synopsis>Greeter=&lt;bin&gt;/gdmlogin</synopsis>
              <para>Full path and name of the greeter executable followed by optional arguments. This is the greeter used for all displays except for the XDMCP remote displays. See also <filename>RemoteGreeter</filename></para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>Group</term>
            <listitem>
              <synopsis>Group=gdm</synopsis>
              <para>The group name under which <command>gdmlogin</command>, <command>gdmgreeter</command>, <command>gdmchooser</command> and the internal failsafe GTK+ dialogs are run. Also see <filename>User</filename>. This user will have access to all the X authorization files, and perhaps to other internal GDM data and it should not therefore be a user such as nobody, but rather a dedicated user. The <filename>ServAuthDir</filename> is owned by this group. The ownership and permissions of <filename>ServAuthDir</filename> should be <filename>root.gdm</filename> and 1770.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>GtkModulesList</term>
            <listitem>
              <synopsis>GtkModulesList=module-1:module-2:...</synopsis>
              <para>A colon separated list of Gtk+ modules that <command>gdmgreeter</command> or <command>gdmlogin</command> will be invoked with if <filename>AddGtkModules</filename> is true. The format is the same as the standard Gtk+ module interface.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>HaltCommand</term>
            <listitem>
709
              <synopsis>HaltCommand=&lt;sbin&gt;/shutdown -h now</synopsis>
710
              <para>Full path and arguments to command to be executed when user selects "Shut Down" from the Actions menu. This can be a ';' separated list of commands to try. If a value is missing, the shut down command is not available. Note that the default for this value is not empty, so to disable "Shut Down" it must be set to an empty value.</para>
711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>KillInitClients</term>
            <listitem>
              <synopsis>KillInitClients=true</synopsis>
              <para>Determines whether GDM should kill X clients started by the init scripts when the user logs in.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>Directorio de registro</term>
            <listitem>
              <synopsis>LogDir=&lt;var&gt;/log/gdm</synopsis>
              <para>Directory containing the log files for the individual displays. By default this is the same as the ServAuthDir.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>PidFile</term>
            <listitem>
              <synopsis>PidFile=&lt;var&gt;/run/gdm.pid</synopsis>
              <para>Name of the file containing the <filename>gdm</filename> process id.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>PreFetchProgram</term>
            <listitem>
              <synopsis>PreFetchProgram=command</synopsis>
              <para>Program to be run by the GDM greeter/login program when the initial screen is displayed. The purpose is to provide a hook where files which will be used after login can be preloaded to speed performance for the user. The program will be called once only, the first time a greeter is displayed. The gdmprefetch command may be used. This utility will load any libraries passed in on the command line, or if the argument starts with a "@" character, it will process the file assuming it is an ASCII file containing a list of libraries, one per line, and load each library in the file.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>PostLoginScriptDir</term>
            <listitem>
              <synopsis>PostLoginScriptDir=&lt;etc&gt;/gdm/PostLogin</synopsis>
              <para>Directory containing the scripts run right after the user logs in, but before any session setup is done. See the ``The Script Directories'' section for more info.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>PostSessionScriptDir</term>
            <listitem>
              <synopsis>PostSessionScriptDir=&lt;etc&gt;/gdm/PostSession</synopsis>
              <para>Directory containing the scripts run after the user logs out. See the ``The Script Directories'' section for more info.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>PreSessionScriptDir</term>
            <listitem>
              <synopsis>PreSessionScriptDir=&lt;etc&gt;/gdm/PreSession</synopsis>
              <para>Directory containing the scripts run before the user logs in. See the ``The Script Directories'' section for more info.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>RebootCommand</term>
            <listitem>
773
              <synopsis>RebootCommand=&lt;sbin&gt;/shutdown -r now</synopsis>
774 775 776 777 778 779 780 781 782 783 784 785 786 787 788
              <para>Full path and optional arguments to the command to be executed when user selects Restart from the Actions menu. This can be a ';' separated list of commands to try. If missing, the restart command is not available. Note that the default for this value is not empty so to disable restart you must set this explicitly to an empty value.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>RemoteGreeter</term>
            <listitem>
              <synopsis>RemoteGreeter=&lt;bin&gt;/gdmlogin</synopsis>
              <para>Full path and name of the greeter executable followed by optional arguments. This is used for all remote XDMCP sessions. It is useful to have the less graphically demanding greeter here if you use the Themed Greeter for your main greeter. See also the <filename>Greeter</filename> key.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>RootPath</term>
            <listitem>
789 790
              <synopsis>RootPath=defaultpath (value set by configure)</synopsis>
              <para>Specifies the path which will be set in the root's session and the {Init,PostLogin,PreSession,PostSession} scripts executed by GDM. This value will be overridden with the value from <filename>/etc/default/login</filename> if it contains "SUROOT=&lt;pathname&gt;". If the <filename>/etc/default/login</filename> file exists, but contains no value for SUROOT, the value as defined in the GDM configuration will be used.</para>
791 792 793 794 795 796 797 798 799 800 801 802 803 804
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>ServAuthDir</term>
            <listitem>
              <synopsis>ServAuthDir=&lt;var&gt;/gdm</synopsis>
              <para>Directory containing the X authentication files for the individual displays. Should be owned by <filename>root.gdm</filename> with permissions 1770, where <filename>gdm</filename> is the GDM group as defined by the <filename>Group</filename> option. That is should be owned by root, with <filename>gdm</filename> group having full write permissions and the directory should be sticky and others should have no permission to the directory. This way the GDM user can't remove files owned by root in that directory, while still being able to write its own files there. GDM will attempt to change permissions for you when it's first run if the permissions are not the above. This directory is also used for other private files that the daemon needs to store. Other users should not have any way to get into this directory and read/change it's contents. Anybody who can read this directory can connect to any display on this computer.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>SessionDesktopDir</term>
            <listitem>
805
              <synopsis>SessionDesktopDir=&lt;etc&gt;/X11/sessions/:&lt;etc&gt;/dm/Sessions/:&lt;share&gt;/xsessions/</synopsis>
806 807 808 809 810 811 812
              <para>Directory containing the <filename>.desktop</filename> files which are the available sessions on the system. Since 2.4.4.2 this is treated like a PATH type variable and the first file found is used.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>SoundProgram</term>
            <listitem>
813
              <synopsis>SoundProgram=<filename>&lt;bin&gt;/play</filename> (or <filename>&lt;bin&gt;/audioplay</filename> on Solaris)</synopsis>
814 815 816 817 818 819 820
              <para>Application to use when playing a sound. Currently used for playing the login sound, see the <filename>SoundOnLoginFile</filename> key. Supported since 2.5.90.0.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>StandardXServer</term>
            <listitem>
821
              <synopsis>StandardXServer=/dir/to/X (value assigned by configuration file)</synopsis>
822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853
              <para>Full path and arguments to the standard X server command. This is used when gdm cannot find any other definition, and it's used as the default and failsafe fallback in a number of places. This should be able to run some sort of X server.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>SuspendCommand</term>
            <listitem>
              <synopsis>SuspendCommand=</synopsis>
              <para>Full path and arguments to command to be executed when user selects Suspend from the Actions menu. If empty there is no such menu item. Note that the default for this value is not empty so to disable suspend you must set this explicitly to an empty value.</para>
            </listitem>
          </varlistentry>

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

          <varlistentry>
            <term>TimedLogin</term>
            <listitem>
              <synopsis>TimedLogin=</synopsis>
              <para>This is the user that should be logged in after a specified number of seconds of inactivity. This can never be "root" and gdm will refuse to log in root this way. The same features as for <filename>AutomaticLogin</filename> are supported. The same control chars and piping to a application are supported.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TimedLoginDelay</term>
            <listitem>
              <synopsis>TimedLoginDelay=30</synopsis>
854
              <para>Delay in seconds before the <filename>TimedLogin</filename> user will be logged in. It must be greater then or equal to 10.</para>
855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>User</term>
            <listitem>
              <synopsis>User=gdm</synopsis>
              <para>The username under which <command>gdmlogin</command>, <command>gdmgreeter</command>, <command>gdmchooser</command> and the internal failsafe GTK+ dialogs are run. Also see <filename>Group</filename>. This user will have access to all the X authorization files, and perhaps to other internal GDM data and it should not therefore be a user such as nobody, but rather a dedicated user.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>UserAuthDir</term>
            <listitem>
              <synopsis>UserAuthDir=</synopsis>
              <para>The directory where user's <filename>.Xauthority</filename> file should be saved. When nothing is specified the user's home directory is used. This is tilde expanded so you can set it to things like: <filename>~/authdir/</filename>.</para>

              <para>If you do not use the tilde expansion, then the filename created will be random, like in <filename>UserAuthFBDir</filename>. This way many users can have the same authentication directory. For example you might want to set this to <filename>/tmp</filename> when user has the home directory on NFS, since you really don't want cookie files to go over the wire. The users should really have write privileges to this directory, and this directory should really be sticky and all that, just like the <filename>/tmp</filename> directory.</para>

              <para>Normally if this is the users home directory GDM will still refuse to put cookies there if it thinks it is NFS (by testing root-squashing). This can be changed by setting <filename>NeverPlaceCookiesOnNFS</filename> in the <filename>[security]</filename> section to false.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>UserAuthFBDir</term>
            <listitem>
              <synopsis>UserAuthFBDir=/tmp</synopsis>
              <para>If GDM fails to update the user's <filename>.Xauthority</filename> file a fallback cookie is created in this directory.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>UserAuthFile</term>
            <listitem>
              <synopsis>UserAuthFile=.Xauthority</synopsis>
              <para>Name of the file used for storing user cookies.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>VTAllocation</term>
            <listitem>
              <synopsis>VTAllocation=true</synopsis>
              <para>On systems where GDM supports automatic VT (virtual terminal) allocation (currently Linux and FreeBSD only), you can have GDM automatically append the vt argument to the X server executable. This way races that come up from each X server managing it's own vt allocation can be avoided. See also <filename>FirstVT</filename>.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>XKeepsCrashing</term>
            <listitem>
              <synopsis>XKeepsCrashing=&lt;etc&gt;/gdm/XKeepsCrashing</synopsis>
              <para>A script to run in case X keeps crashing. This is for running An X configuration or whatever else to make the X configuration work. See the script that came with the distribution for an example. The distributed <filename>XKeepsCrashing</filename> script is tested on Red Hat, but may work elsewhere. Your system integrator should make sure this script is up to date for your particular system.</para>
907
              <para>In case <filename>FailsafeXServer</filename> is setup, that will be tried first. and this only used as a backup if even that X server keeps crashing.</para>
908 909 910 911 912 913
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Xnest</term>
            <listitem>
914
              <synopsis>Xnest=&lt;bin&gt;/X11/Xnest (/usr/openwin/bin/Xnest on Solaris)</synopsis>
915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930
              <para>The full path and arguments to the Xnest command. This is used for the flexible Xnest displays. This way the user can start new login screens in a nested window. Of course you must have the Xnest display from your X server packages installed for this to work.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="securitysection">
        <title>Opciones de seguridad</title>
        
        <variablelist>
          <title>[security]</title>
          
          <varlistentry>
            <term>AllowRoot</term>
            <listitem>
              <synopsis>AllowRoot=true</synopsis>
931
              <para>Allow root (privileged user) to log in through GDM. Set this to false if you want to disallow such logins.</para>
932 933 934 935 936 937 938 939 940 941
              <para>On systems that support PAM, this parameter is not as useful as you can use PAM to do the same thing, and in fact do even more. However it is still followed, so you should probably leave it true for PAM systems.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AllowRemoteRoot</term>
            <listitem>
              <synopsis>AllowRemoteRoot=false</synopsis>
              <para>Allow root (privileged user) to log in remotely through GDM. This value should be set to true to allow such logins. Remote logins are any logins that come in through the XDMCP.</para>
              <para>On systems that support PAM, this parameter is not as useful since you can use PAM to do the same thing, and do even more.</para>
942
              <para>This value will be overridden and set to false if the <filename>/etc/default/login</filename> file exists and contains "CONSOLE=/dev/login", and set to true if the <filename>/etc/default/login</filename> file exists and contains any other value or no value for CONSOLE.</para>
943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AllowRemoteAutoLogin</term>
            <listitem>
              <synopsis>AllowRemoteAutoLogin=false</synopsis>
              <para>Allow the timed login to work remotely. That is, remote connections through XDMCP will be allowed to log into the "TimedLogin" user by letting the login window time out, just like the local user on the first console.</para>
              <para>Note that this can make a system quite insecure, and thus is off by default.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>CheckDirOwner</term>
            <listitem>
              <synopsis>CheckDirOwner=true</synopsis>
              <para>By default GDM checks the ownership of the home directories before writing to them, this prevents security issues in case of bad setup. However in some instances home directories will be owned by a different user and in this case it is necessary to turn this option on. You will also most likely have to turn the <filename>RelaxPermissions</filename> key to at least value 1 since in such a scenario home directories are likely to be group writable. Supported since 2.6.0.4.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>DisallowTCP</term>
            <listitem>
              <synopsis>DisallowTCP=true</synopsis>
              <para>If true, then always append <filename>-nolisten tcp</filename> to the command line of local X servers, thus disallowing TCP connection. This is useful if you do not care for allowing remote connections, since the X protocol could really be potentially a security hazard to leave open, even though no known security problems exist.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>NeverPlaceCookiesOnNFS</term>
            <listitem>
              <synopsis>NeverPlaceCookiesOnNFS=true</synopsis>
              <para>Normally if this is true (which is by default), GDM will not place cookies into the users home directory if this directory is on NFS. Well, GDM will consider any filesystem with root-squashing an NFS filesystem. Sometimes however the remote file system can have root squashing and be safe (perhaps by using encryption). In this case set this to 'false'. Note that this option appeared in version 2.4.4.4 and is ignored in previous versions.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>PasswordRequired</term>
            <listitem>
              <synopsis>PasswordRequired=false</synopsis>
983
              <para>If true, this will cause PAM_DISALLOW_NULL_AUTHTOK to be passed as a flag to pam_authenticate and pam_acct_mgmt, disallowing NULL password. This setting will only take effect if PAM is being used by GDM. This value will be overridden with the value from <filename>/etc/default/login</filename> if it contains "PASSREQ=[YES|NO]". If the <filename>/etc/default/login</filename> file exists, but contains no value for PASSREQ, the value as defined in the GDM configuration will be used.</para>
984 985 986 987 988 989 990 991 992
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>RelaxPermissions</term>
            <listitem>
              <synopsis>RelaxPermissions=0</synopsis>
              <para>By default GDM ignores files and directories writable to other users than the owner.</para> 
              
993
              <para>Changing the value of RelaxPermissions makes it possible to alter this behavior:</para>
994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012
              
              <para>0 - Paranoia option. Only accepts user owned files and directories.</para>
              <para>1 - Allow group writable files and directories.</para>
              <para>2 - Allow world writable files and directories.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>RetryDelay</term>
            <listitem>
              <synopsis>RetryDelay=1</synopsis>
              <para>The number of seconds GDM should wait before reactivating the entry field after a failed login.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>UserMaxFile</term>
            <listitem>
              <synopsis>UserMaxFile=65536</synopsis>
1013
              <para>GDM will refuse to read/write files bigger than this number (specified in bytes).</para>
1014 1015 1016 1017 1018 1019 1020 1021
              
              <para>In addition to the size check GDM is extremely picky about accessing files in user directories. It will not follow symlinks and can optionally refuse to read files and directories writable by other than the owner. See the <filename>RelaxPermissions</filename> option for more info.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="xdmcpsection">
1022
        <title>XDCMP Support</title>
1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046

        <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 the <filename>DisplaysPerHost</filename> value accordingly.</para>

              <para>Note that the number of connections from the local computer is unlimited. Only remote connections are limited by this number.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Enable</term>
            <listitem>
              <synopsis>Enable=false</synopsis>
              <para>Setting this to true enables XDMCP support allowing remote displays/X terminals to be managed by 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>
              
1047 1048 1049
              <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(5)</ulink> man page for details.</para>
1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165
              
              <para>Note que XDMCP no es un protocolo particularmente seguro y que es una buena idea bloquear el puerto UDP 177 en su cortafuegos a no ser que realmente lo necesite.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>EnableProxy</term>
            <listitem>
              <synopsis>EnableProxy=false</synopsis>
              <para>Setting this to true enables support for running XDMCP sessions on a local proxy X server. This may improve the performance of XDMCP sessions, especially on high latency networks, as many X protocol operations can be completed without going over the network.</para>
              <para>Note, however, that this mode will significantly increase the burden on the machine hosting the XDMCP sessions</para>
              <para>See the <filename>FlexiProxy</filename> and <filename>FlexiProxyDisconnect</filename> options for further details on how to configure support for this feature.</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 don't supply their own display browser.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MaxPending</term>
            <listitem>
              <synopsis>MaxPending=4</synopsis>
              <para>To avoid denial of service attacks, GDM has fixed size queue of pending connections. Only MaxPending displays can start at the same time.</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>MaxPendingIndirect</term>
            <listitem>
              <synopsis>MaxPendingIndirect=4</synopsis>
              <para>GDM will only provide <filename>MaxPendingIndirect</filename> displays with host choosers simultaneously. If more queries from different hosts come in, the oldest ones will be forgotten.</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. Don't change this unless you know what you are doing.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>PingIntervalSeconds</term>
            <listitem>
              <synopsis>PingIntervalSeconds=15</synopsis>
              <para>Interval in which to ping the X server in seconds. If the X server doesn't return before the next time we ping it, the connection is stopped and the session ended. This is a combination of the XDM PingInterval and PingTimeout, but in seconds.</para>

              <para>Note that GDM in the past used to have a <filename>PingInterval</filename> configuration key which was also in minutes. For most purposes you'd want this setting to be lower then 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.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ProxyReconnect</term>
            <listitem>
              <synopsis>FlexiProxyReconnect=</synopsis>
              <para>Setting this option enables experimental support for session migration with XDMCP sessions. This enables users to disconnect from their session and later reconnect to that same session, possibly from a different terminal.</para>
              <para>In order to use this feature, you must have a nested X server available which supports disconnecting from its parent X server and reconnecting to another X server. Currently, the Distributed Multihead X (DMX) server supports this feature to some extent and other projects like NoMachine NX are busy implementing it.</para>
              <para>This option should be set to the path of a command which will handle reconnecting the XDMCP proxy to another backend display. A sample implementation for use with DMX is supplied.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ProxyXServer</term>
            <listitem>
              <synopsis>ProxyXServer=</synopsis>
              <para>The X server command line for a XDMCP proxy. Any nested X server like Xnest, Xephr or Xdmx should work fairly well.</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 doesn't 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>

      <sect3 id="commonguioptions">
1166
        <title>Opciones comunes de configuración a través del IGU</title>
1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269

        <variablelist>
          <title>[gui]</title>

          <varlistentry>
            <term>AllowGtkThemeChange</term>
            <listitem>
              <synopsis>AllowGtkThemeChange=true</synopsis>
              <para>If to allow changing the GTK+ (widget) theme from the greeter. Currently this only affects the standard greeter as the graphical greeter does not yet have this ability. The theme will stay in effect on this display until changed and will affect all the other windows that are put up by GDM. Supported since 2.5.90.2.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>GtkRC</term>
            <listitem>
              <synopsis>GtkRC=</synopsis>
              <para>Path to a <filename>gtkrc</filename> to read when GDM puts up a window. You should really now use the <filename>GtkTheme</filename> key for just setting a theme.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>GtkTheme</term>
            <listitem>
              <synopsis>GtkTheme=Default</synopsis>
              <para>A name of an installed theme to use by default. It will be used in the greeter, chooser and all other GUI windows put up by GDM. Supported since 2.5.90.2.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>GtkThemesToAllow</term>
            <listitem>
              <synopsis>GtkThemesToAllow=all</synopsis>
              <para>Comma separated list of themes to allow. These must be the names of the themes installed in the standard locations for GTK+ themes. You can also specify 'all' to allow all installed themes. This is related to the <filename>AllowGtkThemeChange</filename> key. Supported since 2.5.90.2.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MaxIconWidth</term>
            <listitem>
              <synopsis>MaxIconWidth=128</synopsis>
              <para>Specifies the maximum icon width (in pixels) that the face browser will display. Icons larger than this will be scaled. This also affects icons in the XDMCP chooser.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MaxIconHeight</term>
            <listitem>
              <synopsis>MaxIconHeight=128</synopsis>
              <para>Specifies the maximum icon height (in pixels) that the face browser will display. Icons larger than this will be scaled. This also affects icons in the XDMCP chooser.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
        
      <sect3 id="greetersection">
        <title>Configuración del interfaz</title>

        <variablelist>
          <title>[greeter]</title>

          <varlistentry>
            <term>BackgroundColor</term>
            <listitem>
              <synopsis>BackgroundColor=#76848F</synopsis>
              <para>If the BackgroundType is 2, use this color in the background of the greeter. Also use it as the back of transparent images set on the background and if the BackgroundRemoteOnlyColor is set and this is a remote display. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>BackgroundProgramInitialDelay</term>
            <listitem>
              <synopsis>BackgroundProgramInitialDelay=30</synopsis>
              <para>The background application will be started after at least that many seconds of inactivity.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>RestartBackgroundProgram</term>
            <listitem>
              <synopsis>RestartBackgroundProgram=true</synopsis>
              <para>If set the background application will be restarted when it has exited, after the delay described below has elapsed. This option can be useful when you wish to run a screen saver application when no user is using the computer.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>BackgroundProgramRestartDelay</term>
            <listitem>
              <synopsis>BackgroundProgramRestartDelay=30</synopsis>
              <para>The background application will be restarted after at least that many seconds of inactivity.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>BackgroundImage</term>
            <listitem>
              <synopsis>BackgroundImage=somefile.png</synopsis>
              <para>If the BackgroundType is 1, then display this file as the background in the greeter. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>BackgroundProgram</term>
            <listitem>
1270
              <synopsis>BackgroundProgram=&lt;bin&gt;/xeyes</synopsis>
1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294
              <para>If set this command will be run in the background while the login window is being displayed. Note that not all applications will run this way, since GDM does not usually have a home directory. You could set up home directory for the GDM user if you wish to run applications which require it. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>BackgroundRemoteOnlyColor</term>
            <listitem>
              <synopsis>BackgroundRemoteOnlyColor=true</synopsis>
              <para>On remote displays only set the color background. This is to make network load lighter. The <filename>BackgroundProgram</filename> is also not run. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>BackgroundScaleToFit</term>
            <listitem>
              <synopsis>BackgroundScaleToFit=true</synopsis>
              <para>Scale background image to fit the screen. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>BackgroundType</term>
            <listitem>
              <synopsis>BackgroundType=2</synopsis>
1295
              <para>The type of background to set. 0 is none, 1 is image and color, 2 is color and 3 is image. This only affects the GTK+ Greeter.</para>
1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>Browser</term>
            <listitem>
              <synopsis>Browser=true</synopsis>
              <para>Set to true to enable the face browser. See the ``The GTK+ Greeter'' section for more information on the face browser. This option only works for the GTK+ Greeter. For the Themed Greeter, the face browser is enabled by choosing a theme which includes a face browser</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ChooserButton</term>
            <listitem>
              <synopsis>ChooserButton=true</synopsis>
              <para>If true, add a chooser button to the Actions menu that will restart the current X server with a chooser. XDMCP does not need to be enabled on the local computer for this to work.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>ConfigAvailable</term>
            <listitem>
              <synopsis>ConfigAvailable=false</synopsis>
              <para>If true, allows the configurator to be run from the greeter. Note that the user will need to type in the root password before the configurator will be started. This is set to false by default for additional security. See the <filename>Configurator</filename> option in the daemon section.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>DefaultFace</term>
            <listitem>
              <synopsis>DefaultFace=&lt;share&gt;/pixmaps/nophoto.png</synopsis>
1327
              <para>Si un usuario no tiene una imagen de rostro definida, GDM usará el icono "stock_person" definido en el tema GTK+ actual. Si dicha imagen no está definida, entonces usará la imagen especificada en la opción de configuración <filename>DefaultFace</filename>. La imagen debe estar en un formato soportado por gdk-pixbuf y el archivo debe poderlo leer el usuario de GDM.</para>
1328 1329 1330 1331 1332 1333 1334
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>Include</term>
            <listitem>
              <synopsis>Include=</synopsis>
1335
              <para>Lista separada por comas de usuarios que serán incluidos en el visor de rostros y en la lista de selección de <command>gdmsetup</command> para el inicio de sesión automático/temporizado. Vea además  <filename>Exclude</filename>, <filename>IncludeAll</filename>, y <filename>MinimalUID</filename>.</para>
1336 1337 1338 1339 1340 1341 1342
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>Exclude</term>
            <listitem>
              <synopsis>Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,...</synopsis>
1343
              <para>Lista separada por comas de usuarios que serán excluidos en el visor de rostros y en la lista de selección de <command>gdmsetup</command> para el inicio de sesión automático/temporizado. Vea además  <filename>Exclude</filename>, <filename>IncludeAll</filename>, y <filename>MinimalUID</filename>.</para>
1344 1345 1346 1347 1348 1349 1350
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>IncludeAll</term>
            <listitem>
              <synopsis>IncludeAll=false</synopsis>
1351
              <para>Por omisión, una lista de inclusión vacía significa no mostrar ningún usuario. Estableciendo IncludeAll al valor «true», se inspeccionará el archivo de contraseñas y todos los usuarios se mostrarán excepto los usuarios excluidos por medio del ajuste de exclusión  y los IDs de usuario menores que MinimalUID. Examinar el archivo de contraseñas puede ser lento en sistemas con gran número de usuarios y esta característica no se usará en dichos entornos. Vea además <filename>Include</filename>, <filename>Exclude</filename>, y <filename>MinimalUID</filename>.</para>
1352 1353 1354 1355 1356 1357 1358
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>GlobalFaceDir</term>
            <listitem>
              <synopsis>GlobalFaceDir=&lt;share&gt;/pixmaps/faces/</synopsis>
1359
              <para>Directorio para todo el sistema para los archivos de rostros. El administrador del sistema puede colocar iconos para los usuarios aquí sin tocar los directorios personales. Los rostros se llaman como los nombres de sus usuarios.</para>
1360 1361 1362
              
              <para>I.e. <filename>&lt;GlobalFaceDir&gt;/johndoe</filename> would contain the face icon for the user ``johndoe''. No image format extension should be specified.</para>
              
1363
              <para>Las imágenes de los rostros deben almacenarse en un formato soportado por gdk-pixbuf y deben tener permiso de lectura para el usuario GDM.</para>
1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377
              
              <para>A user's own icon file will always take precedence over the sysadmin provided one.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>GraphicalTheme</term>
            <listitem>
              <synopsis>GraphicalTheme=circles</synopsis>
              <para>The graphical theme that the Themed Greeter should use. it should refer to a directory in the theme directory set by <filename>GraphicalThemeDir</filename>.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
1378
            <term>Temas gráficos</term>
1379 1380
            <listitem>
              <synopsis>GraphicalThemes=circles</synopsis>
1381
              <para>Los temas gráficos que el Interfaz de entrada debería usar si el modo está puesto a Temas aleatorios. Esto es una lista delimitada por  "/:" . Debería referirse a un directorio en el directorio del tema designado por <filename>GraphicalThemeDir</filename>. Esto se usa sólo si <filename>GraphicalThemeRand</filename> está establecido a «true».</para>
1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>GraphicalThemeRand</term>
            <listitem>
              <synopsis>GraphicalThemeRand=false</synopsis>
              <para>Whether the graphical greeter will use Only One Theme or Random Theme mode. Only One Theme mode uses themes listed by <filename>GraphicalTheme</filename>, Random Themes mode uses themes listed by <filename>GraphicalThemes</filename>. A value of false sets greeter to use Only One Theme mode, a value of true sets the greeter to use Random Theme mode.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>GraphicalThemeDir</term>
            <listitem>
              <synopsis>GraphicalThemeDir=&lt;share&gt;/gdm/themes/</synopsis>
              <para>The directory where themes for the Themed Greeter are installed.</para>
            </listitem>
          </varlistentry>

         <varlistentry>
            <term>GraphicalThemedColor</term>
            <listitem>
              <synopsis>GraphicalThemedColor=#76848F</synopsis>
              <para>Use this color in the background of the Themed Greeter. This only affects the Themed Greeter.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>InfoMsgFile</term>
            <listitem>
              <synopsis>InfoMsgFile=/path/to/infofile</synopsis>
              <para>If present and /path/to/infofile specifies an existing and readable text file (e.g. &lt;etc&gt;/infomsg.txt) the contents of the file will be displayed in a modal dialog box before the user is allowed to login. This works both with the standard and the themable greeters.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>InfoMsgFont</term>
            <listitem>
              <synopsis>InfoMsgFont=fontspec</synopsis>
              <para>If present and InfoMsgFile (see above) is used, this specifies the font to use when displaying the contents of the InfoMsgFile text file. For example fontspec could be Sans 24 to get a sans serif font of size 24 points. This works both with the standard and the themable greeters.</para>
            </listitem>
          </varlistentry>
          
          
          <varlistentry>
            <term>LocaleFile</term>
            <listitem>
              <synopsis>LocaleFile=&lt;etc&gt;/gdm/locale.alias</synopsis>
              <para>File in format similar to the GNU locale format with entries for all supported languages on the system. The format is described above or in a comment inside that file.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>LockPosition</term>
            <listitem>
              <synopsis>LockPosition=true</synopsis>
              <para>If true the position of the login window of the GTK+ Greeter cannot be changed even if the title bar is turned on.</para>
            </listitem>
          </varlistentry>        
          
          <varlistentry>
            <term>Logo</term>
            <listitem>
              <synopsis>Logo=&lt;share&gt;/pixmaps/gnome-logo-large.png</synopsis>
              <para>Image file to display in the logo box. The file must be in an gdk-pixbuf supported format and it must be readable by the GDM user. If no file is specified the logo feature is disabled. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>

         <varlistentry>
            <term>ChooserButtonLogo</term>
            <listitem>
              <synopsis>ChooserButtonLogo=&lt;share&gt;/pixmaps/gnome-logo-large.png</synopsis>
              <para>Image file to display in the file chooser button in <command>gdmsetup</command>. This key is modified by <command>gdmsetup</command> and should not be manually modified by the user. This only affects the Login Window Preferences (<command>gdmsetup</command>).</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>MinimalUID</term>
            <listitem>
              <synopsis>MinimalUID=100</synopsis>
              <para>The minimal UID that GDM should consider a user. All users with a lower UID will be excluded from the face browser. See also <filename>Include</filename>, <filename>Exclude</filename>, and <filename>IncludeAll</filename>.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>PositionX</term>
            <listitem>
              <synopsis>PositionX=200</synopsis>
1470
              <para>La posición horizontal de la ventana de entrada del interfaz GTK+.</para>
1471 1472 1473 1474 1475 1476 1477
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>PositionY</term>
            <listitem>
              <synopsis>PositionY=100</synopsis>
1478
              <para>La posición vertical de la ventana de entrada del interfaz GTK+.</para>
1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500
            </listitem>
          </varlistentry>        
          
          <varlistentry>
            <term>Quiver</term>
            <listitem>
              <synopsis>Quiver=true</synopsis>
              <para>Controls whether <command>gdmlogin</command> should shake the display when an incorrect username/password is entered. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>DefaultRemoteWelcome</term>
            <listitem>
              <synopsis>DefaultRemoteWelcome=true</synopsis>
              <para>If set to true, the value "Welcome to %n" is used for the <filename>RemoteWelcome</filename>. This value is translated into the appropriate language for the user. If set to false, the <filename>RemoteWelcome</filename> setting is used. This string can use the same special character sequences as explained in the "Text Node" section of the "Themed Greeter" chapter. This explains the meaning of "%n".</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>RemoteWelcome</term>
            <listitem>
1501
              <synopsis>RemoteWelcome=Welcome to &percnt;n</synopsis>
1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640
              <para>Controls which text to display next to the logo image in the greeter for remote XDMCP sessions. The same expansion is done here as in the <filename>Welcome</filename> string. This string can use the same special character sequences as explained in the "Text Node" section of the "Themed Greeter" chapter. chapter.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>RunBackgroundProgramAlways</term>
            <listitem>
              <synopsis>RunBackgroundProgramAlways=false</synopsis>
              <para>If this is true then the background application is run always, otherwise it is only run when the <filename>BackgroundType</filename> is 0 (None) This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>SetPosition</term>
            <listitem>
              <synopsis>SetPosition=true</synopsis>
              <para>If true the position of the login window of the GTK+ Greeter is determined by <filename>PositionX</filename> / <filename>PositionY</filename>.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>ShowGnomeFailsafeSession</term>
            <listitem>
              <synopsis>ShowGnomeFailsafeSession=true</synopsis>
              <para>Should the greeter show the Gnome Failsafe session in th sessions list.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>ShowLastSession</term>
            <listitem>
              <synopsis>ShowLastSession=true</synopsis>
              <para>Should the greeter show the 'Last' session in the session list. If this is off, then GDM is in the so called 'switchdesk' mode which for example Red Hat uses. That is, the users can't pick the last session and will just then get the default session (see <filename>DefaultSession</filename>) unless then pick something else for this session only. So if this is off, this really circumvents saving of the last session.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>ShowXtermFailsafeSession</term>
            <listitem>
              <synopsis>ShowXtermFailsafeSession=true</synopsis>
              <para>Should the greeter show the Xterm Failsafe session in the sessions list.</para>
            </listitem>
          </varlistentry>        

          <varlistentry>
            <term>SoundOnLogin</term>
            <listitem>
              <synopsis>SoundOnLogin=true</synopsis>
              <para>If true, the greeter will play a sound or beep when it is ready for a login. See also the <filename>SoundOnLoginFile</filename> key. Supported since 2.5.90.0.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>SoundOnLoginSuccess</term>
            <listitem>
              <synopsis>SoundOnLoginSuccess=true</synopsis>
              <para>If true, the greeter will play a sound after a successful login attempt. See also the <filename>SoundOnLoginSuccessFile</filename> key.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>SoundOnLoginFailure</term>
            <listitem>
              <synopsis>SoundOnLoginFailure=true</synopsis>
              <para>If true, the greeter will play a sound after a failed login attempt. See also the <filename>SoundOnLoginFailureFile</filename> key.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>SoundOnLoginFile</term>
            <listitem>
              <synopsis>SoundOnLoginFile=/path/to/sound.wav</synopsis>
              <para>The file that will be played using the specified sound application (by default that is <filename>/usr/bin/play</filename>) instead of a beep when the greeter is ready for a login. See also the <filename>SoundOnLogin</filename> key and the <filename>SoundProgram</filename> key. Supported since 2.5.90.0.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>SoundOnLoginSuccessFile</term>
            <listitem>
              <synopsis>SoundOnLoginSuccessFile=/path/to/sound.wav</synopsis>
              <para>The file that will be played using the specified sound application (by default that is <filename>/usr/bin/play</filename>) after a successful login attempt. See also the <filename>SoundOnLoginSuccess</filename> key and the <filename>SoundProgram</filename> key.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>SoundOnLoginFailureFile</term>
            <listitem>
              <synopsis>SoundOnLoginFailureFile=/path/to/sound.wav</synopsis>
              <para>The file that will be played using the specified sound application (by default that is <filename>/usr/bin/play</filename>) after a failed login attempt. See also the <filename>SoundOnLoginFailure</filename> key and the <filename>SoundProgram</filename> key.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>SystemMenu</term>
            <listitem>
              <synopsis>SystemMenu=true</synopsis>
              <para>Turns the Actions menu (which used to be called System menu) on or off. If this is off then one of the actions will be available anywhere. These actions include Shutdown, Restart, Configure, XDMCP chooser and such. All of those can however be turned off individually. Shutdown, Restart and Suspend can be turned off by just setting the corresponding keys to empty. Note that the actions menu is only shown on local logins as it would not be safe or even desirable on remote logins, so you don't have to worry about remote users having any sort of console privileges.</para>

              <para>Note that if this is off none of the actions will be available even if a theme for a graphical greeter mistakenly shows them. Also note that sometimes a graphical theme may not show all the available actions as buttons and you may have to press F10 to see the menu.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TitleBar</term>
            <listitem>
              <synopsis>TitleBar=true</synopsis>
              <para>Display the title bar in the greeter. This only affects the GTK+ Greeter.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Use24Clock</term>
            <listitem>
              <synopsis>Use24Clock=auto</synopsis>
              <para>Select the use of 24 hour clock. Some locales do not support 12 hour format (like Finnish, that is <filename>fi_FI</filename>), and in those locales this setting has no effect at all.</para>
              <para>Possible values are "auto" (default), "true", and "false". If this is set to "auto" or left empty, then time format is chosen from locale settings. Locale settings are based on the language in use, thus it is changed by setting environment variables LANGUAGE (GNU extension), LANG, LC_MESSAGES or LC_ALL in the GDM's runtime environment. Priorities between the mentioned environment variables can be found from your system's C library manual.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>UseCirclesInEntry</term>
            <listitem>
              <synopsis>UseCirclesInEntry=false</synopsis>
              <para>Use circles instead of asterisks in the password entry. This may not work with all fonts however.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>UseInvisibleInEntry</term>
            <listitem>
              <synopsis>UseInvisibleInEntry=false</synopsis>
              <para>Do not show any visual feedback is the password entry. This is the standard in console and xdm. Settings this option discards the <filename>UseCirclesInEntry</filename> option.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>DefaultWelcome</term>
            <listitem>
              <synopsis>DefaultWelcome=true</synopsis>
1641
              <para>Si está establecido a «true» el valor  "Welcome" se usa para la <filename>Welcome</filename>. Este valor está traducido en el idioma apropiado para el usuario. Si se establece a «false», se usa el ajuste <filename>Welcome</filename>.</para>
1642 1643 1644 1645 1646 1647 1648
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Welcome</term>
            <listitem>
              <synopsis>Welcome=Welcome</synopsis>
1649
              <para>Controla qué texto se muestra junto a la imagen del logotipo en el interfaz estándar. Están soportados los siguientes caracteres de control:</para>
1650
              
1651
              <para>&percnt;&percnt;&mdash; the `&percnt;' character</para>
1652
              
1653
              <para>&percnt;d &mdash; display's hostname</para>
1654
              
1655
              <para>&percnt;h &mdash; Fully qualified hostname</para>
1656

1657
              <para>&percnt;m &mdash; machine (processor type)</para>
1658

1659
              <para>&percnt;n &mdash; Nodename (i.e. hostname without .domain)</para>
1660
              
1661
              <para>&percnt;r &mdash; release (OS version)</para>
1662
              
1663
              <para>&percnt;s &mdash; sysname (i.e. OS)</para>
1664

1665
              <para>Estas cadenas se usan sólo para inicios de sesión locales. Para inicios de sesión remotos XDMCP se usa <filename>RemoteWelcome</filename>.</para>
1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682

              <para>In the Themed Greeter the location of this text depends on the theme. Unless the theme uses the stock welcome string somewhere this string will not be displayed at all.</para>
                            
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>XineramaScreen</term>
            <listitem>
              <synopsis>XineramaScreen=0</synopsis>
              <para>If the Xinerama extension is active the login window will be centered on this physical screen (use 0 for the first screen, 1 for the second...).</para>
            </listitem>
          </varlistentry>        
        </variablelist>
      </sect3>

      <sect3 id="choosersection">
1683
        <title>Opciones del selector XDCMP</title>
1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757

        <variablelist>
          <title>[chooser]</title>

          <varlistentry>
            <term>AllowAdd</term>
            <listitem>
              <synopsis>AllowAdd=true</synopsis>
              <para>If true, allow the user to add arbitrary hosts to the chooser. This way the user could connect to any host that responds to XDMCP queries from the chooser.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Broadcast</term>
            <listitem>
              <synopsis>Broadcast=true</synopsis>
              <para>If true, the chooser will broadcast a query to the local network and collect responses. This way the chooser will always show all available managers on the network. If you need to add some hosts not local to this network, or if you don't want to use a broadcast, you can list them explicitly in the <filename>Hosts</filename> key.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>Multicast</term>
            <listitem>
              <synopsis>Multicast=true</synopsis>
              <para>If true and IPv6 is enabled, the chooser will send a multicast query to the local network and collect responses from the hosts who have joined multicast group. If you don't want to send a multicast, you can specify IPv6 address in the <filename>Hosts </filename> key. The host will respond if it is listening to XDMCP requests and IPv6 is enabled there.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MulticastAddr</term>
            <listitem>
              <synopsis>MulticastAddr=ff02::1</synopsis>
              <para>This is the Link-local Multicast address and is hardcoded here.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>DefaultHostImage</term>
            <listitem>
              <synopsis>DefaultHostImage=&lt;share&gt;/pixmaps/nohost.png</synopsis>
              <para>File name for the default host icon. This image will be displayed if no icon is specified for a given host. The file must be in an gdk-pixbuf supported format and it must be readable for the GDM user.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>HostImageDir</term>
            <listitem>
              <synopsis>HostImageDir=&lt;share&gt;/hosts</synopsis>
              <para>Repository for host icon files. The sysadmin can place icons for remote hosts here and they will appear in <filename>gdmchooser</filename>.</para>
              
              <para>The file name must match the fully qualified name (FQDN) for the host. The icons must be stored in gdk-pixbuf supported formats and they must be readable to the GDM user.</par