LTSP es la abreviatura de "Linux Terminal Server Project" ("Proyecto de Servidor de Terminales Linux"). Instalado en un servidor proporciona a varias estaciones de trabajo (llamadas por eso 'thin-clients') entornos idénticos. Todas las aplicaciones se ejecutan en el servidor y por lo tanto puede utilizar viejos PCs y convertirlos en terminales X. Esto reduce costes y mantenimiento especialmente en un entorno donde se necesite tener un área de trabajo uniforme en cada ordenador que usted utilice, por ejemplo en una escuela o una empresa.
Todos los ejemplos en este documento presuponen que la dirección IP de su servidor es 192.168.0.254, su dominio se llama sudominio.com y su red es 192.168.0.0/24.
En primer lugar, usted debe disponer de un sistema Gentoo en funcionamiento. Por favor, lea el Manual de instalación de Gentoo para su arquitectura en Recursos de Documentación de Gentoo.
Después puede comenzar con el paso más sencillo, instalar el paquete ltsp:
Listado de Código 2.1: Emerge LTSP |
# emerge ltsp
|
Lo que instalará los siguientes paquetes y dependencias:
Nota: Si usted tiene la variable "USE" "kde" o "gnome", también se instalará un sistema completo kde o gnome. |
Después de que el proceso de emerge haya acabado se deben configurar todos los servicios:
Para analizar los problemas fácilmente, el gestor de registro del sistema debe ser configurado para que acepte peticiones remotas. Por favor, lea la documentación de su registro del sistema para conseguir esto. Si, por ejemplo, está usando sysklogd, todo lo que necesita es editar /etc/conf.d/sysklogd y añadir "-r" a la línea SYSLOGD:
Listado de Código 3.1: /etc/conf.d/sysklogd |
SYSLOGD="-m 0 -r" KLOGD="-c 3 -2" |
El siguiente paso es editar el fichero /etc/exports, para permitir a las estaciones de trabajo montar el sistema de ficheros raíz. Debería haber al menos dos líneas en él:
Listado de Código 3.2: /etc/exports |
/opt/ltsp-4.1/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,async) /var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async) |
Nota: Tendrá que cambiar la red/máscara de red para que se corresponda con su red/máscara de red. |
Ahora inicie NFS.
Listado de Código 3.3: Iniciando nfs |
# rc-update add nfs default # /etc/init.d/nfs start |
TFTP requiere un poco más de configuración para conseguir que funcione correctamente. En primer lugar, edite /etc/conf.d/in.tftpd para indicar las opciones y la ruta de acceso de tftpd correctamente:
Listado de Código 3.4: /etc/conf.d/in.tftpd |
INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"
|
El parámetro -s especifica que TFTP se ejecute en el modo seguro de chroot (recomendado). Esto significa que usted no necesita incluir la ruta/tftpboot en la configuración de DHCP, por ejemplo.
Luego, configure xinetd para ejecutar TFTP y permitir las conexiones remotas. Por defecto TFTP no será iniciado por xinetd, por ello debe editar /etc/xinetd.d/tftp y cambiar disable=yes por disable=no. Si no existe el fichero basta crear /etc/xinetd.d/tftp con el siguiente contenido.
Listado de Código 3.5: /etc/xinetd.d/tftp |
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
}
|
Ahora edite /etc/xinetd.conf y "comente" la línea only_from = localhost añadiendo al principio de la misma una #. Finalmente, inicie xinetd.
Listado de Código 3.6: Iniciando xinetd |
# rc-update add xinetd default # /etc/init.d/xinetd start |
Para que las estaciones de trabajo encuentren todos los recursos, debe estar disponible una correcta resolución de nombres. Hay varias maneras de conseguirlo. Una es configurar un servidor DNS para la red local, otra (y más simple) es tener casi idénticos ficheros /etc/hosts en todos los sistemas. Vamos a usar esta última.
Todos los puestos de trabajo deben estar listados en /etc/hosts. Eche un vistazo al ejemplo:
Listado de Código 3.7: /etc/hosts |
127.0.0.1 localhost 192.168.0.254 server server.sudominio.com 192.168.0.1 ws001 ws001.sudominio.com |
Este es el paso más complicado en mi opinión. Usted tiene que crear una configuración DHCP válida (/etc/dhcp/dhcpd.conf). Aquí tiene un ejemplo:
Listado de Código 3.8: dhcpd.conf |
(Opciones generales) default-lease-time 21600; max-lease-time 21600; use-host-decl-names on; ddns-update-style ad-hoc; (Opciones de bootp) allow booting; allow bootp; (Opciones de red) option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.254; option domain-name-servers 192.168.0.254; option log-servers 192.168.0.254; option domain-name "sudominio.com"; (Opciones de rutas de LTSP) option root-path "192.168.0.254:/opt/ltsp-4.1/i386"; filename "/lts/vmlinuz-2.4.26-ltsp-2"; (Dirección del servidor tftp desde donde descargar ltsp) next-server 192.168.0.254; (Si usted tiene estaciones de trabajo con tarjetas de red ISA "descomente") (las líneas siguientes y cambie el driver y el IO) #option option-128 code 128 = string; #option option-129 code 129 = text; #option option-128 e4:45:74:68:00:00; #option option-129 "NIC=ne IO=0x300"; shared-network WORKSTATIONS { subnet 192.168.0.0 netmask 255.255.255.0 { (Distribuye IPs dinámicas a los clientes) range dynamic-bootp 192.168.0.1 192.168.0.16; (Estación con una configuración específica para arranque PXE) #host ws001 { # hardware ethernet 00:E0:06:E8:00:84; # fixed-address 192.168.0.1; #} } } |
Si sus puestos de trabajo soportan PXE, deberá incluir cada una de ellos tal como hemos hecho con host ws001 (no se olvide 'descomentar' la línea). No les dé una dirección que esté en el rango de direcciones dinámicas, en caso contrario sería posible que una estación de trabajo tuviera la misma IP que otra (lo cual es molesto). Si usted copia y pega el ejemplo anterior, recuerde reemplazar cualquier comentario "//" con "##", ya que si no dhcp fallará al arrancar.
Para más información al respecto lea el 'handbook' oficial: http://www.dhcp-handbook.com/
Ahora inicie DHCP tal como hizo con NFS y xinetd:
Listado de Código 3.9: Inicio de dhcp |
# rc-update add dhcp default # /etc/init.d/dhcp start |
Nota: DHCPD necesita para funcionar tener activado en el kernel CONFIG_PACKET y CONFIG_FILTER. |
Hay varias opciones para configurar los puestos de trabajo, vea http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-en.html#AEN1190 para una completa descripción de /opt/ltsp/i386/etc/lts.conf.
Como sugerencias para empezar, primero podría empezar copiando /opt/ltsp/i386/etc/lts.conf.example como /opt/ltsp/i386/etc/lts.conf y editar éste último. Podría intentar cambiar la opción SCREEN_01 con SCREEN_01 = startx. Para usar un ratón USB en el cliente remoto, añada las siguientes líneas MODULE, y cambie las líneas X_MOUSE_* así:
Listado de Código 3.10: /opt/ltsp/i386/etc/lts.conf |
MODULE_01 = usb-uhci MODULE_02 = mousedev MODULE_03 = usbmouse X_MOUSE_PROTOCOL = "IMPS/2" X_MOUSE_DEVICE = "/dev/input/mice" |
Ahora tiene que cambiar la configuración del gestor de ventanas también para aceptar conexiones remotas.
Primero cambie el fichero /etc/X11/xdm/Xaccess, 'descomentando' la línea siguiente:
Listado de Código 3.11: /etc/X11/xdm/Xaccess |
#* #cualquier host puede obtener una ventana de login |
Ahora cambie la configuración del gestor de ventanas que use:
XDM: En /etc/X11/xdm/xdm-config 'comente' DisplayManager.requestPort: 0
KDM: En /usr/kde/3.1/share/config/kdm/kdmrc busque la sección [Xdmcp] y cambie Enable = false a Enable = true.
GDM: En /etc/X11/gdm/gdm.conf busque la sección [xdmcp] y cambie Enable = false a Enable = True.
Entonces arranque el gestor de ventanas:
Listado de Código 3.12: Inicio de xdm |
# rc-update add xdm default # /etc/init.d/xdm start |
Aviso: Parece que actualmente hay problemas con XDM y GDM. El autor usa KDM para resolver esas cuestiones. |
Recuerde, si su gestor de ventanas está ya en marcha, reiniciar el servidor X con CTRL-ALT-BACKSPACE no reinicia el gestor de ventanas.
Si sus estaciones de trabajo no soportan el arranque PXE, puede crear un disquete de arranque para arrancarlas y conectarlas al servidor de terminales. Vaya a http://www.rom-o-matic.net, seleccione la última versión, elija su tarjeta de red, pulse Get ROM y grabe la imagen en un disquete:
Listado de Código 3.13: Escribiendo la imagen en el floppy disk |
# cat nicfile.zdsk > /dev/fd0
|
Hay muchas cosas que puedan ser el origen del problema, pero también hay varios recursos al respecto que pueden ayudarle a resolver sus problemas:
P: Mis puestos de trabajo tienen CPUs Pentium II, pero mi servidor está compilado con march=athlon-xp, ¿funcionará?
R: Eso no es ningún un problema, por que todas las aplicaciones se ejecutan en el servidor.
P: ¿Qué CPU y cuánta RAM debe tener el servidor?
R: Este es un buen documento con sugerencias al respecto: http://wiki.ltsp.org/twiki/bin/view/Ltsp/ServerSizing.
P: ¿Tiene más información al respecto de PXE?
R: Sí, mire http://wiki.ltsp.org/twiki/bin/view/Ltsp/PXE.
P: ¿Es posible usar aceleración 3D por software en las estaciones de trabajo?
R: Si utiliza tarjetas NVidia eche un vistazo a http://wiki.ltsp.org/twiki/bin/view/Ltsp/NvidiaLtsp411.
P: En algunas aplicaciones las fuentes se ven con mala calidad, ¿qué puedo hacer?
R: Tiene que configurar el XFontServer, añada USE_XFS=Y a su lts.conf, edite /etc/X11/fs/config y 'comente' no-listen: tcp, reemplace XFS_PORT="-1" con XFS_PORT="7100" en /etc/conf.d/xfs y arranque xfs: /etc/init.d/xfs start. También compruebe que /etc/X11/XF86Config (o /etc/X11/xorg.conf) contenga FontPath "unix/:7100" en la sección Files.
P: ¿Cómo puedo usar la tarjeta de sonido en una estación de trabajo?
R: Hay un paquete ltsp-sound en gentoo, para más información lea el fichero que se incluye README.
LTSP "LTSP proporciona una manera sencilla de utilizar puestos de trabajo de bajo coste basados en terminales tanto gráficos como de texto con un servidor GNU/Linux."
PXE "Abreviatura de Pre-Boot Execution Environment (Entorno de ejecución previo al arranque). Pronunciado como "pixie", PXE es uno de los componentes de la especificación WfM de Intel. Permite a una estación de trabajo arrancar desde un servidor en una red antes de arrancar el sistema operativo del disco duro local. Una estación de trabajo con PXE habilitado conecta su tarjeta de red a la LAN con un 'jumper', el cual la mantiene conectada a la red incluso si está apagada."
El contenido de este documento está registrado bajo los términos de la licencia Creative Commons - Reconocimiento / Compartir Igual