Éste artículo es muy antiguo. Fue el primero que coloqué en esta Web. Desde entonces hasta aquí, la informática ha avanzado mucho, pero las ideas contenidas siguen siendo válidas. Si quiere aprovechar ordenadores antiguos, lo que se muestra será de gran utilidad. A continuación se expone el contenido original.
Este artículo pretende documentar y explicar mis experiencias en el aula de Informática del IES Pino Montano de Sevilla relativas a usar viejos ordenadores como terminales X.
Todos los ordenadores están conectados en red local mediante un router, el cual a su vez está conectado a una línea ADSL.
Hasta el curso escolar anterior (2002-2003) los ordenadores tenían instalado Windows 98, salvo los del apartado primero que tenían Windows 95. A partir de este punto los ordenadores de los apartados primero y segundo serán llamados antiguos mientras que los del apartado tercero serán llamados nuevos.
La navegación por Internet para los antiguos era insoportablemente lenta, por lo cual había que establecer turnos entre los alumnos, ya que todos querían, como es natural, los nuevos.
Si algún profesor o responsable de un aula de informática se encuentra en situación parecida a la anterior, puede mejorar muchísimo el rendimiento de los ordenadores, haciendo depender los antiguos de los nuevos, mediante el concepto de terminal X. Las siguientes secciones explican cómo lo he hecho yo. Cada persona deberá adaptar lo que aquí se expone a su caso concreto.
Un terminal X es un ordenador que ejecuta programas situados en otro ordenador, que para simplificar en esta sección, llamaremos servidor. Observe la siguiente figura:
Mediante el procedimiento adecuado que más adelante especificaremos, desde terminal1 a través de la red entramos en servidor1, con lo cual, una persona sentada delante de terminal1 lo verá todo a la velocidad de servidor1. Por ejemplo, si servidor1 es un ordenador de los nuevos y terminal1 es el 486 DX2 del apartado primero, entonces el alumno que esté sentado en éste, lo verá comportarse como un Pentium III a 930 Mhz. Por poner una analogía, es como si pusiéramos a una persona de 80 años en un cuerpo de 20.
Casi nada de lo que observe en terminal1 está ocurriendo realmente allí. Todo ocurre en servidor1. Entendámoslo con un ejemplo:
En fin, el efecto final es que todo parece que está ocurriendo delante de uno mismo.
Para poder hacer lo anterior, es necesario que el sistema operativo instalado en servidor1 sea multiusuario, lo cual deja fuera a Windows y dentro a Linux.
Probé varias posibilidades, desde instalar un Linux dentro de los Windows existentes, vía loadlin hasta los medios del excelente proyecto LTSP, el cual funcionó bien, salvo el último paso, la configuración de las X-Windows, en la cual no conseguí que el monitor se comportara como debía. Como ha pasado un año, este proyecto habrá mejorado y no hay que descartar volver a él más adelante. El problema radica en que una vez encontrada una solución buena, no se molesta uno en buscar otras. En fin, los detalles de la instalación se exponen a continuación.
Lo primero fue borrar Windows 95. Después, y debido a los recursos limitados de estos ordenadores, instalé un Linux Slackware versión 3.4 del año 1998, núcleo 2.0.30, que venía con el libro Manual avanzado de Linux de Raúl Montero Rivero, ediciones Anaya Multimedia. Una vez instalado, incluyendo las X-Windows, programas de red, entornos gráficos, incluso TeX y todos sus auxiliares, el espacio ocupado es del 42%.
Si el lector está interesado en esta posibilidad y en esta versión, busque en Internet, por ejemplo, en Google, la frase Slackware 3.4, y encontrará bastantes versiones de esta distribución.
Al montar el sistema operativo, la tarjeta de red no es reconocida por el núcleo y aparece el mensaje
network is unreachable
En otras palabras, que no hay red. La razón es que no detecta la tarjeta de red, la RealTek RTL-8029. No es necesario compilar el núcleo, sino basta hacer lo siguiente: editar /etc/rc.d/rc.modules. Descomentar la línea
#/sbin/modprobe ne io=0xNNNy poner lo siguiente:
/sbin/modprobe ne io=0xfce0
En el siguiente arranque coge la IRQ 9 y ya la red funciona perfectamente. Tampoco es necesario reiniciar el ordenador, pues basta con ejecutar en línea de órdenes lo anterior.
Como en los 486, lo primero fue borrar Windows 98. Después instalé
Suse Linux versión 6.0, del año 1999, núcleo 2.0.36. La Slackware
anterior es más rápida a la hora de instalar y de arrancar aunque la
configuración del ordenador (ratón, monitor, teclado, etc.) es mucho
más sencilla en Suse debido a las utilidades yast
y sax. Más aún, los archivos de configuración de las
X-Windows fueron copiados sin más a los 486, funcionando estos
perfectamente, ya que la compatibilidad es total en cuanto al monitor,
ratón y teclado. La tarjeta de red RealTek RTL-8029 fue reconocida
sin ningún problema por Suse 6.0.
Una vez instalado el sistema con programas similares a los anteriores,
el espacio ocupado es del 45%.
Como antes, después de borrar Windows 98 completamente, instalé en
cada uno de ellos una Suse versión 8.1 del año 2003, núcleo
2.4.19. Esta distribución, así como la anterior 6.0 no son
gratuitas. Nuestro instituto compró ambas en su momento. No
obstante, el lector puede encontrar otras que sí lo sean. En el
momento en que se escriben estas notas, estoy utilizando en mi casa
Mandrake 9.2, la cual es gratuita, muy buena y superior a Suse 8.1,
entre otras razones porque es posterior a esta última.
Otras alternativas gratuitas
son debian, Linex (Linux de la
comunidad extremeña) y Guadalinex (de la comunidad
andaluza).
Configurar una red en Linux conectada al exterior mediante una línea ADSL es extremadamente sencillo. El procedimiento a seguir es el siguiente:
Todo esto debe hacerlo en cada ordenador de la red. A continuación cree un archivo de texto con la información de todas las IPs de los ordenadores con el siguiente formato:
172.26.0.2 servidor1.aula-de-informatica servidor1 172.26.0.3 servidor2.aula-de-informatica servidor2 .... 172.26.0.10 terminal1.aula-de-informatica terminal1 ....
e insértela al final del archivo /etc/hosts. Por ejemplo, si el archivo de texto anterior es ordenadores, introduzca la orden:
cat ordenadores >> /etc/hosts
Si no le gusta el método anterior edite /etc/hosts con su editor preferido e inserte ordenadores al final.
Podríamos disponer de un único ordenador que actuara de DNS para toda la red local y evitar el tener que copiar todos estos datos a todos los ordenadores, pero eso implicaría tener ese ordenador siempre encendido. Por otro lado el proceso anterior de copiar los datos no nos lleva más de una hora.
Una vez hecho lo anterior, sitúese en cualquier ordenador e introduzca:
ping servidor1 ping servidor2 .... ping terminal1 ....
Si recibe respuesta de todos, es síntoma de que la red funciona bien a nivel interno. Prueba ahora:
ping ftp.rediris.es ping www.nasa.gov
Si también recibe respuesta, es síntoma de que la red funciona bien a nivel externo. Vaya probando las verificaciones anteriores en varios ordenadores hasta asegurarse del buen funcionamiento de todos los nodos.
Decimos como hacerlo tanto para Suse 8.1 como para Mandrake 9.2. En cada servidor hacer lo siguiente:
Como root y con yast2 seguimos la siguiente secuencia de pasos:
Sistema --> Editor para /etc/sysconfig --> Base-Administration --> Display --> displaymanager_remote_access
Lo ponemos a sí y ya debe funcionar. Como kdm está funcionando no coge este cambio. Así es que tenemos dos posibilidades:
$ locate xdm-config /etc/X11/xdm/xdm-configy comentamos la línea:
DisplayManager.requestPort: 0poniendo una admiración de cierre ! al comienzo. En definitiva, debe quedar como:
! DisplayManager.requestPort: 0
$ locate Xaccess /etc/X11/xdm/Xaccessy nos aseguramos que hay una línea que comience con un * y nada más. En nuestro caso, leemos el archivo y encontramos:
.... * #any host can get a login window ....
$ locate kdmrc /usr/share/config/kdm/kdmrcEditamos la sección [Xdmcp] y modificamos para que quede de la siguiente forma:
[Xdmcp] Enable=true
Ahora o reiniciamos o hacemos lo explicado antes relativo a los cambios entre init 3 e init 5.
En el Linux local de cada terminal (Slackware 3.4 o Suse 6.0) cree una cuenta pública para que tanto Vd. como cualquier alumno pueda utilizar y entre en dicha cuenta. Sobreentendemos que dicha entrada la hace en modo texto. Si entró en un 486 (Slackware 3.4), escriba:
X -query servidor1
Si todo ha ido bien, ha debido de entrar
en servidor1. Como es natural, tendrá que tener cuenta en
éste para poder hacer algo.
Si entró en un Pentium 75 (Suse 6.0),
escriba:
Xwrapper -query servidor1
y, como antes, si todo ha ido bien, habrá entrado en servidor1. Debe resultar evidente que puede entrar en cualquiera sin más que cambiar servidor1 por servidor2, servidor3, etc.
La siguiente fotografía muestra un 486 ejecutando KDE 3.0, la hoja de cálculo Calc y el procesador de textos Writer del paquete Openoffice versión 1.1, así como un emulador de terminal.
Por último, decir que el responsable del aula debe repartir las cuentas de los alumnos entre los servidores, de forma tal que no se dé el caso de que en un momento determinado haya, por ejemplo, 3 usuarios colgados de un ordenador y ninguno de otro.
Si desea hacer algún comentario, utilice la siguiente dirección de correo:
Pedro González Ruiz