[CentOS-es] configurar cliente "tonto" centos

Eduardo Grosclaude eduardo.grosclaude en gmail.com
Lun Abr 13 12:51:47 UTC 2009


2009/4/11 alberto Crego <albertocrego en gmail.com>:
> con el ltsp, se pueden exportar sesiones de gnome de un servidor a un equipo cliente? el tema es que tengo que buscar la forma de como hacerlo sin que me consuma mucho ancho de banda de la red, ni recursos del server, aun no se como hacerlo mejor, de la forma A, que es mediante un cliente "ligero", o la opcion B, instalando en centos en el equipo cliente y ejecutar una sesion de gnome de servidor en el cliente (que eso no se si se puede hacer).

La respuesta tendrá que ver con cuánta funcionalidad necesitas
exactamente: si te basta con correr un proceso en forma remota o si
necesitas una sesión completa de desktop remoto.

En el primer caso, te puede bastar una sesión ssh del cliente al
servidor, que ejecute el proceso remoto que quieres. Para esto basta
con que el cliente corra un servidor X, sin gestor de escritorio ni de
ventanas. Este script puede dar una idea de lo que se necesita hacer:

#!/bin/bash
SERVER=192.168.0.1
USUARIO=pepe
PROGRAMA=system-config-users
X :1 &
sleep 3
DISPLAY=localhost:1 ssh $USUARIO@$SERVER $PROGRAMA

Para poder hacer esto sin que la sesión ssh pida password, puedes
estudiar cómo editar el archivo .ssh/authorized_keys del usuario en el
servidor agregándole la clave pública del cliente.

En el segundo caso (sesión remota completa), hay varias formas de
hacerlo, con diferentes requerimientos de recursos. XDMCP es la forma
"nativa" en Unix de obtener sesiones remotas a través de XWindow.  Hay
alternativas más modernas y según he escuchado más eficientes, como
FreeNX. RDP (Remote Desktop) es una solución muy buena, en el sentido
de que la experiencia de usuario es muy parecida a ejecutar la
interfaz en forma local, y a veces la supera. Tiene la ventaja de
poder aprovechar servidores Windows.

Otra familia de soluciones corresponde a VNC (que serviría para
compartir un mismo escritorio entre varios clientes, pero no parece
ser tu caso).

>>> Tambíen quería saber si existe alguna forma en gnome de que una vez que inicie la sesion se le abra el programa unicamente y no pueda ejecutar otro programa.

Puedes hacerlo modificando la estructura de menús y editando la
configuración de arranque automático de la sesión, pero así
posiblemente sigan quedando algunas vías de escape para los usuarios
que tengan algo de conocimiento. Me parece más seguro empezar por no
levantar procesos innecesarios en lugar de poner restricciones a la
interfaz de usuario: si no quieres que use nada del Gnome, pues no lo
actives. Creo que tus requerimientos se parecen más a los de "cliente
liviano" que a los de "sesión local retocada".

Puedes crear un cliente liviano a partir de una distribución
multipropósito como CentOS, modificando el inicio del sistema
(editando inittab). Puedes hacerte un runlevel propio, que solamente
dispare los procesos que necesitas. Por ejemplo, el servidor X y la
sesión ssh al servidor invocando el programa en forma remota, como lo
hace el script adjunto. Si no quieres que se pueda acceder a consolas
de texto, las desactivas para ese runlevel. Para probarlo sin romper
el sistema en funcionamiento puedes editar la línea GRUB del kernel
indicando el número de nivel que quieres correr. Cuando lo tienes
depurado, fijas el runlevel default y si es necesario eliminas los
demás (esto no tiene retorno, salvo que bootees con un disco de
rescate).

Otra solución muy fácil, y ya empaquetada, es la distribución
Thinstation, que te creará un cliente liviano de cualquiera de estos
protocolos (o de todos ellos juntos), y es configurable hasta la
náusea. Tiene la posibilidad de especificar directamente la aplicación
que se va a correr en el servidor. La palabra clave para buscar más
sobre este modo de funcionamiento es "kiosk".

Saludos
-- 
Eduardo Grosclaude
Universidad Nacional del Comahue
Neuquen, Argentina


Más información sobre la lista de distribución CentOS-es