¿Hacer un qué?
Un día un amigo al que le había instalado linux y le había
enseñado como acceder vía telnet a su ordenador principal desde el más
antiguo me preguntó: "¿y no se puede hacer Telnet a MS-DOS?"
Mi primera respuesta fue que no, pues DOS en un sistema
monotarea y monousuario, pero cuando llegué a mi casa se me ocurrió una idea:
hacer un telnet a linux y ejecutar el emulador DOSEMU desde esa sesión.
Tras seguir las instrucciones de este documento en el
ordenador cliente hacemos telnet al servidor (telnet IP ó telnet NombreHost) y
cuando nos pregunte por el login metemos freedos y su contraseña con lo que nos
saldrá una sesión DOS.
Esto es algo curioso y útil, p.e.: podríamos ver nuestras
viejas aplicaciones DOS rulando en un terminal o ejecutarlas en un equipo
remoto.
¿Qué necesito?
-
Al menos dos ordenadores, un servidor telnet y un cliente
con un emulador de terminal (o un terminal real).
-
Tantas tarjetas de red como equipos con un cable cruzado
si son dos o enchufadas a un hub si son más. Si no podríamos apañarnos
con cables cruzados serie o paralelo.
-
El protocolo TCP/IP que ya tendríamos instalado con
nuestra distribución.
-
Software en el servidor: linux con DOSEMU, una imagen de
un disco duro DOS (o FreeDOS) y el demonio del
servidor telnet.
Los paquetes necesarios serían respectivamente dosemu-X.XX-X,
dosemu-freedos-X.XX-X y
telnet-server-X.XX-XX. Si tienes una
distro Red Hat 7.2 los dos primeros estarían en el
CD de PowerTools y el
último en el primer CD de instalación.
-
Software en el/los terminal/es: emulador de terminal para
el sistema operativo que corra en él.
En caso de usar también linux el cliente debería tener instalado el
paquete telnet-X.XX-XX.
Configuración
-
Instalamos los paquetes del demonio telnet y dosemu en
caso de no tenerlos ya instalados.
-
Creamos una nueva cuenta de usuario llamada freedos
con el
comando adduser freedos.
-
Asignamos una clave a dicha cuenta con el comando passwd
freedos.
-
Activamos el servicio Telnet
de forma permanente, esto se puede hacer con el comando setup eligiendo la
opción de System Services y activando la casilla correspondiente al Telnet.
-
Nos metemos como usuario freedos y le añadimos las
siguientes líneas al fichero .bash_profile:
sudo dos
logout
-
Editamos el fichero /etc/sudoers
con el programa visudo y
le añadimos las siguientes líneas:
freedos ALL=NOPASSWD:\
/usr/bin/dos
-
Este usuario accede a la imagen freedos
como si fuera una partición de solo lectura, si vamos a dejar que la
modifique tecleamos chmod a+w /var/lib/dosemu/hdimage.first
-
Si queremos que más usuarios puedan usar el dosemu
con el comando sudo dos los
añadimos en este fichero detrás de la palabra freedos y separados por
comas.
-
También podríamos haber añadido los usuarios que
queramos tengan acceso a DOSEMU al final
del fichero /etc/dosemu.users,
añadiendo un usuario por línea. En este caso no sería necesario editar el
fichero /etc/sudoers
y todas las entradas de sudo dos
se sustituirían simplemente por dos.
Cada vez que nos metamos en el usuario
freedos
lo que veremos es una sesión de Free DOS de la que saldremos tecleando EXITEMU
desde el directorio raíz con lo que, además de salir del emulador, saldremos
de la sesión del usuario
freedos.
Recuerda que DOS sigue siendo un sistema
monotarea y
monousuario, algo muy a tener en cuenta cuando lo uses vía telnet sobre todo si
vais a ser más de uno usándolo.