Habilitando nuestro teclado en español en acceso remoto con XDMCP usando Xephyr

Imagen de pepo

He querido hacer una breve guía de como acceder por XDMCP usando Xephyr pero tener habilitado nuestro teclado español en el Host remoto.

[b][color=#FF0000]XDMCP[/color][/b] quiere decir "X Display Manager Control Protocol, es una manera (muy antigua pero muy usada aún) para acceder a Host remotos; de aquí pueden surgir ideas como Thin-Clients y otros pero no es lo que abarca esta guía rápida.

[b][color=#FF0000]Xephyr[/color][/b] es una "pequeña" implementación de un servidor "X Window System", presenta mejoras a xnest; y, en definitiva lo que nos da es la posibilidad de iniciar una sesión X embebida dentro de un servidor X ejecutándose y así no tenemos que ocupar otra consola virtual sino tenemos una sesión remota como si fuera una ventana más en nuestro entorno gráfico.

[b][color=#FF0000]SSH[/color][/b] es un protocolo (y una aplicación) que permite el acceso seguro de manera remota; lo pongo aquí porque es extremadamente necesario para su seguridad que la siguiente guía sea ejecutada a través de un túnel SSH pero va más allá de esta guía rápida.

[b][color=#FF0000]De lado del servidor[/color][/b]

El servidor que va a aceptar el acceso por XDMCP debe estar configurado para hacerlo, en nuestro caso un KDE4 es muy sencillo y es similar en otros entornos.

En el archivo de KDM habilito el escuchar peticiones XDMCP:

[code]
sudo vi /etc/kde4/kdm/kdmrc
[/code]

Dentro del fichero la parte de XDMCP deberá quedar así:

[code]
[Xdmcp]
Enable=true
Willing=/etc/kde4/kdm/Xwilling
[/code]

Y para terminar el permitir acceder de manera remota modificamos el fichero Xaccess:
[code]
sudo vi /etc/kde4/kdm/Xaccess
[/code]

El fichero anterior es bastante extenso en sus opciones y les recomiendo que lo analicen, para permitir el acceso a cualquier Host simplemente deberán poner un [b]*[/b] en una línea. (Yo hago eso porque el control del acceso se lo dejo al túnel SSH y a mi Firewall )

[b][color=#FF0000]De lado del cliente[/color][/b]

Obviamente debemos tener instalado el sistema Xephyr:

[code]
sudo aptitude update
sudo aptitude install xserver-xephyr
[/code]

Ahora tratamos de ingresar al servidor remoto (Simplemente hacemos una consulta a un servidor que sabemos está aceptando XDMCP)

[code]
Xephyr :1 -ac -query 192.168.13.13 -screen 1024x768
[/code]

Listo tenemos nuestra ventana con el acceso por kdm (xdm o similar); después de loguearnos abrimos una consola y debemos enviar las siguientes órdenes:

[code]
setxkbmap -layout es -model evdev
[/code]

Lo que le hemos indicado (como el usuario que nos logueamos) es simplemente que escoja el perfil del teclado en español y que el driver sea a través de evdev que es lo más común en nuestros días.

Termino esta guía rápida recordándoles:

[list=I]
[*]Pongan este acceso a través de un túnel SSH para ofrecer seguridad.
[*]Si dañan algo por seguir esta guía no tengo nada que ver ni estaré involucrado de ninguna manera ;) además de seguro que siguieron mal los pasos.
[/list]

Saludos,
Pepo.