martes, 25 de febrero de 2014

¿Cómo simulo la estética de una terminal lenta como la DEC VT152/VT220?

En un pasaje de su La Comunidad Organizada, Juan Perón nos explica los fundamentos filosóficos que hacen a la búsqueda de la felicidad y cómo lograrla emulando la lentitud de una terminal DEC VT en Ubuntu. 

(...)
Un pensador moderno ha escrito lo siguiente: Hay un trabajo sin alegría, un placer sin risa, una virtud sin gracia, una juventud sin suavidad, un amor sin misterio, un arte sin irradiación ... ¿por qué?...

Esa pregunta terrible acaso no esté todavía pendiente sobre la vida actual. Pero puede gravitar sobre nuestro futuro si no llegamos a relacionar y defender debidamente las categorías y valores de ese sujeto de la vida toda, de nuestras preocupaciones y nuestros desvelos, que es el Hombre.

Sin el Hombre no podemos comprender en modo alguno los fines de la naturaleza, el concepto de la humanidad ni la eficacia del pensamiento...

Existe una laboriosa tarea en pleno desarrollo, encaminada a modificar sustancialmente las condiciones de vida en pro de la felicidad general. Es importante saber si esta felicidad pertenece al reino de lo material, o si cabe pensar que se trata de realizar las aspiraciones anímicas del hombre y el camino de perfección para el cuerpo social.

Pero cuando volvemos a preguntarnos si la dirección de ese pensamiento ha de ser ejercida en un sentido horizontal, o si cabrá imprimirle al mismo tiempo verticalidad, debemos antes examinar, siquiera en busca de indicios, el panorama que se ofrece a nuestros ojos.

Advertimos enseguida un síntoma inquietante en el campo universal. Voces de alerta señalan con frecuencia el peligro de que el progreso técnico no vaya seguido por un proporcional adelanto en la educación de los pueblos. La complejidad del avance técnico requiere pupilas sensibles y recio temperamento. Si tomamos como símbolo de la vida moderna el rascacielos o el transatlántico, deberemos enseguida prefiguramos la estatura espiritual del ser que ha de morar o viajar en ellos.

Ha de ser el hombre el material sensible, y no volcarse necesariamente a los adelantos sin darles una significancia en su alma. En la informática sucede más o menos lo mismo: no hace falta contar con el último ingenio, sino con el que nos haga feliz.

Las videoterminales tontas como las DEC VT05, VT152, VT220, y demás miembros de la serie se caracterizaban por conectarse solas o en grupo a una minicomputadora o un mainframe, y otorgaban al usuario el medio para introducir y recibir los datos a través de su monitor. Ésta era la forma de computar en un momento en que el costo de la unidad central de proceso, memorias volátiles y de masa eran lo suficientemente altos como para no justificar la personalización del medio informático.

Es indudable que estas clásicas terminales no han perdido su uso ni su prestigio, pues aún hoy conectándolas a través de un puerto serial Centronics RS232, es posible emplearlas como medio de entrada y salida de datos en un entorno GNU con Linux. Bajo una nueva filosofía, los viejos modos siguen siendo útil escuela.

Aun así, a pesar de su antigua tecnología, las terminales seriales clásicas son escasas y difíciles de conseguir, lo cual las ha tornado un objeto oligárquico. El Justicialismo siempre se ha propuesto terminar con estas situaciones de dominación.

Esta pregunta me la han hecho muchos, y sobre todo me la he hecho yo. ¿Es posible proveer esa apariencia y alma que anteriormente sólo las terminales seriales podían dar, de manera de poder usarla que el hombre pueda usarla en su diaria labor?

La respuesta es afirmativa.,En este caso habremos de configurarnuestra  terminal estándar (provista con Ubuntu), y usar un programa para mostrar el texto de forma más lenta al menos en los archivos de texto. En primer lugar abrimos una terminal con Ctrl+Alt+T.

