# Los archivos utilizados para la configuración de &kdm;

Este capítulo documenta los archivos que controlan el comportamiento de &kdm;. Algunos de éstos pueden ser controlados por el módulo &kcontrol;, pero no todos.

## &kdmrc; - El archivo maestro de configuración de &kdm;.

El formato básico de este archivo es «similar al INI». Las opciones son pares clave/valor colocados en secciones. Todo en el archivo es sensible a mayúsculas y minúsculas. Los errores sintácticos e identificadores no reconocidos de la clave/sección pueden provocar que &kdm; muestre mensajes de error.

Las líneas que comienzan con `#` son comentarios. Las líneas vacías se ignoran.

La notación de las secciones será `[``Nombre de sección``]`.

Puede configurar cada pantalla X individualmente.

Cada pantalla tiene un nombre, que está formado por un nombre de servidor (que está vacío para las pantallas locales especificados en `StaticServers` o `ReserveServers`, dos puntos y un número de pantalla. Adicionalmente, una pantalla pertenece a una clase de pantallas (que puede ser ignorada en la mayor parte de los casos).

Las secciones con configuraciones específicas de pantalla tiene la sintaxis formal `[X-` `servidor` [ `:` `número` [ `_` `clase` ] ] `-` `sub-sección` `]`

Todas las secciones con la misma `sub-sección` forman un clase de sección.

Puede utilizar el comodín `*` (cualquier coincidencia) para `servidor`, `número` y `clase`. Puede omitir los componentes, en cuyo caso se asumirá `*`. La parte servidor puede ser una especificación de dominio del estilo de `.inf.tu-dresden.de` o el comodín `+` (no vacío).

Para determinar de qué sección se toman se utilizan estas reglas:

- Una coincidencia exacta tiene preferencia sobre la coincidencia parcial (por la parte del servidor), que a su vez tiene preferencia sobre un comodín (`+` tiene preferencia sobre `*`).

- La preferencia se decrementa de izquierda a derecha en el caso de coincidencias exactas.

- Ejemplo: nombre de pantalla «miservidor.foo:0», clase«dpy»

  - [X-miservidor.foo:0_dpy] tiene preferencia sobre

  - [X-mi servidor.foo:0_*] (el mismo que [X-miservidor.foo:0]) que tiene preferencia sobre

  - [X-miservidor.foo:*_dpy] que tiene preferencia sobre

  - [X-miservidor.foo:*_*] (igual que [X-miservidor.foo]) que tiene preferencia sobre

  - [X-.foo:*_*] (igual que [X-.foo]) que tiene preferencia sobre

  - [X-+:0_dpy] que tiene preferencia sobre

  - [X-*:0_dpy] que tiene preferencia sobre

  - [X-*:0_*] (igual que [X-*:0]) que tiene preferencia sobre

  - [X-*:*_*] (igual que [X-*]).

  - Estas secciones no coinciden con:

    [X-suservidor], [X-miservidor.foo:0_dec], [X-*:1], [X-:*]

Las secciones comunes son [X-*] (todas las pantallas), [X-:*] (todas las pantallas locales) y [X-:0] (la primera pantalla local).

El formato para todas las claves es ```clave`` `=` `valor``. Las claves únicamente son válidas en la clase de la sección para las que son definidas. Algunas claves no se aplican a las pantallas en particular, en cuyo caso se ignorarán.

Si no se encuentra una configuración en ninguna sección, se utilizará su valor predeterminado.

Los caracteres especiales necesitan ser precedidos de la barra inversa (los más importantes son espacios (`\s`), tabulador (`\t`), saltos de línea (`\n`), retorno de carro (`\r`) y la propia barra inversa (`\\`)).

En las listas, los campos se separan con comas sin espacios en blanco entre ellos.

Algunas cadenas de órdenes están sujetas a la división de palabras simplicadas al estilo sh: las comillas simples (`'`) y comillas dobles (`"`) tienen su significado habitual. La barra inversa lo acota todo (y no solo los caracteres especiales). Tenga en cuenta que las barras inversas necesitan ser duplicadas debido a los dos niveles de acotación.

&kdmrc; está minuciosamente comentado. Se perderán todos los comentarios si cambia este archivo con la interfaz kcontrol.

### La sección [General] de &kdmrc;

Esta sección contiene las opciones globales que se pueden encuadrar en una sección específica.

`ConfigVersion`

- Esta opción existe únicamente con el propósito de limpiar las actualizaciones de versión automáticas. No lo cambie, podría interferir con futuras actualizaciones de versión y esto podría provocar un fallo de ejecución en &kdm;.

`StaticServers`

- Lista de las pantallas (&X-Server;s) administrados permanentemente por &kdm;. Los dispositivos con un nombre de servidor son pantallas externas que se espera que estén ejecutándose. Los demás son pantallas locales para los que &kdm; inicia su propio &X-Server;. Véa `ServerCmd`. Cada pantalla podrá pertenecer a una clase de pantallas. Añádalo al nombre de la pantalla separado por un subrayado. Véa kdmrc-xservers para obtener más detalles.

  El valor predeterminado es «:0».

`ReserveServers`

- Lista de las pantallas bajo petición. Véa `StaticServers` para obtener información sobre la sintaxis.

  De forma predeterminada está vacío.

`ServerVTs`

- Lista de los terminales virtuales asignados a &X-Server;s. Se utiliza el valor absoluto con los números negativos, y el TV se asignará únicamente si el núcleo dice que está libre. Si &kdm; agota esta lista se asignarán TVs libres mayores que el valor absoluto de la última entrada en esta lista. Actualmente solo en Linux.

  De forma predeterminada está vacío.

`ConsoleTTYs`

- Esta opción es para sistemas operativos (SO) con soporte para terminales virtuales (TV), tanto para &kdm; como para los SO. En estos momentos solo se aplica en Linux.

  Cuando &kdm; cambia al modo consola, comienza a monitorizar todas las líneas del TTY listadas aquí (sin `/dev/`). Si ninguna de ellas está activa durante algún tiempo, &kdm; vuelve al acceso de las X.

  De forma predeterminada está vacío.

`PidFile`

- El nombre del archivo especificado se creará conteniendo una representación ASCII del ID del proceso principal de &kdm;. El PID no se guardará si el nombre del archivo está vacío.

  De forma predeterminada está vacío.

`LockPidFile`

- Esta opción controla cuándo &kdm; utiliza el bloqueo de archivo para guardar múltiples administradores de pantallas en ejecución y saltar de uno a otro.

  El valor predeterminado es «true» (verdadero).

`AuthDir`

- Es el directorio bajo el que &kdm; guarda los archivos de autorización del &X-Server; mientras inicializa la sesión. &kdm; espera que el sistema limpie este directorio de archivos desfasados al reiniciar.

  El archivo de autorización que se utilizará para una pantalla particular puede ser especificado con la opción `AuthFile` en [X-*-Core].

  El valor predeterminado es «/var/run/xauth».

`AutoRescan`

- Controla si &kdm; volverá a leer los archivos de su configuración automáticamente si se producen cambios en los mismos.

  El valor predeterminado es «true» (verdadero).

`ExportList`

- Indica si las variables de entorno adicionales de &kdm; se deberán pasar a todos los programas que se ejecuten. `LD_LIBRARY_PATH` y `XCURSOR_THEME` son candidatas perfectas.

  De forma predeterminada está vacío.

`RandomFile`

- Si el sistema no tiene una fuente de entropía nativa del estilo de /dev/urandom (véa `RandomDevice`) y no existe un demonio de entropía del estilo de EGD (Véa `PrngdSocket` y `PrngPort`) en ejecución, &kdm; utilizará su propio generador de números pseudo-aleatorios, que entre otras cosas utiliza la suma de verificación (checksum) de este archivo (que, obviamente, debería cambiar frecuentemente).

  Esta opción no existe en Linux y diversos BSDs.

  El valor predeterminado es «/dev/mem».

`PrngdSocket`

- Si el sistema no tiene una fuente de entropía nativa del estilo de /dev/urandom (véa `RandomDevice`) lee los datos del demonio generador de números pseudo-aleatorios, del estilo de EGD (http://egd.sourceforge.net) a través de la conexión con este dominio UNIX.

  Esta opción no existe en Linux y diversos BSDs.

  De forma predeterminada está vacío.

`PrngdPort`

- Al igual que `PrngdSocket`, únicamente utiliza una conexión TCP al servidor local.

`RandomDevice`

- La ruta al dispositivo de caracteres del que &kdm; debería leer datos aleatorios. Si está vacío se utilizará el dispositivo de entropía preferido si existe.

  Esta opción no existe en OpenBSD, ya que utiliza la función arc4_random en su lugar.

  De forma predeterminada está vacío.

`FifoDir`

- La carpeta en la que debería crearse la orden de conexión. Si está vacío se desactivará.

  El valor predeterminado es «/var/run/xdmctl».

`FifoGroup`

- El grupo al que la orden global de conexión debería pertenecer. Puede ser un nombre o un identificador numérico.

`DataDir`

- El directorio en el que &kdm; debería guardar los datos de trabajo, como por ejemplo, el usuario que accedió anteriormente a una pantalla en particular.

  El valor predeterminado es «/var/lib/kdm».

`DmrcDir`

- El directorio en el que &kdm; debería guardar los archivos `.dmrc` de los usuarios. Ésto solo se necesita sino es posible leer los directorios personales antes de acceder (como con AFS).

  De forma predeterminada está vacío.

### La sección [Xdmcp] de &kdmrc;

Esta sección contiene las opciones que controlan cómo &kdm; maneja las peticiones &XDMCP;.

`Enable`

- Indica si &kdm; debería escuchar las peticiones &XDMCP; recibidas.

  El valor predeterminado es «true» (verdadero).

`Port`

- Indica el número de puerto UDP que &kdm; utiliza para escuchar las peticiones &XDMCP; recibidas. A menos que necesite depurar el sistema, deje el valor predeterminado.

  El valor predeterminado es «177».

`KeyFile`

- La autentificación &XDMCP; estilo XDM-AUTHENTICATION-1 necesita una clave privada para ser compartida entre &kdm; y el terminal. Esta opción especifica el archivo que contiene estos valores. Cada entrada consiste en un nombre de pantalla y la clave compartida.

  De forma predeterminada está vacío.

`Xaccess`

- Para evitar servicios &XDMCP; no autorizados y permitir el envío de peticiones &XDMCP; IndirectQuery, este archivo contiene una base de datos con los nombre de los servidores cuyas peticiones se deberían atender. El formato de este archivo se describe en kdmrc-xaccess.

  El valor predeterminado es «${`kde_confdir`}/kdm/Xaccess».

`ChoiceTimeout`

- El número de segundos que se esperará a que la pantalla responda después de que el usuario haya elegido un servidor desde el selector. Si la pantalla envía una &XDMCP; IndirecQuery dentro de este periodo, la solicitud se enviará al servidor elegido. Sino, se asumirá que se utilizará una sesión nueva y se ofrecerá el selector nuevamente.

  El valor predeterminado es «15».

`RemoveDomainname`

- Cuando se calcula el nombre de la pantalla para los clientes &XDMCP; el resolutor de nombres habitualmente creará un nombre de servidor completo para el terminal. Como esto puede ser en ocasiones confuso, &kdm; eliminará la parte del dominio del nombre del servidor local cuando esta opción está activada.

  El valor predeterminado es «true» (verdadero).

`SourceAddress`

- Utiliza las direcciones IP numéricas de las conexiones entrantes de los servidores virtuales en lugar del nombre del servidor. Con ello evitará el intento de conexiones al interfaz equivocado que podrían colgar el sistema.

  El valor predeterminado es «false».

`Willing`

- Especifica qué programa se está ejecutando (como `root`) cuando se reciba un DirectQuery o BroadQuery &XDMCP; y este servidor está configurado para ofrecer administración de pantalla &XDMCP;. La salida de este programa se mostrará en la ventana seleccionada. Sino se especifica un programa se envía la cadena «servicio de administración».

  De forma predeterminada está vacío.

### La sección [Shutdown] de &kdmrc;

Esta sección contiene las opciones globales referentes al apagado del sistema.

`HaltCmd`

- La orden (sujeta a la división de palabras) a ejecutar para parar/apagar el sistema.

  El valor predeterminado será algo razonable para el sistema en el que &kdm; se construyó, como `/sbin/shutdown `-h` `now``.

`RebootCmd`

- La orden (sujeta a la división de palabras) a ejecutar para reiniciar el sistema.

  El valor predeterminado será algo razonable para el sistema en el que &kdm; se construyó, como `/sbin/shutdown `-r` `now``.

`AllowFifo`

- Indica si alguien puede apagar el sistema a través de la orden global de conexión.

  El valor predeterminado es «false».

`AllowFifoNow`

- Indica si está permitido cerrar sesiones activas cuando se apaga el sistema a través de la orden conexión.

  No tendrá efectos a menos que esté activada la opción `AllowFifo`.

  El valor predeterminado es «true» (verdadero).

`BootManager`

- El gestor de arranque &kdm; debería utilizarse para ofrecer opciones de arranque en el diálogo de apagado.

  `None`

- Sin gestor de arranque.

`Grub`

- Gestor de arranque Grub.

`Lilo`

- Gestor de arranque Lilo (Sólo para Linux en i386 y x86-64).

El valor predeterminado es «None».

### La clase de sección [X-*-Core] de &kdmrc;

Las opciones de esta clase de sección hacen referencia a la configuración del programa &kdm; (núcleo).

`OpenDelay`

- Véa `OpenRepeat`.

  El valor predeterminado es «15».

`OpenTimeout`

- Véa `OpenRepeat`.

  El valor predeterminado es «120».

`OpenRepeat`

- Estas opciones controlan el comportamiento de &kdm; cuando intenta abrir una conexión con un &X-Server;. `OpenDelay` es la duración de la espera (en segundos) entre dos intentos sucesivos, `OpenRepeat` es el número de intentos que se harán y `OpenTimeout` es la cantidad de tiempo utilizado en el intento de una conexión. Después de que se hayan intentado `OpenRepeat` intentos, o si han transcurrido `OpenTimeout` segundos en un conexión en particular, el intento de inicio se considerará fallido.

  El valor predeterminado es «5».

`StartAttempts`

- Indica el número de veces que &kdm; intenta iniciar una pantalla `externa` listada en `StaticServers` antes de desactivarlo. Con las pantallas locales solo se intentará una vez y con las pantallas &XDMCP; se reintentará indefinidamente por parte del cliente (a menos que se utilice la opción `-once` se haya utilizado con el &X-Server;).

  El valor predeterminado es «4».

`ServerAttempts`

- Indica cuantas veces &kdm; debería intentar iniciar un &X-Server; local. El inicio incluye la ejecución y la espera por la activación.

  El valor predeterminado es «1».

`ServerTimeout`

- Indica cuántos segundos debería esperar &kdm; para que un &X-Server; se active.

  El valor predeterminado es «15».

`ServerCmd`

- La línea de ordenes que inicia el &X-Server;, sin el número de pantalla o la especificación del TV. Esta cadena está sujeta a la división de palabras.

  El valor predeterminado será algo razonable para el sistema en el que &kdm; se construyó, como `/usr/X11R6/bin/X`.

`ServerArgsLocal`

- Los argumentos adicionales de los &X-Server;s para las sesiones locales.Esta cadena está sujeta a la división de palabras.

  De forma predeterminada está vacío.

`ServerArgsRemote`

- Los argumentos adicionales de los &X-Server;s para las sesiones remotas.Esta cadena está sujeta a la división de palabras.

  De forma predeterminada está vacío.

`ServerVT`

- El &X-Server; de VT debería ejecutarse. Debería utilizarse `ServerVTs` en lugar de esta opción. Dejar este valor a cero asigna un VT automáticamente a &kdm;. Configúrelo a `-1` para asignar otros valores a VT (esto es necesario para configurar múltiples consolar físicas). En estos momentos para Linux es de solo lectura.

`ServerTTY`

- Esta opción se utiliza para SOs sin soporte por parte de VTs ni por parte de &kdm; ni por parte de los SOs. En estos momentos se aplica para todos los SOs con la excepción de Linux.

  Cuando &kdm; cambia al modo consola, comienza a monitorizar esta línea TTY (especificada sin el `/dev/` inicial) por actividad. Si la línea no se utiliza durante algún tiempo, &kdm; vuelve al modo gráfico.

  De forma predeterminada está vacío.

`PingInterval`

- Véa `PingTimeout`.

  El valor predeterminado es «5».

`PingTimeout`

- Para averiguar cuándo desaparecen los terminales remotos, &kdm; les hace regularmente pings. `PingInterval` especifica el tiempo (en minutos) entre dos pings y `PingTimeout` especifica el tiempo máximo de espera (en minutos) para que el terminal responda. Si el terminal no responde la sesión finalizará.

  Si utiliza con frecuencia terminales X que pueden quedarse aislados de la administración del servidor, puede incrementar el tiempo de espera. El único cuidado que hay que tener para este tipo de sesiones es que el terminal continuará existiendo después de que se haya desactivado accidentalmente.

  El valor predeterminado es «5».

`TerminateServer`

- Indica si &kdm; debe reiniciar el &X-Server; local después de salir de la sesión en lugar de restaurarlo. Utilice esto si el &X-Server; pierde memoria o se cuelga el sistema durante la restauración.

  El valor predeterminado es «false».

`ResetSignal`

- El número de señal a utilizar para restaurar el &X-Server;.

  El valor predeterminado es «1 (SIGHUP)»

`TermSignal`

- El número de señal a utilizar para finalizar el &X-Server; local.

  El valor predeterminado es «15 (SIGTERM)».

`Authorize`

- Controla si &kdm; genera y utiliza autorizaciones para conexiones con los &X-Server; locales. Para las pantallas &XDMCP; se utiliza la petición de autorización de la pantalla. Las pantallas externas no-&XDMCP; no soportan autorización.

  El valor predeterminado es «true» (verdadero).

`AuthNames`

- Si `Authorize` es verdadero, utiliza el mecanismo de autorización listado aquí. La autorización MIT-MAGIC-COOKIE-1 siempre está disponible. XDM-AUTHORIZATION-1, SUN-DES-1 y MIT-KERBEROS-5 pueden estar disponibles también dependiendo de la configuración con la que fue construído.

  El valor predeterminado es «DEF_AUTH_NAME».

`ResetForAuth`

- Algunos &X-Server;s antiguos releen el archivo de autorización en el momento de reinicialización del &X-Server; en lugar de comprobar la conexión inicial. Como &kdm; genera la información de autorización justo antes de conectarse al terminal y los &X-Server; antiguos no pueden actualizar la información de autorización. Esta opción hace que &kdm; envíe SIGHUP al &X-Server; después de configurar el archivo, haciendo que se inicialice nuevamente el &X-Server;, momento en el que se leerá la nueva información de autorización.

  El valor predeterminado es «false».

`AuthFile`

- Este archivo se utiliza para comunicar los datos de autorización de &kdm; al &X-Server; utilizando la opción `-auth` &X-Server;. Debería situarse en un directorio en el que no todo el mundo pueda escribir, ya que podría ser fácilmente borrado, lo que provocaría la desactivación del mecanismo de autorización en el &X-Server;. Sino se especifica, se genera un nombre aleatorio a partir de `AuthDir` y el nombre del terminal.

  De forma predeterminada está vacío.

`Resources`

- Esta opción especifica el nombre del archivo que cargará `xrdb` como base de datos en la ventana raíz de la pantalla 0 del terminal. Los programas KDE generalmente no suelen utilizar recursos-X, por ello esta opción solo es necesaria si el programa `Setup` necesita algunos recursos-X.

  De forma predeterminada está vacío.

`Xrdb`

- El programa `xrdb` utilizado para leer el archivo de recursos-X especificado en `Resources`. La orden está sujeta a la división de palabras.

  El valor predeterminado es «${`x_bindir`}/xrdb».

`Setup`

- Esta cadena está sujeta a la división de palabras. Especifica un programa que debe ejecutarse (como `root`) antes de que aparezca la ventana de bienvenida. Se puede utilizar para cambiar el aspecto de la pantalla de bienvenida o para colocar otra ventana (por ejemplo, desea ejecutar aquí la orden `xconsole`). El nombre convencional para el archivo utilizado aquí es `Xsetup`. Consulte kdmrc-xsetup.

  De forma predeterminada está vacío.

`Startup`

- Esta cadena está sujeta a la división de palabras. Especifica un programa que debe ejecutarse (como `root`) después del proceso de autentificación. El nombre convencional para el archivo utilizado aquí es `Xstartup`. Consulte kdmrc-xstartup.

  De forma predeterminada está vacío.

`Reset`

- Esta cadena está sujeta a la división de palabras. Especifica un programa que debe ejecutarse (como `root`) después de finalizar la sesión. El nombre convencional para el archivo utilizado aquí es `Xreset`. Consulte kdmrc-xreset.

  De forma predeterminada está vacío.

`Session`

- Esta cadena está sujeta a la división de palabras. Especifica un programa de sesión que debe ejecutarse (como el usuario propietario de la sesión). El nombre convencional para el archivo utilizado aquí es `Xsession`. Consulte kdmrc-xsession.

  El valor predeterminado es «${`x_bindir`}/xterm -ls -T».

`FailsafeClient`

- Si el programa `Session` falla al ejecutarse, &kdm; volverá a este programa. Este programa se ejecuta sin argumentos, aunque utilizando las mismas variables de entorno que tenga en la sesión (véa kdmrc-xsession).

  El valor predeterminado es «${`x_bindir`}/xterm».

`UserPath`

- Es la variable de entorno `PATH` para `Sesiones` no-`root`.

  El valor predeterminado dependerá del sistema en el que esté construído &kdm;.

`SystemPath`

- La variable de entorno `PATH` para todos los programas excepto para las `sesiones` no-`root`. Tenga en cuenta que es una buena práctica no incluir `.` (el directorio actual) en esta entrada.

  El valor predeterminado dependerá del sistema en el que esté construído &kdm;.

`SystemShell`

- La variable de entorno `SHELL` para todos los programas excepto para `Session`.

  El valor predeterminado es «/bin/sh».

`UserAuthDir`

- Si &kdm; no puede escribir el archivo de autorización del usuario activo ($`HOME`/.Xauthority), crea un nombre de archivo único en este directorio y hace que la variable de entorno `XAUTHORITY` apunte al archivo creado.

  El valor predeterminado es «/tmp».

`ForceUserAuthDir`

- Si es true (verdadero), `UserAuthDir` se utilizará incondicionalmente.

  El valor predeterminado es «false».

`AutoReLogin`

- Si está activa, &kdm; reiniciará automáticamente la sesión después de que un &X-Server; se cuelgue (o si se cierra como consecuencia de pulsar Alt-Ctrl-Retroceso). Tenga en cuenta que activar esta característica abre un agujero de seguridad: se puede rodear el bloqueo de seguridad de un terminal (a menos que se utilice el bloqueo de pantalla de &kde;).

  El valor predeterminado es «false».

`AllowRootLogin`

- Si está desactivado no permite al `root` (o a cualquier usuario con UID = 0) acceder directamente.

  El valor predeterminado es «true» (verdadero).

`AllowNullPasswd`

- Si está desactivado, sólo los usuarios con contraseñas asignadas pueden acceder.

  El valor predeterminado es «true» (verdadero).

`AllowShutdown`

- Indica quién tiene permiso para apagar el sistema. Se aplica tanto a la pantalla de acceso como a la orden de conexión.

  `None`

- No se mostrará ninguna entrada en el menú Apagar...

`Root`

- Se debe introducir la contraseña de `root` para apagar.

`All`

- Todos podrán apagar la máquina.

El valor predeterminado es «All».

`AllowSdForceNow`

- Indica quién podrá cerrar las sesiones activas durante el apagado.

  `None`

- No se permite el apagado por la fuerza.

`Root`

- Se deberá introducir la contraseña de `root` para apagarlo por la fuerza.

`All`

- Todos pueden apagar la máquina por la fuerza.

El valor predeterminado es «All».

`DefaultSdMode`

- La elección predeterminada para un apagado condicional/de tiempo.

  `Schedule`

- Se apagará después de que todas las sesiones activas se cierren (posiblemente a la vez).

`TryNow`

- Se apagará sino existen sesiones activas abiertas. En cualquier otro caso no se hará nada.

`ForceNow`

- Apagado incondicional.

El valor predeterminado es «Schedule».

`ScheduledSd`

- Cómo programar las opciones de apagado:

  `Never`

- Nunca.

`Optional`

- Como un botón en el diálogo de apagado sencillo.

`Always`

- En lugar del diálogo de apagado sencillo.

El valor predeterminado es «Never».

`NoPassEnable`

- Activa el acceso sin contraseña en este terminal. ¡Utilícelo con extremo cuidado!

  El valor predeterminado es «false».

`NoPassUsers`

- Indica los usuarios que no necesitan proporcionar una contraseña para acceder. Los elementos que comiencen con `@` representan a todos los usuarios del grupo nombrado por el elemento. `*` significa todos los usuarios excepto `root` (o cualquier otro usuario con UID = 0). Nunca liste el `root`.

  De forma predeterminada está vacío.

`AutoLoginEnable`

- Acceso automático activado. ¡Utilícelo con extremo cuidado!

  El valor predeterminado es «false».

`AutoLoginAgain`

- Si vale true (verdadero), se reconectará automáticamente después de desconectarse. Si vale false (falso), el acceso automático solo se realizará cuando se inicie una sesión.

  El valor predeterminado es «false».

`AutoLoginDelay`

- El retardo en segundos antes de que se vuelva a intentar el acceso. Ésto es lo que se conoce como «Tiempo de acceso».

`AutoLoginUser`

- Indica el usuario que podrá acceder automáticamente. ¡Nunca especifique el `root`!

  De forma predeterminada está vacío.

`AutoLoginPass`

- La contraseña para que el usuario pueda acceder automáticamente. No se requiere a menos que el usuario acceda a un dominio NIS o Kerberos. Si utiliza esta opción debería hacer `chmod `600` `kdmrc`` por razones obvias.

  De forma predeterminada está vacío.

`AutoLoginLocked`

- Bloquea de forma inmediata el inicio de sesión inmediato. Esto funciona solo con las sesiones de KDE.

  El valor predeterminado es «false».

`SessionsDirs`

- Una lista de los directorios que contienen las definiciones de los tipos de sesión.

  El valor predeterminado es «${`kde_datadir`}/kdm/sessions».

`ClientLogFile`

- El archivo (relativo a la carpeta personal del usuario) para redireccionar la salida de la sesión.

  Los siguientes pares de caracteres se reemplazan por sus valores:

  `%d`

- nombre de la pantalla actual

`%u`

- nombre identificativo del usuario actual

`%r`

- vacío en prencipio. Consulte más adelante.

`%%`

- un solo `%`

Cuando el nombre de archivo construido no puede utilizarse sin incidentes y la especificación contiene `%``relleno` `r`, otros nombres se intentará - esta vez expandir `%``relleno` `r` a `relleno` seguido de un número aleatorio.

El valor predeterminado es «.xsession-errors».

`ClientLogFallback`

- Se puede utilizar cuando `ClientLogFile` no puede utilizarse. Soporta la misma expansión. No utilice aquí rutas relativas.

  El valor predeterminado es «/tmp/xerr-%u-%d%-r».

`UseSessReg`

- Especifica si &kdm; utilizará el registro utmp/wtmp/lastlog. Sino, la herramienta `sessreg` debería utilizarse en los scripts `Startup` y `Reset`, o, alternativamente, el módulo pam_lastlog en sistemas con PAM activo.

  El valor predeterminado es «true» (verdadero).

### La clase de sección [X-*-Greeter] de &kdmrc;

Esta clase de sección contiene las opciones de configuración relativas al interfaz de &kdm; (bienvenida).

`GUIStyle`

- Indica el estilo de los elementos de bienvenida. Si está vacío se utilizará el estilo predeterminado, que en estos momentos es `Plastik`.

  De forma predeterminada está vacío.

`ColorScheme`

- Especifica el esquema de color para la ventana de bienvenida. Si está vacío se utilizará el predeterminado que en estos momentos es gris amarillento con algo de azul claro y algunos elementos amarillos.

  De forma predeterminada está vacío.

`LogoArea`

- Indica qué se debe mostrar a la derecha de las líneas de entrada (si `UserList` está desactivada) o sobre ellas (si `UserList` está activada) en la ventana de bienvenida:

  `None`

- Sin logotipo.

`Logo`

- La imagen especificada en `LogoPixmap`.

`Clock`

- Un bonito reloj.

El valor predeterminado es «Clock».

`LogoPixmap`

- La imagen que se mostrará en la ventana de bienvenida si `LogoArea` vale `Logo`.

  De forma predeterminada está vacío.

`GreeterPos`

- Las coordenadas relativas (porcentajes del tamaño de la pantalla X, Y) al lugar en el que se colocará el centro de la ventana de bienvenida. &kdm; alinea la ventana de bienvenida a los bordes de la pantalla.

  El valor predeterminado es «50,50».

`GreeterScreen`

- La pantalla de bienvenida debería ser mostrada con una configuración con varios monitores y Xinerama. La numeración comienza con 0. Para Xinerama, se corresponde al orden de listado en la sección ServerLayout de XF86Config. -1 significa utilizar la pantalla superior izquierda, -2 significa utilizar la pantalla superior derecha.

`GreetString`

- La cabecera de la ventana de bienvenida. Una cadena vacía significa desactivar.

  Los siguientes pares de caracteres se reemplazarán por su valor:

  `%d`

- El nombre de la pantalla actual.

`%h`

- Nombre del servidor local, posiblemente con el nombre del dominio.

`%n`

- Nombre del nodo local, probablemente el nombre del servidor sin el nombre del dominio.

`%s`

- Sistema operativo.

`%r`

- Versión del sistema operativo.

`%m`

- Tipo de máquina (hardware).

`%%`

- Simplemente `%`.

El valor predeterminado es «Bienvenido a %s en %n».

`AntiAliasing`

- Indica si los tipos de letra utilizados en la ventana de bienvenida deberían ser suavizados.

  El valor predeterminado es «false».

`GreetFont`

- El tipo de letra para la cabecera de la ventana de bienvenida.

  El valor predeterminado es «Serif,20,bold».

`StdFont`

- El tipo de letra normal utilizado en la ventana de bienvenida.

  El valor predeterminado es «Sans Serif,10».

`FailFont`

- El tipo de letra utilizado para el mensaje «Error en el acceso».

  El valor predeterminado es «Sans Serif,10,bold».

`NumLock`

- Indica el estado del modificador Bloq. Num. en el momento en que esté ejecutándose la ventana de bienvenida.

  `Off`

- Apagado.

`On`

- Encendido.

`Keep`

- No cambia el estado.

El valor predeterminado es «Keep».

`Language`

- El idioma y el local utilizados en la ventana de bienvenida, codificados en la forma $`LC_LANG`.

  El valor predeterminado es «en_US».

`UserCompletion`

- Activa el autocompletado en la línea de edición del nombre de usuario.

  El valor predeterminado es «false».

`UserList`

- Muestra una lista de usuarios con nombres de acceso unix, nombres reales e imágenes en la ventana de bienvenida.

  El valor predeterminado es «true» (verdadero).

`ShowUsers`

- Esta opción controla qué usuarios se mostrarán en la vista de usuarios (`UserList`) y/o se ofrecerán para el autocompletado (`UserCompletion`). Si está seleccionado `Selected`, `SelectedUsers` contendrá la lista final de usuarios. Si está seleccionado `NotHidden`, la lista inicial de usuarios está compuesta por todos los usuarios del sistema. Los usuarios incluídos en `HiddenUsers` se eliminan de la lista, así como los usuarios con un UID superior a `MaxShowUID` e inferior a `MinShowUID` además de aquellos con UID cero. Los elementos en `SelectedUsers` y `HiddenUsers` que comiencen con `@` representan a todos los usuarios del grupo nombrado por este elemento. Por último, la lista de usuarios se ordenará alfabéticamente si está activada la opción `SortUsers`.

  El valor predeterminado es «NotHidden».

`SelectedUsers`

- Véa `ShowUsers`.

  De forma predeterminada está vacío.

`HiddenUsers`

- Véa `ShowUsers`.

  De forma predeterminada está vacío.

`MinShowUID`

- Véa `ShowUsers`.

`MaxShowUID`

- Véa `ShowUsers`.

  El valor predeterminado es «65535».

`SortUsers`

- Véa `ShowUsers`.

  El valor predeterminado es «true» (verdadero).

`FaceSource`

- Si `UserList` está activado, especifica el lugar del que &kdm; obtiene las imágenes:

  `AdminOnly`

- De `<`FaceDir`>/$`USER`.face[.icon]`

`PreferAdmin`

- Preferiblemente en <`FaceDir`>, o en $`HOME`

`PreferUser`

- ... y de otra forma.

`UserOnly`

- del directorio de usuario `$`HOME`/.face[.icon]`

Las imágenes pueden estar en cualquier formato reconocido por Qt, pero el nombre del archivo debe coincidir con el esperado por &kdm;: `.face.icon` debería ser un icono de 48x48, mientras que `.face` debería ser una imagen de 300x300. Actualmente las imágenes grandes se utilizan únicamente como una alternativa y se escalan, pero en el futuro se mostrarán a tamaño completo en el área del logotipo o en la ayuda de las herramientas.

El valor predeterminado es «AdminOnly».

`FaceDir`

- Véa `FaceSource`.

  El valor predeterminado es «${`kde_datadir`}/kdm/faces».

`PreselectUser`

- Especifica qué usuario debería ser preseleccionado para acceder:

  `None`

- No preseleccionar ningún usuario.

`Previous`

- El último usuario que accedió correctamente.

`Default`

- El usuario especificado en la opción `DefaultUser`.

Si está activada `FocusPasswd` y hay un usuario preseleccionado, el cursor se colocará en el campo de introducción de la contraseña automáticamente.

La activación de la preselección puede ser considerada un agujero de seguridad, ya que presenta un nombre de acceso válido para un potencial atacante, ya que éste «únicamente» necesitaría adivinar la contraseña. Una forma de evitar esto es hacer que el valor de `DefaultUser` sea un nombre de acceso incorrecto.

El valor predeterminado es «None».

`DefaultUser`

- Véa `PreselectUser`.

  De forma predeterminada está vacío.

`FocusPasswd`

- Véa `PreselectUser`.

  El valor predeterminado es «false».

`EchoPasswd`

- Si vale true (verdadero), la contraseña introducida tendrá como eco puntos, y en caso contrario no se mostrará ninguna información.

  El valor predeterminado es «true» (verdadero).

`UseBackground`

- Si está activado, &kdm; iniciará automáticamente el programa `krootimage` para configurar el fondo. Sino lo está, el programa `Setup` será el responsable del fondo.

  El valor predeterminado es «true» (verdadero).

`BackgroundCfg`

- Especifica el archivo de configuración utilizado por `krootimage`. Contiene un sección denominada `[Desktop0]` similar a `kdesktoprc`. Estas opciones no se describen aquí. Averigüe su significado o utilice el centro de control.

  El valor predeterminado es «${`kde_confdir`}/kdm/backgroundrc».

`GrabServer`

- Para mejorar la seguridad, la ventana de bienvenida toma el control del &X-Server; y del teclado. Esta opción especifica si la toma de control del &X-Server; deberá ser mantenida durante la lectura del nombre/contraseña. Si está desactivada, el &X-Server; deja de ser controlado después de la toma de control del teclado. En caso contrario el &X-Server; se controla hasta que se inicia la sesión.

  Activar esta opción desactiva `UseBackground` y `Setup`.

  El valor predeterminado es «false».

`GrabTimeout`

- Esta opción especifica el tiempo máximo que &kdm; esperará para la toma de control. La toma de control puede fallar si otro cliente-X controla el &X-Server; o si el teclado está controlado, o posiblemente si los tiempos de espera de la red son muy altos. Debería tener cuidado si aumenta este tiempo de espera, ya que un usuario puede engañarle con una ventana similar a la esperada. Si falla la toma de control, &kdm; elimina la sesión y reinicia el &X-Server; (si es posible) y la sesión.

  El valor predeterminado es «3».

`AuthComplain`

- Avisa si una pantalla no tiene autorización-X. Esto se produce si

  - No se puede crear un archivo de autorización para un &X-Server; local.

  - Una pantalla remota de &XDMCP; no pide ninguna autorización.

  - La pantalla es una pantalla «externa» especificada en `StaticServers`.

  El valor predeterminado es «true» (verdadero).

`LoginMode`

- Especifica si la ventana de bienvenida de la pantalla local debería iniciarse en el selector de servidores (remoto) o en el modo de acceso (local) y si está permitido cambiar entre ambos modos.

  `LocalOnly`

- Solo es posible el acceso local.

`DefaultLocal`

- Inicia el modo local, pero permite cambiar al modo remoto.

`DefaultRemote`

- ... y de otra forma.

`RemoteOnly`

- Únicamente es posible la elección de un servidor remoto.

El valor predeterminada es «LocalOnly».

`ChooserHosts`

- Se añadirá una lista de servidores automáticamente al menú de acceso remoto. El nombre especial `*` significa difusión. No tendrá efecto si `LoginMode` es `LocalOnly`.

  El valor predeterminado es «*».

`ForgingSeed`

- Utiliza este número como una semilla aleatoria para formar los tipos de sesiones guardados, etc. de usuarios desconocidos. Se utiliza para evitar indicar a un atacante la existencia de usuarios por deducción inversa. Este valor debería ser aleatorio pero constante para todo el dominio de acceso.

`ShowLog`

- Activa `xconsole` integrado en &kdm;. Tenga en cuenta que esto puede activarse solo para una pantalla. Esta opción está disponible si &kdm; se configuró (`configure`) con `--enable-kdm-xconsole`.

  El valor predeterminado es «false».

`LogSource`

- La fuente de datos para &kdm; integrado en `xconsole`. Si está vacío, se pedirá una redirección del registro de la consola de `/dev/console`. No tendrá efecto si `ShowLog` está desactivada.

  De forma predeterminada está vacío.

`CargarExtensiones`

- Especifica las extensiones de conversación para el diálogo de acceso. El primero de la lista se selecciona inmediatamente. Cada extensión puede ser especificada con el nombre base (que se expandirá a `$`kde_modulesdir`/kgreet_`base``) o con su ruta completa.

  Las extensiones de conversación son módulos para la ventana de bienvenida que permiten obtener autentificación del usuario. Actualmente sólo se proporciona la extensión `classic` con &kde;. Presenta el tan conocido formulario con el nombre de usuario y la contraseña.

  El valor predeterminado es «classic».

`DescargarExtensiones`

- Igual que con `AccederAExtensiones`, pero para el diálogo de apagado.

  El valor predeterminado es «classic».

`OpcionesDeExtensiones`

- Una lista de opciones con la forma `Clave``=``Valor`. Las extensiones de conversación pueden consultar estas configuraciones. Así es posible decidir qué claves utilizar.

  De forma predeterminada está vacío.

`AllowConsole`

- Muestra la acción de Acceso de consola en la pantalla de bienvenida (si `ServerTTY`/`ConsoleTTYs` están configuradas).

  El valor predeterminado es «true» (verdadero).

`AllowClose`

- Muestra las acciones Reiniciar el servidor X/Cerrar conexión en la ventana de bienvenida.

  El valor predeterminado es «true» (verdadero).

`Preloader`

- Un programa que se ejecuta mientras que la ventana de bienvenida está visible. Se pretende precargar siempre que sea posible antes de ser iniciado (lo más problable).

  De forma predeterminada está vacío.

`UseTheme`

- Indica si se debe utilizar un tema en la pantalla de bienvenida.

  El valor predeterminado es «false».

`Theme`

- El tema a utilizar en la pantalla de bienvenida. Puede apuntar a un directorio o a un archivo XML.

  De forma predeterminada está vacío.

## Especificar &X-Server;s permanentes

Cada entrada en la lista `StaticServers` indica una pantalla que debería ser administrada y que no utiliza &XDMCP;. Este método suele ser utilizado únicamente para &X-Server;s locales que han sido iniciados por &kdm;, pero &kdm; también puede administrar los &X-Server; iniciados externamente («foreing»), que pueden ser ejecutados en la máquina local o remotamente.

La sintaxis formal de una especificación es

    nombre pantalla [_clase pantalla]

para todos los &X-Server;s. Las pantallas «externas» difieren en que tienen el nombre del servidor en el nombre de la pantalla, y puede ser `localhost` (servidor local).

El `nombre de la pantalla` debe pasarse en la opción `-display` a un programa X. Esta cadena se utiliza para generar la sección de los nombres específicos de pantalla, por ello, sea cuidadoso con los nombres. El nombre de pantalla de las pantallas &XDMCP; se deriva de la dirección de la pantalla por resolución inversa del nombre del servidor. Para configurar las características, el `localhost` de las pantallas &XDMCP; locales que se están ejecutando no se quita para hacerlas distinguibles de los &X-Server; iniciados por &kdm;.

La parte de la `clase pantalla` también se utiliza en las secciones para mostrar las especificaciones. Esto es práctico si tiene muchas pantallas similares (como una granja de terminales X) y desea configurar las opciones para un grupo de ellas. Cuando utiliza &XDMCP;, se necesita la pantalla para especificar la clase de pantalla, por ello el manual para su terminal X en particular debería documentar esta cadena de clase de pantalla para su dispositivo. Sino es así, podría ejecutar &kdm; en modo depuración y utilizar `grep` en el registro para averiguar la clase («class»).

Las pantallas especificadas en `ReserveServers` no se iniciarán cuando &kdm; esté iniciado, y sí cuando se realiza la petición explícitamente a través de una orden de conexión. Si se especifica la reserva de la pantalla, el menú &kde; tendrá una entrada Iniciar nueva sesión en la parte inferior. Utilicelo para activar la reserva de pantalla con una nueva sesión de acceso. El monitor cambiará a la nueva pantalla, y tendrá un minuto para acceder. Si no hay más pantallas disponibles reservadas, el elemento del menú desaparecerá.

Cuando &kdm; inicia una sesión, configura los datos de autorización para el &X-Server;. Para los servidores locales, &kdm; pasa ``-auth` ``nombrearchivo``` a la línea de órdenes de los &X-Server;s para apuntar a los datos de autorización. Para las pantallas &XDMCP;, &kdm; pasa los datos de autorización al &X-Server; a través del mensaje &XDMCP; «Accept».

## Control de acceso &XDMCP;

El archivo especificado en la opción `AccessFile` proporciona información que &kdm; utiliza para controlar el acceso a la petición de servicios a través de &XDMCP;. El archivo contiene cuatro tipos de entrada: Las entradas que controlan la respuesta a peticiones «Direct» y «Broadcast», entradas que responden a peticiones «Indirect», macro definiciones para las entradas «Indirect», y las entradas que controlan en qué interfaz de red escucha &kdm; las peticiones de &XDMCP;. Las líneas en blanco se ignoran, `#` se trata como un delimitador de comentario provocando que el resto de la línea se ignore, y `\` provoca que se ignore el salto de línea, lo que permite utilizar varias líneas para definir listas de servidores.

El formato de las entradas «Direct» es sencilla, bien el nombre del servidor o bien un patrón, se comparan con el nombre del servidor del dispositivo de visualización. Los patrones se distinguen de los nombres de servidor por la inclusión de uno o más meta caracteres. `*` coincide con una secuencia de 0 o más caracteres, y `?` coincide con cualquier caracter individual. Si la entrada es un nombre de servidor, todas las comparaciones se hacen utilizando las direcciones de red, por tanto, se utilizará cualquier nombre que pueda convertirse en una dirección de red. Para los patrones, únicamente se utilizan nombres de servidor canónicos en la comparación, para asegurarse de que no van a coincidir con los alias. Los nombres de servidor de las peticiones &XDMCP; siempre contendrán un nombre de dominio local incluso si la búsqueda inversa devuelve un nombre corto, por tanto, podrá utilizar patrones para el dominio local. Si está precedido de un caracter `!` esta entrada se excluirá. Precedido de un `=` no tendrá efecto, aunque se requiere cuando se especifica una macro para distinguir la entrada de la definición de la macro. La única respuesta a las peticiones «Direct» para un servidor o patrón, podrá ser seguida de la palabra clave opcional `NOBROADCAST`. Esto se utiliza para evitar que se haga visible un servidor &kdm; en los menús que se basa en peticiones «Broadcast».

Una entrada «Indirect» también puede contener un nombre de servidor o un patrón, pero seguido de una lista de servidores o macros que las peticiones deberían seguir. Las entradas «Indirect» también pueden ser excluídas en el caso de que se proporcione un nombre de un servidor ficticio (válido) para hacer la entrada diferenciable de un entrada «Direct». Si está compilado con soporte IPv6, se puede incluir el envío a varias direcciones de grupos de red en la lista de direcciones de las peticiones que se hagan. Si el servidor indirect contiene la palabra `CHOOSER`, las peticiones «Indirect» no se reenvían y en su lugar se muestra el diálogo selector de servidores de &kdm;. El selector enviará una petición «Direct» a cada uno de los restantes nombres de servidor de la lista y ofrecerá un menú con todos los servidores que hayan respondido. La lista de servidores puede contener la palabra clave `BROADCAST`, para hacer que el selector envía un petición «Broadcast». Tenga en cuenta que en algunos sistemas operativos los paquetes UDP no se pueden distribuir y en este caso esta característica no funcionará.

Cuando se está probando el acceso a un servidor de visualización particular, se comprueba cada entrada y la primera entrada que coincide determina la respuesta. Las entradas «Direct» y «Broadcast» se ignoran cuando se está buscando una entrada «Indirect» y viceversa.

Una macrodefinición contiene un nombre de la macro y una lista de los nombres de los servidores y de otras macros que la macro expande. Para distinguir las macros de los nombres de servidor, los nombres de las macros comienzan por un caracter `%`.

El último tipo de entrada es la directiva `LISTEN`. La sintaxis formal es

     LISTEN [interfaz [lista  multicast]]

Si se especifican una o más líneas `LISTEN`, &kdm; escucha las peticiones &XDMCP; únicamente en los interfaces especificados. `interfaz` puede ser un nombre de servidor o una dirección IP que represente una interfaz de red en esta máquina, o el comodín `*` para representar todas las interfaces de red disponibles. Si se lista un grupo multicast en una línea `LISTEN`, &kdm; une los grupos multicast a las interfaces dadas. Para el multicast en IPv6, el IANA tiene asignado ff0`X`:0:0:0:0:0:0:12b como el rango de direcciones multicast asignados de forma permanente para &XDMCP;. La `X` puede ser reemplazada por cualquier identificador de ámbito válido, como 1 para el nodo local, 2 para el enlace local, 5 para el sitio local, y así sucesivamente (véa IETF RFC 2373 o su reemplazo para ver las definiciones y detalles más amplios). &kdm; escucha de forma predeterminada en la dirección de ámbito local ff02:0:0:0:0:0:0:12b que es la más parecida en cuanto al comportamiento para broadcast en subredes IPv4. Sino se proporcionan líneas `LISTEN`, &kdm; escuchará en todos los interfaces y se une al grupo multicast predeterminado IPv6 para &XDMCP; (cuando se compila con soporte IPv6). Para desactivar por completo la escucha para las peticiones &XDMCP;, se puede especificar una línea `LISTEN` sin direcciones, aunque es preferible utilizar la opción `[Xdmcp]` `Enable`.

## Programas suplementarios

Los siguientes programas se ejecutan por &kdm; en varios etapas de una sesión. Suelen ser scripts de intérpretes.

Los programas para configurar, iniciar y reiniciar se ejecutan como `root`, por ello debe tener cuidado con la seguridad. El primer argumento es `auto` si la sesión es resultado de un acceso automático. En cualquier otro caso no se pasan argumentos.

### Programa de configuración

El programa `Xsetup` se ejecuta después de que el &X-Server; se inicie o reinicie, y antes de que aparezca la ventana de bienvenida. Éste es el lugar para cambiar el fondo de pantalla (si `UseBackground` está desactivada) o ir a otras ventanas que deberían aparecer junto con la de bienvenida.

Además de cualquier cosa especificada en `ExportList`, se pasarán las siguientes variables de entorno:

DISPLAY

- El nombre de la pantalla asociada.

PATH

- El valor de `SystemPath`.

SHELL

- El valor de `SystemShell`.

XAUTHORITY

- Puede ser configurado con un archivo de configuración.

DM_CONTROL

- El valor de `FifoDir`.

Tenga en cuenta que desde que &kdm; tome el control del teclado, ninguna otra ventana será capaz de recibir datos del teclado. Por el contrario, deberían ser capaces de interactuar con el ratón, sin embargo, pueden ser potenciales fuentes de agujeros de seguridad. Si está activada `GrabServer`, `Xsetup` no será capaz de conectarse a la pantalla. Los recursos para este programa pueden ser colocados en el archivo identificado en `Resources`.

### Programa de arranque

El programa `Xstartup` se ejecuta como `root` cuando el usuario accede. Este es el lugar para colocar órdenes que añadan entradas a `utmp` (el programa `sessreg` puede resultar muy práctico aquí), montar los directorios personales de los usuarios desde el servidor de archivos, o cancelar la sesión si no se cumplen algunos requisitos (pero tenga en cuenta que en los sistemas modernos, muchas de estas tareas ya se hacen cuidadosamente a través de los módulos PAM).

Además de cualquier cosa especificada en `ExportList`, se pasarán las siguientes variables de entorno:

DISPLAY

- El nombre de la pantalla asociada.

HOME

- El directorio de trabajo inicial del usuario.

LOGNAME

- El nombre del usuario.

USER

- El nombre del usuario.

PATH

- El valor de `SystemPath`.

SHELL

- El valor de `SystemShell`.

XAUTHORITY

- Puede ser configurado con un archivo de configuración.

DM_CONTROL

- El valor de `FifoDir`.

&kdm; espera hasta que este programa finalice antes de iniciar la sesión de usuario. Si el valor de salida de este programa es distinta de cero, &kdm; interrumpe la sesión e inicia otro ciclo de autentificación.

### Programa de sesión

El programa `Xsession` es la orden que se ejecuta como el usuario de la sesión. Se ejecuta con los permisos del usuario autorizado. Se pasará como primer argumento al intérprete de órdenes una de las palabras clave `failsafe`, `default` o `custom`, o una cadena `eval`.

Además de cualquier cosa especificada en `ExportList`, se pasarán las siguientes variables de entorno:

DISPLAY

- El nombre de la pantalla asociada.

HOME

- El directorio de trabajo inicial del usuario.

LOGNAME

- El nombre del usuario.

USER

- El nombre del usuario.

PATH

- El valor `UserPath` (o `SystemPath` para las sesiones de `root`).

SHELL

- El intérprete predeterminado del usuario.

XAUTHORITY

- Puede seleccionar un archivo de autorización no estándar.

KRBTKFILE

- Puede tener como valor un nombre de credenciales de caché Kerberos4.

KRB5CCNAME

- Puede tener como valor un nombre de credenciales de caché Kerberos5.

DM_CONTROL

- El valor de `FifoDir`.

XDM_MANAGED

- Contendrá una lista de parámetros separados por comas que pueden ser interesantes para la sesión, y el complemento de conversación que se utiliza para el acceso.

DESKTOP_SESSION

- El nombre de la sesión que el usuario ha decidido ejecutar.

### Programa de reinicio

Simétricamente a `Xstartup`, el programa `Xreset` se ejecuta después de la finalización de la sesión por parte del usuario. Se ejecuta como `root`, y debería contener órdenes que deshagan las órdenes de `Xstartup`, eliminando las entradas de `utmp` o desmontando los directorios del servidor de archivos.

La variables de entorno pasadas a `Xstartup` también se pasarán a `Xreset`.