# [Howto] Personalizar el Xdm

## ebray187

Para los que quieran ahorrarse unos pocos recursos y para los incrédulos de que el gestor de inicio por defecto tenga algo decente que ofrecer, va este pequeño HowTo.

Primero que nada recomiendo guardar un respaldo del directorio /etc/X11/xdm así cualquier problema no me echen la culpa. 

La configuración de xdm se divide en unos cuantos ficheros. Para una info detalla de cada uno les sugiero un man xdm.

Edito:

Tras la actualización al Xorg modular, algunos directorios han cambiado hacia /usr/lib/X11/xdm. Para ver las nuevas ubicaciones, vean el xdm-config 

```
cat /etc/X11/xdm/xdm-config
```

En fin, pasemos a lo nuestro.

Primero elegimos un buen fondo y chequeamos que Xdm sea nuestro gestor de inicio por defecto.

```
# cd /etc/X11/xdm

# mv ~/fondo.jpg pixmaps/

# nano /etc/rc.conf

(La parte que nos interesa)

DISPLAYMANAGER="xdm"

```

Ahora podemos editar el Fichero Xsetup, el cual es una especie de Script para cargar aplicaciones antes de tener acceso al sistema.

En este caso: # nano Xsetup_0

```
#!/bin/sh

# Ver consola

#xconsole -geometry 480x130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail

# Poner Fondo

/usr/bin/fbsetbg /etc/X11/xdm/pixmaps/fondo.jpg

# Iniciar xclock

/usr/bin/X11/xclock -geometry '-0+0'  -digital -bg white -fg black -update 1 &

# Para tomar una captura

#sleep 5 && import -w root /tmp/xdm.jpg &

```

Como ven, se carga cada aplicación con sus opciones correspondientes. 

El fbsetbg es para poner la imagen de fondo, hay otras formas pero esa es la que yo uso. 

Para el xclock les sugiero cargar una terminal e ir jugando con las opciones hasta el resultado correcto.

Como ven si quieren pueden poner algo como xeyes, una consola transparente con uname o lo que quieran.

Luego editamos el fichero GiveConsole en el cual introducimos las cosas que queremos que se cierren al salir del Xdm.# nano GiveConsole

```
#!/bin/sh

killall xclock

chown $USER /dev/console
```

Finalmente editamos Xresources donde personalizaremos las letras, los colores, los tamaños y los detallitos.

Primero se encuentra la sección de las teclas. Aquí sugiero dejar tal como esta y agregar esta linea para poder ir probando la configuración sin tener que andar reiniciando las X a cada rato:

```
Ctrl<Key>F: restart-session()\n\
```

El mensaje de bienvenida se edita tras la siguiente linea:

```
xlogin*greeting: Bienvenido a CLIENTHOST
```

Le podemos poner cualquier idiotez que queramos. CLIENTHOST es la variable para el nombre de nuestra maquina. Incluso podemos modificar el color del mensaje con:

```
xlogin*greetColor: blue
```

Para modificar el prompt "Login:" "Password:":

```
xlogin*namePrompt: Nombre De Usuario: 

xlogin*passwdPrompt: Contraseña: 
```

Para cambiarle el color y el del fondo de la ventana:

```
*Foreground: black

*Background: white
```

Cuando hay un error de tipeo o están tratando de entrar en nuestros terrenos, se puede editar el mensaje y sus colores:

```
xlogin*fail: Fuera Maldita Escoria!

xlogin*failColor: red
```

Para editar el tamaño de la ventana:

```
xlogin*width: 700 

xlogin*height: 400
```

Para cambiar la posición:

```
xlogin*x: 175

xlogin*y: 200
```

Para poner una imagen (.xpm) en el prompt:

```
xlogin*logoFileName: /etc/X11/xdm/pixmaps/xorg.xpm
```

En fin, hay muchas opciones, con eso ya se pueden hacer una idea de como funciona el asunto. 

Aquí dejo mi Xresources: # nano Xresources

```
! Prompts

xlogin*greeting: Bienvenido a Gentoo Linux en CLIENTHOST

xlogin*namePrompt: Usuario:

xlogin*passwdPrompt: Contraseña:

xlogin*fail: Usuario incorrecto

! Fuentes

xlogin*font: -*-snap-*-*-*-*-*-*-*-*-*-*-*-*

xlogin*Font: -*-snap-*-*-*-*-*-*-*-*-*-*-*-*

! Bordes

xlogin*borderWidth: 0

xlogin*frameWidth: 0

! Colores

xlogin*background: white

xlogin*foreground: black

xlogin*greetColor: blue

xlogin*failColor: red

*Foreground: grey

*Background: black

! Forma y Tamano

xlogin*useShape: true

xlogin*geometry: 360x130+130+610

! Configuracion de XConsole

XConsole.text.geometry: 480x130

XConsole.verbose:       true

XConsole*iconic:        true

XConsole*font:          fixed

! Configuracion del Chooser

Chooser*geometry:               400x100+50+100

Chooser*allowShellResize:       false

Chooser*viewport.forceBars:     true

Chooser*label.font:             -*-snap-*-*-*-*-*-*-*-*-*-*-*-*

Chooser*label.label:            XDMCP Host Menu from CLIENTHOST

Chooser*list.font:              -*-snap-*-*-*-*-*-*-*-*-*-*-*-*

Chooser*Command.font:           -*-snap-*-*-*-*-*-*-*-*-*-*-*-*
```

Con esto ya deberíamos tener un xdm bastante más agradable a la vista.