Si quisiéramos representar la estética de una terminal VT220, podríamos descargar una fuente que imita sus glifos no entrelazados como la Glass VT220 y utilizarla en la fuente. Otras fuentes recomendables son FixedSys Exelsior, PR Number 3 (similar a la fuente de la Apple ][) y la VT323, una fuente similar en apariencia a muchas terminales y equipos de 8 bits. Como color podremos usar el clásico "verde fósforo VT100", cuyas coordenadas cromáticas RGB son aproximadamente 0-255-153 (y en notación hexadecimal #00FFA3). Se pueden usar también en la GNOME-Terminal haciendo clic con el botón izquierdo del ratón sobre la misma y eligiendo Perfiles / Preferencias de Perfil, y moviéndonos a la solapa Colores. Luego cambiamos el color de texto:


Las terminales antiguas eran lentas, y en ello se resguardaba su encanto. Para reducir la velocidad del pasaje de texto, hay varias maneras, pero podremos hacerlo de manera fácil y conveniente descargando un programa a tal efecto: el slowcat. Su empleo es similar al clásico comando cat, con la diferencia que presentará el volcado de la información caracter a caracter y con velocidad programable.

Para descargarlo e instalarlo en el sistema debemos ingresar los siguientes Comandos de Organización:

wget http://www.splode.com/~friedman/software/scripts/src/share/slowcat
sudo chmod 755 slowcat

sudo mv slowcat /usr/local/bin/scat

Los ejemplos suelen aclararlo todo, como decía Napoleón.

Para ver el archivo larazóndemivida.txt a la velocidad estándar de volcado del slowcat (equivalente a unos 9600 baudios por segundo), deberíamos utilizar:
scat larazóndemivida.txt

También podremos redirigir la salida de cualquier comando que usemos en la consola y devuelva texto a slowcat para que nos provea de un volcado lento del mismo. Para ello han de usarse los caños ("|"), mediante la siguiente sintaxis general:

comando | scat

Como se ha mencionado, la velocidad de volcado de Slowcat es programable por medio de la variable -b, que nos permite indicar los baudios por segundo deseados en la representación. Por ejemplo, si quisiéramos un listado de directorio completo y cuyo volcado tenga el estilo de una terminal antigua con una velocidad de 1200 baudios, podríamos usar:

ls -lah | scat -b 1200

Naturalmente, el volcado del Slowcat puede interrumpirse con Ctrl+C.

Si quisiéramos volcar nuestra doctrina (o cualquier otro contenido web) como si la recibiésemos telemáticamente desde una BBS de la era de las microcomputadoras o terminales seriales, podríamos emular su volcado con el navegador Links. A diferencia de w3m o elinks, links muestra una web "a pantallas", lo cual es sumamente adecuado.

Lo instalamos con:

sudo apt-get install links

Y para navegar con él podríamos hacer:

links http://ubuntuperonista.blogspot.com.ar/2012/07/software-libre-es-justicia-social-20.html | scat



El uso de una terminal incapaz de mostrar gráficos para improvisarlos de alguna manera, constituye un antiguo arte que ha de ser promovido. Por ejemplo, podríamos querer instalar una serie de conocidas animaciones para las DEC VT. Estas eran animaciones escritas en formato ASCII (sólo texto) y se reproducían secuencialmente en una terminal de baja velocidad. Actualmente podríamos verlas con el comando cat, pero la velocidad de respuesta normal las torna imposible de apreciar. Con la solución que aporta Slowcat podremos apreciarlas en su gloria original:

cd ~/Descargas 
wget wget http://mewbies.com/geek_fun_files/vt100/vt_files.zip
unzip vt_files.zip
cd ~/Descargas/vt_files

Como ejemplo genérico, podríamos usar la comprobación original de la terminal:

cat torturetest.vt

...y tendremos una salida instantánea. Pero si hacemos:

scat torturetest.vt

...nos encontraremos con una salida mas lenta, letra a letra, tal como se veía en las videoterminales seriales DEC. Con eso habremos dado un importante paso.
Si nuestro sentido nerd nos impulsa a contemplar un Ave de Presa Klingon disparando un torpedo de fotón hacia nuestra nariz, podríamos hacer:

scat -b 48000 prey.vt

...o podríamos contemplar la venganza por la cancelación de Star Trek con:

scat -b 4100 trek.vt

...y emular la escena del verdadero encuentro entre Jean Luc Picard y James T. Kirk tal como se debería haber hecho:

scat -b 22000 startrek.vt
La versatilidad de slowcat es la de todo comando que siga la filosofía UNIX. Si tenemos un loop, podríamos apreciar su animación en bucle a diferentes velocidades. Sería sencillo con la siguiente topología de comando:

scat -b 240000 ~/Descargas/vt_files/globe.vt && slowcat -b 150000 ~/Descargas/vt_files/globe.vt && slowcat -b 70000 ~/Descargas/vt_files/globe.vt && slowcat -b 35000 ~/Descargas/vt_files/globe.vt && slowcat -b 12000 ~/Descargas/vt_files/globe.vt

También podríamos querer usar opciones más vistosas en nuestra terminal de texto a color exclusiva. Normalmente Ubuntu emplea el modo VESA sin direccionamimento, para mayor compatibilidad. Pero si tenemos una placa de video compatible con aceleración, podríamos querer instalar la terminal framebuffer fbterm.

Para ello ingresamos a una terminal TTY (por ejemplo, con Ctrl+Alt+F1) y nos logueamos con nuestro usuario y contraseña. Acto seguido ingresamos el comando:

sudo apt-get install fbterm

Y la iniciamos con

sudo fbterm

Luego querríamos probar el video acelerado con algunas aplicaciones que hagan uso de los caracteres ASCII. Para ello podremos usar cacautils, cuyo escatológico nombre nos representa un paquete que incluye cacademo, una demostración de efectos visuales autogenerados precisamente a través de caracteres ASCII a color.

Simplemente lo instalamos con:

sudo apt-get install cacautils

Y al terminar de instalar lo ejecutamos con:

cacademo

Podremos ir pasando los diferentes demos con Enter, lo pausamos con la barra espaciadora, y salimos con Esc.

También tendremos otra opción con un comando cuyo representativa designación explica todo:

cacafire

Recordemos que para cerrar las sesiones de consola TTY se usa el comando exit, y que podremos volver a la consola gráfica mediante la combinación Ctrl+Alt+F7.

No hay comentarios:

Publicar un comentario en la entrada