Transformamos este Dinosaurio altamente desagradable:

[img]http://img176.imageshack.us/img176/7836/xdmantes6km.th.jpg[/img]  :Confused: 

En este simpático Gestor:

[img]http://img176.imageshack.us/img176/9253/xdmdespues7wn.th.jpg[/img]  :Very Happy: 

Cualquier duda, comentario o mejora, para eso está el foro.

Mas info: Aquí, aquí y aquí.

Saludos

----------

## LinuxBlues

$ equery b /usr/bin/fbsetbg 

[ Searching for file(s) /usr/bin/fbsetbg in *... ]

x11-wm/fluxbox-0.9.14-r1 (/usr/bin/fbsetbg)

Para que los que no usen Fluxbox puedan colocar una imagen de fondo en xdm he aquí un tutorial muy interesante:

Add background wallpaper to XDM

Usan qiv, incluído en portage también, por supuesto. Es el que yo uso debido a que fbsetbg no podía colocar la imagen, dado que usa feh por defecto, al menos en mi caso y feh dice que le ayudaría mucho tener una variable de entorno $HOME, cuando en realidad no hay ningún usuario en el sistema aún   :Crying or Very sad:     Como usuario de fluxbox ya sabrás que sin feh u otra alternativa dile adios a las transparencias.

Yo de momento no he logrado que la ñ me aparezca correctamente en Contraseña, así que uso un sinónimo, hasta que consiga darle solución, ni cambiando la fuente a una con unicode (iso10646-1) , ni nada por el estilo lo resuelven.

----------

## pcmaster

Pues a mí, como mensaje de bienvenida me sale "This is an unsecure session"

----------

## ebray187

 *pcmaster wrote:*   

> Pues a mí, como mensaje de bienvenida me sale "This is an unsecure session"

 

Ke tal tu xlogin*greeting en el Xresources?

----------

## pcmaster

Como ves:

```
$ cat /etc/X11/xdm/Xresources|grep "greeting"

#xlogin*greeting: Welcome to CLIENTHOST

xlogin*greeting: Bienvenido a AthlonXP
```

comenté la línea original y le puse una nueva, pero sin que se produjese ningún cambio.

----------

## ebray187

Puedes postear tu /etc/X11/xdm/xdm-config?

Chequea que exista el /etc/X11/xdm/authdir/authfiles

Saludos

----------

## pcmaster

Mi /etc/X11/xdm/xdm-config:

```

! $Xorg: xdm-conf.cpp,v 1.3 2000/08/17 19:54:17 cpqbld Exp $

! $XdotOrg: app/xdm/config/xdm-config.cpp,v 1.5 2005/12/11 20:46:25 alanc Exp $    

!

!

!

!

! $XFree86: xc/programs/xdm/config/xdm-conf.cpp,v 1.10 2002/11/30 19:11:32 herrb Exp $

!

DisplayManager.errorLogFile:    /var/log/xdm.log

DisplayManager.pidFile:         /var/run/xdm.pid

DisplayManager.keyFile:         /etc/X11/xdm/xdm-keys

DisplayManager.servers:         /etc/X11/xdm/Xservers

DisplayManager.accessFile:      /etc/X11/xdm/Xaccess

DisplayManager*resources:       /etc/X11/xdm/Xresources

DisplayManager.willing:         /usr/lib/X11/xdm/Xwilling

! All displays should use authorization, but we cannot be sure

! X terminals may not be configured that way, so they will require

! individual resource settings.

DisplayManager*authorize:       true

!

DisplayManager*chooser:         /usr/lib/X11/xdm/chooser

DisplayManager*startup:         /usr/lib/X11/xdm/Xstartup

DisplayManager*session:         /usr/lib/X11/xdm/Xsession

DisplayManager*reset:           /usr/lib/X11/xdm/Xreset

DisplayManager*authComplain:    true

! The following three resources set up display :0 as the console.

DisplayManager._0.setup:        /usr/lib/X11/xdm/Xsetup_0

DisplayManager._0.startup:      /usr/lib/X11/xdm/GiveConsole

DisplayManager._0.reset:        /usr/lib/X11/xdm/TakeConsole

DisplayManager*loginmoveInterval:       10

! SECURITY: do not listen for XDMCP or Chooser requests

! Comment out this line if you want to manage X terminals with xdm

DisplayManager.requestPort:     0

```

En cuanto a /etc/X11/xdm/authdir, es un enlace simbólico roto a ../../../var/lib/xdm:

```

$ ls -l authdir

lrwxrwxrwx 1 root root 20 may 14  2006 authdir -> ../../../var/lib/xdm

$ file authdir

authdir: broken symbolic link to `../../../var/lib/xdm'

```

----------

## ebray187

Prueba creando el /var/lib/xdm/authdir/authfiles y dale todos los permisos al root

```
mkdir -p /var/lib/xdm/authdir/authfiles

chmod 700 /var/lib/xdm/authdir

chmod 700 /var/lib/xdm/authdir/authfiles
```

Si no funciona, prueba cambiando esto: DisplayManager*authComplain:    false

Saludos

----------

## pcmaster

Gracias, ha funcionado.

Lo que no sé es por qué no se crea ese directorio automáticamente al instalar...

----------

## ebray187

 *pcmaster wrote:*   

> Gracias, ha funcionado.
> 
> Lo que no sé es por qué no se crea ese directorio automáticamente al instalar...

 

si te tranquiliza, a mi me suena a bug...

----------

