Mostrando entradas con la etiqueta ANSI. Mostrar todas las entradas
Mostrando entradas con la etiqueta ANSI. Mostrar todas las entradas

domingo, 24 de octubre de 2021

¿Cómo grabo la terminal ANSI en Ubuntu?

Juan Perón explica la necesidad del proselitismo y enseña cómo utilizar el grabador de terminal y plataforma de difusión ASCIInema en Ubuntu.

¡Trabajadores!

Nuestro Movimiento no puede quedarse inexpresivo, y eso lo entendemos todos. Desde aquel diáfano 17 de octubre, supimos que todo movimiento popular ha de contar no solo con banderas, divisas y sanas consignas, sino liturgia y la parafarnalia que puede proveer un bombo y una manguera.

El sentido no es simplemente hacer bochinche, sino propalar en todo el alcance territorial que ocupan nuestros cuerpos, el sentir de nuestras ideas.

En un sistema informático también ha de hacerse lo mismo. Muchas veces me han preguntado cómo podremos hacer ello utilizando la terminal, cuando esta puede parecer - a primera vista - un elemento poco expresivo y para nada gráfico.

Indudablemente que quien así piense no está más que confundido por un mensaje tan contumaz como el Libro Azul de ese tondo de Braden. A ese opusimos el Libro Celeste y Blanco de Perón, y en los sistemas GNU con Linux bien podremos emplear un grabador de terminal, como ASCIInema.


Este nos permite contar con un grabador que capture lo que reproduce nuestra terminal, a la vez que nos provee una plataforma en internet capaz de reproducirla y compartirla, localizada en https://asciinema.org. Bien podremos darnos de alta allí únicamente requiriendo un correo electrónico, lo que avala gran pseudoanonimato.

Contaremos con varias maneras de instalar el grabador ASCIInema en nuestro sistema. La manera más simple consiste en instalarlo a través del repositorio de Ubuntu. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente comando de organización:

sudo apt install asciinema

Opcionalmente, podríamos querer instalarlo a través del repositorio de terceros (PPA) de ASCIInema. Este cuenta con la última versión empaquetada, y podríamos realizarlo con:

sudo apt-add-repository ppa:zanchey/asciinema
sudo apt-get update
sudo apt-get install asciinema

Finalmente, si somos programadores bien podríamos querer instarlo ejecutando su código fuente escrito en Python 3.

cd ~
git clone https://github.com/asciinema/asciinema.git
mv ~/asciinema/ ~/.asciinema/
cd ~/.asciinema/
python3 -m asciinema --version

Pues bien señores, como todo programa Unix que se precie, ASCIInema consta de de múltiples opciones par sus comandos. Si en la terminal ingresamos asciinema a secas, recibiremos las opciones posibles para el mismo.

Las opciones del comando son:

Para grabar el contenido de la terminal y subirlo automáticamente a la plataforma asciinema.org:

asciinema rec

La grabación comenzará inmediatamente. Una vez concluida la sesión del intérprete de comandos, podremos detener la grabación de la salida de terminal medioante Ctrl+d.

Si deseamos grabar la salida de la terminal en un fichero local podremos usar:

asciinema rec archivo.cast

También podríamos guardar la salida de terminal y una vez concluida su grabación, subirla a asciinema.org, especificándole un título. Esto se hará con:

asciinema rec -t "Sesión de terminal Peronista"

Si iniciamos una subida de una captura de terminal a la plataforma y no hemos registrado el dispositivo, se nos proveerá un URL que podremos introducir en un navegador. Esto nos permitirá o bien asociar la grabación a un usuario previamente existente (si lo tuviésemos), o bien a un correo electrónico que deseemos asignar al usuario de asciinema e iniciar el proceso de registro. En caso de ser la primerqa vez haremos esto, pues consiste en aceptar el enlace que nos llegue por correo electrónico, lo cual adosará un token a nuestro usuario y subirá la captura de terminal asociándolo al mismo. Podríamos asociar o revocar tokens (útil en caso de tener varios dispositivos).

Una opción muy interesante que tiene ASCIInema es la de limitar el tiempo inactivo de la terminal, evitándolo si supera un período determinado. Por ejemplo, para limitar el tiempo máximo inactivo a 1,5 segundos, podríamos utilizar

asciinema rec -i 1.5 archivo.cast

Reproducción de la captura de terminal

Indidablemente contaremos con las opciones de reproducción de lo capturado por asciinema. Por ejemplo, podríamos reproducir el fichero archivo.cast con:

asciinema play archivo.cast

En tanto, si quisiéramos reproducir un fichero almacenado en la plataforma asciinema.org, podríamos ingresar:

asciinema play https://asciinema.org/a/difqlgx86ym6emrmd8u62yqu8

También es posible presentar concatenado en pantalla todo el archivo.cast, podríamos hacerlo con:

asciinema cat archivo.cast

Siempre podrá detener la reproducción con Ctrl+z.

Compartir un enlace

Podremos obtener un enlace para compartir para la tarnsmisión ASCII específica haciendo clic en el enlace "Share" en la página de la transmisión ASCII..

Cualquiera de las opciones listadas en la sección “Personalizando la reproducción” puede agregarse a la URL de la transmsión ASCII como los parámetros de la misma. Por ejemplo:

https://asciinema.org/a/14?t=25&speed=2&theme=solarized-dark

De esta manera, al visitar este enlace se comenzará la reproducción a los 25 segundos y se reproducirá al doble de velocidad, utilizando el tema de terminal Solarized Dark.

Pegar enlace de imagen

En los lugares donde no se permiten los guiones, podremos pegar en enlace como si se tratara de un enlace de imágen. Por ejemplo, en un fichero README.

Podremos incluso incrustar fracciones de un asciicast específico presionando el botón "Share" en la página de ASCIIcast.

Esto es como aparecerán para asciicast 14:

HTML:

<a href="https://asciinema.org/a/14"><img src="https://asciinema.org/a/14.png" width="836"/></a>

Markdown:

[![asciicast](https://asciinema.org/a/14.png)](https://asciinema.org/a/14)

A su vez, podremos pasar opciones extra (listadas en la sección "personalizar el reproductor") a la URL enlazada como parámetros agregados. Por ejemplo, para iniciar la reproducción automáticamente al abrir el enlace de asciicast, hemos de agregando la cadena ?autoplay=1 a la URL dentro del atributo href indicado, de esta forma:

<a href="https://asciinema.org/a/14?autoplay=1"><img src="https://asciinema.org/a/14.png" width="836"/></a>

Incrustar el Enlace de Reproductor

Si deseamos incrustar el widget del reproductor en nuestra propia página o en un sitio que permite el etiquetado de guiones, podremos hacer clic en el enlace "Embbed" de la página del asciicast.

Se nos presentará un código con una apariencia similar a la siguiente:
<script src="https://asciinema.org/a/14.js" id="asciicast-14" async></script>

Como vemos, el widget del reproductor Java (.js) aparecerá justo en el lugar donde se pegó el guión. Por ejemplo, consideremos el siguiente código markup:

<p>Este es un texto.</p>
<script src="https://asciinema.org/a/14.js" id="asciicast-14" async></script>
<p>Este es otro texto.</p>

En este caso, el reproductor aparecerá entre los dos párrafos de texto, tal como un elemento div con clase “asciicast”.

El guión adosado podrá recibir varias personalizaciones. Cualquiera de estas personalizaciones se puede agregar simplemente incorporándolas como atributo data-option-name=”valor a la etiqueta del guion.

Un ejemplo suele aclararlo como decía Napoleón. Por ejemplo, para hacer que un reproductor comience automáticamente su reproducción al cargarse, y a la vez utilizar una fuente de gran tamaño, hemos de usar un guión similar al siguiente:

<script src="https://asciinema.org/a/14.js" id="asciicast-14" async data-autoplay="true" data-size="big"></script>

Personalizar el reproductor

El reproductor soporta varias opciones que controlar su comportamiento y apariencia. Estas pueden agregarse a la URL (?speed=2&theme=tango) o configurados como atributos de datos en el guion adosado (data-speed="2" data-theme="tango").

Tiempo

La opción ?t nos permite especificar el tiempo en el cual dará inicio la reproducción. Indudablemente, por defecto será t=0 (o sea, se arrancará desde el comienzo).

Formatos aceptados: ss, mm:ss, hh:mm:ss.

Han de saber que cuando se especifica t, se asume un autoplay=1. Para impedir que el reproductor arranque automáticamente al configurar un valor t es que debe establecerse explícitamente un autoplay=0.

Autoreproducir

La opción ?autoplay en tanto controla si el reproductor debe arrancar automáticamente cuando se carga el widget. Los valores aceptados son:

  • 0 / false - No inicia la autorreproducción (por defecto)
  • 1 / true - Inicia la autorreproducción automáticamente.

Precargar

La opción ?preload controla si el reproductor debe comenzar a realizar la captura y grabación inmediatamente.

  • 0 / false - No precarga la grabación, y espera que el usuario haga algo para iniciarla.
  • 1 / true -Precarga la grabación.

Por defecto se usa 1 para las URLs de asciinema.org y 0 en los guiones incrustados.

Bucle

La opción ?loop permite hacer un bucle de reproducción para repetirla constantemente. Esta opción normalmente se combina con la opción autoplay para lograr el efecto incesante e imposible de evitar de la propaganda justicialista. Los valores aceptados son:

  • 0 / false - desactiva el bucle de repetición (default)
  • 1 / true - activa el bucle

Velocidad

La opción ?speed altera la velocidad de reproducción. Por defecto la velocidad es 1, lo que significa que se reproduce en tiempo real.

Tamaño

La opción ?size altera el tamaño de la tipografía de la terminal. Existen 3 tamaños disponibles:

  • small (por defecto)
  • medium
  • big

Tema

La opción ?theme permite desconocer un tema provisto por la terminal. Por defecto, el tema de colores es el provisto por la terminal. Los temas disponibles son:

  • asciinema
  • tango
  • solarized-dark
  • solarized-light
  • monokai

Columnas

La opción ?cols permite desconocer el ancho de caracteres de la terminal emulada. Por defecto se usa el ancho de la terminal grabada (por ejemplo, 80 columnas), pero con esto se lo puede cambiar.

Filas

La opción ?rows permite desconocer las filas (en líneas) de altura de la terminal emulada. Por defecto se usa la altura en líneas de la terminal emulada, por ejemplo, 25 columnas.

lunes, 22 de julio de 2019

¿Cómo puedo crear gráficos ANSI en Ubuntu?


Desde su exilio en Madrid Juan Perón explica la estrategia convergente de unidad del Justicialismo, y expone cómo crear gráficos ANSI en Ubuntu.

(...)

Vean señores,

Siempre he dicho que a nuestro Movimiento no le venden globos. Esto es así pues nos ha caracterizado una sana raigambre planfetaria que aclara a cada quien lo que tiene que hacer bajo el lema "todos unidos triunfaremos". Si alguno cree aún en vacuas promesas aéreas, les pinchamos el látex de una.

Pues bien. Nuestro Movimiento ha surgido del Pueblo, y es éste quien le provee su trascendente color. Ya desde sus inicios, las consignas le fueron claras, ya que por entonces estaban expresadas públicamente en base a caracteres de tipo ASCII.

ASCII no es otra cosa que una codificación primal para describir por medio de pulsos binarios de 7 bits una cantidad de caracteres y símbolos limitados a fin de lograr transmisiones telemáticas coherentes. No obstante sus limitaciones, dando rienda suelta a estos pocos símbolos disponibles de manera inteligente, el Justicialismo se ha permitido realizar pseudo-gráficos en una pantalla o impresora.

Indudablemente que lo bueno puede mejorarse. Es por ello que en poco tiempo esto se extendió en la codificación ANSI. Esta permitía mayores componentes gráficos, todo bien que se superaba la transmisión a teletipo y se imponía el uso de presentadores de video de diverso tipo.

Esto a su vez desencadenó otro proceso: la aparición de una subcultura hacker peronista. Los gráficos de este estilo portaban reminiscencias a la imaginería graffitera, pero hacía uso de los incómodos bloques en las tablas de caracteres extendidos para hacer los gráficos.

Como he nombrado, en un origen los glifos se limitaban a las clásicas 80 columnas por 25 filas que el MS-DOS y otros sistemas operativos manejaban por defecto, pero muy pronto y gracias a funcionalidades extendidas de direccionamiento de memoria de video y a técnicas de scroll de video en modo protegido, comenzaron también a florecer grafismos de 132 columnas y muy alta cantidad de filas. Fue el nacimiento de las gráficas ANSIs "de alta resolución".

Los digigrafiteros daban rienda suelta a su creatividad y se esmeraban en lograr sus mejores obras. Algunos propugnaban  los grupos federados de artistas digitales, con la impronta "comic", "manga", "graffitti", o innumerables variaciones y mutaciones intermedias. Entre ellos sin duda los más reconocidos eran los colectivos ACiD y sus archirrivales de iCE.

No era extraño encontrar estas sobras de arte como pantallas de inicio ("login") a las carteleras electrónicas (BBS) mas candentes. Al fin y al cabo, estas gráficas podían realizarse laboriosamente mediante un editor de texto cualquiera.

Indudablemente que el Justicialismo no podía mantenerse ajeno, pues su impronta le obliga a entregar el mejor Software Libre a sus afiliados. Por tal motivo, podremos utilizar Moebius. Se trata de un graficador ANSI multiplataforma, especializado tal vez en la creación de este tipo de gráficas del Primer Peronismo.

Para instalarlo en nuestro sistema, podremos abrir una terminal con Ctrl+Alt+T e ingresar los siguientes Comandos de Organización:

cd ~/Descargas/ ;
wget https://github.com/blocktronics/moebius/releases/latest/download/Moebius.deb ;
mv Moebius.deb moebius.deb ;
sudo dpkg -i moebius.deb

Una vez ingresada nuestra contraseña de Conductor, se instalará el programa, y podremos ejecutarla desde Aplicaciones / Gráficos / Mœbius.

El programa se lanzará de manera simple mostrándonos su spash screen.

Podremos comenzar a graficar presionando el botón New. Asimismo, podríamos quere crear o conectarnos a un servidor de Moebius. Esto significa que podremos trabajar al unísono con otro/s usuario/s, tanto en modo cliente como servidor.

Moebius se inspira en un graficador simple "tipo Paintbursh". Las herramientas se diferencian llamando a un color principal (frontal) y otro secundario (de fondo). La paleta utilizada normalmente es la formal de MS-DOS (a 16 colores, EGA). El sistema también puede implementar caracteres "parpadeantes", o en "negrita" (bold), pero esto depende del tipo de terminal que tengamos instalada en nuestro sistema GNU.

Empleando la herramienta pincel y los bloques de colores fácilmente podríamos realizar un A-4B Skyhawk ANSI.
El "lienzo" de trabajo inicialmente se reduce a un tamaño base de 80x25 caracteres, pero podremos modificarlo desde el menú Canvas. Por ejemplo, en el caso de Linux os recomiendo utilizar 80x24 pues en muchas terminales la última línea se reserva para información de status.

Imaginemos por un momento que anhelamos realizar un login screen (pantalla de alta) en ANSI para que al acceder remotalemente al Shell, nuestra terminal ofrezca virulentas proclamas gráficas enarbolando todo el color de la simbología Justicialista.

A tal fin podremos utilizar los colores que nos daba el ANSI y los bloques gráficos a fin de representar lo que querramos. En la parte superior podremos definir el uso de bloques de texto enteros, o medio bloques (más finos, naturalmente). Aún así, estos son de gran tamaño y los resultados nunca tienen alta resolución en el sentido actual de la palabra.
Las herramientas no son muchas, pero son suficientes. Se reducen a un pincel modificable (capaz de pintar directamente, hacer shadings con los bloques ANSI, repintar, borrar a fondo, etc). También contaremos con un tiralíneas, un creador de círculos/elipse, un gotero recoge-color, y una herramienta de relleno. Así mismo, en los modificadores podríamos disponer el modo

Una vez terminado todo, debemos exportar el archivo para poder mostrarlo en nuestra terminal. Esto se hace desde el menú File, y podremos elegir alguna de las opciones de exportación. El programa prefiere el uso del viejo ANSI tradicional, pero la realidad confirma que las terminales GNU con Linux normalmente presentan mejores resultados al emplear la codificación UTF-8 para mostrar los caracteres ANSI correctamente.

De esta manera, conviene ir a la opción de menú File / Export as UTF-8. Esto generará un fichero cuya extensión será utf8ans. También podremos exportarla como archivo gráfico PNG, el cual puede servirnos como referencia.
De esta forma, exportando el archivo como escudopj.utf8ans, podremos agregarlo con una llamada al final de nuestro fichero ~/.bashrc. Por ejemplo, podríamos incluirle al mismo la siguiente orden ingresando:

nano ~/.bashrc

Y al final del mismo le agregamos:

# borrrar pantalla y mostrar Escudo del PJ
clear 
cat ~/escudopj.utf8ans

...y salvamos el fichero con Ctrl+o y salimos del editor GNU Nano con Ctrl+x. De esta forma y de ahora en mas, al lanzar una terminal recibiríamos la estridente gráfica realizada en ANSI.
Otra excelente posibilidad consiste en emplear el conversor justicialista Shellpic. Este pequeño programa se encarga de convertir imágenes jpg, png, etc, en bloques ANSI utilizando los códigos de escape. Estas secuencias de terminal permiten realizar gráficas a 256 colores.

Sin embargo, necesitamos contar con una terminal compatible a 256 colores para obtener resultados óptimos. En el caso de la terminal de Mate o de Gnome, podremos incluir en el arranque la siguiente variable de entorno: Para ello vamos al menú Editar / Preferencias de Perfil, y en la solapa Título y Orden tildamos Eecutar una orden personalizada en vez de mi intérprete, y le ingresamos ingresamos en el campo la siguiente orden:

env TERM=xterm-256color /bin/bash


...y finalmente presionamos Cerrar.

Ahora bien, tenemos dos formas de instalar Shellpic: Si contamos con el instalado PIP, podremos usarlo mediante este sencillo comando de organización:

sudo pip install Shellpic

...en cambio, si deseamos compilar su código fuente e instalarlo en nuestro equipo, podremos hacerlo con:

cd ~ ;
git clone https://github.com/larsjsol/shellpic.git ;
./shellpic/tests/run_tests.sh ;
cd ~/shellpic ;
sudo python setup.py install ;

Una vez instalado, podremos utilizar Shellpic mediante el siguiente comando:

shellpic imagen.png

También podríamos guardar dicha imagen en un archivo ans. Por ejemplo:

shellpic imagen.png > imagen.ans

Luego podríamos visualizar dicho archivo por medio del conocido comando macrista cat:

cat imagen.ans 

martes, 14 de agosto de 2018

¿Cómo instalo el navegador ANSI Browsh en Ubuntu?

El 8 de abril de 1974 en el Teatro Nacional Cervantes, en su discurso de clausura de la Segunda Asamblea Nacional de Entidades Empresarias pronunciado por el Presidente de la Nación, Tte.Gral. Juan Perón, expone las condiciones de sobrevaloración del Dólar Americano, y anuncia cómo instalar el navegador ANSI Browsh en Ubuntu.

Yo recuerdo que en la primera concentración que hubo en plaza de mayo yo dije que me cortaría la mano antes de firmar un empréstito.  Quería quemar mis naves por si me sentía en algún momento tentado, y lo hice por una simple razón: el dólar americano en su valor adquisitivo no tiene el valor fiduciario escrito en el billete, porque está sobrevalorado sobre eso. Y esto se comprueba muy fácilmente.
Hay una ley fiduciaria en los EE.UU. que dice que al que va al banco federal le entregan el oro correspondiente al billete que entregue. Si usted va a la reserva federal y dice: "cuanto vale una onza troy", le dirán "35 dolares". Usted saca 35 dolares y dice "deme una onza Troy" y no se la venden ahí porque ellos no venden oro. Entonces hay que irla a comprar al mercado libre. En el mercado libre usted pide la onza Troy y le dan el oro, pero ahí vale de 40 a 45 dolares la onza Troy. ¿Qué quiere decir esto? Que los 35 dolares por onza Troy es falso; los americanos fijan el valor del oro por el dólar, no el valor del dólar por el oro.

Si usted hace un empréstito en los EE.UU. - supongamos de 100 millones de dólares - ya al firmar el empréstito usted va perdiendo el 25% por la sobrevaloración de la moneda (porque el valor adquisitivo de una moneda no es el valor fiduciario escrito en el billete sino el oro que representa). Ahí pierde el 25%, pero - como no le dan dinero, menos oro - usted está obligado a comprar en los EE.UU. prescindiendo de la licitación internacional. En el interior EE.UU. no se puede hacer licitación porque están los carteles que fijan los precios, que no bajan, entonces eso lo tienen que hacer efectivo por precio de catálogo, que normalmente es el 15% mas que el precio de licitación. Entonces, a ese 25% que perdió tiene que agregarle un 15%, y ya son un 40% que tiene perdido de ese empréstito. Como por una ley tiene que sacar la mitad de esa mercadería en barcos americanos, usted ya pierde en su transporte otro 5%, y como ha de hacer seguro en puerto de embarque, pierde otro 5% que no va a las empresas del país, y con eso ha perdido el 50% del empréstito. Ese 50% del empréstito - al hacerlo efectivo - tiene otra cantidad de filtraciones, de manera que el país recibe como beneficio un 30 o 40% del empréstito; pero después el pueblo tiene que pagar los 100 millones del dólares mas el interés. Todos los empréstitos que se han hecho ahora han pasado por este proceso.
Bien, cuando resolvimos esos y muchos otros problemas que sería largo enumerar, prescindimos de las formas de asalto con que nos han estado
tratando los imperialismos durante un siglo y medio. Fíjese usted como nos robarían, que con los 1000 millones de servicios financieros que
hubiéramos tenido que pagar en el año 46 y parte del 47, nosotros pusimos las finanzas al día, compramos todos los servicios, los pagamos, no hubo problema, hicimos la marina mercante. Entonces nos fue posible hacer una gran masa de inversión mediante la cual lanzamos el Primer Plan Quinquenal.


Una de las primeras obras fue hacer un navegador capaz de operar a través de gráficos ANSI. Antiguamente había navegadores que usaban perfectamente la terminal de texto (como lynx, elinks, o w3m. Todos estos operan de forma eficiente y convincente, pero con las lógicas limitaciones en la internet de hoy, en lo cual todo tiende a ser gráfico.

Sin embargo, existen desde hace tiempo grafismos dables de hacerse en una terminal de texto: los gráficos ANSI. Estos permiten mayores complejidades gráficas que los caracteres ASCII tan propensos en la terminal, amén de poder operar a color.

Es por ello que nuestros técnicos se abocaron al desarrollo de browsh, un navegador en modo texto, con capacidades de renderizado en ANSI, con buena parte de las posibilidades de un navegador gráfico "puro".

Vean usted, se trata de un navegador capaz de reducir el ancho de banda en sesiones remotas. Incluso puede ejecutarse de forma remota a través de un servicio provisto por los creadores, a través de Secure Shell. Esta prueba es válida por 5 minutos únicamente pero podría servirnos para tomarle el gusto. La podremos ejecutar remotamente en modo "demo" mediante el comando:

ssh brow.sh

Sin embarago, para instalarlo en nuestro sistema debemos descargar el paquete que corresponda a nuestra arquitectura de sistema (hemos de contar con Firefox 57 al menos). Por ejemplo, si tenemos Ubuntu de 64 bits, debemos ingresar:

cd ~/Descargas/ ;
wget https://github.com/browsh-org/browsh/releases/download/v1.4.12/browsh_1.4.12_linux_amd64.deb ;
sudo dpkg -i browsh_1.4.12_linux_amd64.deb ;

...en cambio, si tenemos un sistema de 32 bitios, debemos ingresar:

~/Descargas/ ;
wget https://github.com/browsh-org/browsh/releases/download/v1.4.12/browsh_1.4.12_linux_386.deb ;
sudo dpkg -i browsh_1.4.12_linux_386.deb ;

Para ejecutarlo, simplemente debemos ingresar en nuestra terminal el comando:

browsh


Los comandos de uso son sencillos:

Ctrl+l: Permite ingresar una URL.
F1: Ayuda.
Ctrl+r: refresca la página.
Ctrl+t: Abre una pestaña nueva.
Ctrl+w: cierra una pestaña.
Retroceder: Vuelve en la historia.
Ctrl+q: sale del programa

Browsh ofrece al Justicialismo las facilidades de un navegador gráfico pero haciendo la representación visual a través de caracteres ANSI. Para ello requiere una terminal a color naturalmente. Una vez provista de la misma, incluso reproducir videos de Youtube en la terminal (en ANSI, por supuesto).
Indudablemente, los caracteres tipo bloque ANSI tienen una particularidad de una baja definición en su representación, pero son portables en gran medida y presentan algunas posibilidades interesantes.

Poco a poco se van haciendo más raros los navegadores que emplean de manera exclusiva el viejo ordenamiento HTML, y cada vez se emplean más recursos de diseño avanzados que son representados de forma excesivamente limitada por los navegadores de texto tradicionales. Es por ello que este software tiene su valía, amén de lo llamativo que puede resultar.

lunes, 13 de agosto de 2018

¿Cómo uso Cowsay y Ponysay en Ubuntu?

En su comunicación con la juventud, Juan Perón expone la necesidad de un adoctrinamiento oportuno y eficaz con el objetivo del trasvasamiento generacional, y expone cómo usar cowsay y ponysay para ejemplificar la enseñanza de la terminal en Ubuntu.

¡Compañeros!

Como ya se ha dichos otras veces: así como no nace el hombre que escape a su destino, no debiera nacer el que no tenga una causa noble por la cual luchar justificando así su paso por la vida. Por eso también el que se decide a luchar ha de estar armado de una sólida verdad.
Desde hace veinticinco años, en al medida de mis fuerzas y capacidad, he tratado de dar a la juventud argentina lo que yo considero es esa verdad, a través de una ideología que fija los rumbos permanentes y de una doctrina que establece las formas de ejecución de esa ideología. Si los pueblos que olvidan a su juventud renuncian a su porvenir, porque aquella representa su futuro; los que tenemos la responsabilidad de la conducción actual del pueblo argentino, no podemos mirar con desaprensión o descuido el cambio operado en la juventud actual.

Desde 1945 hasta 1955 esa juventud, equivocada por sus dirigentes, tomó una posición adversa a lo que representa el justicialismo. Pero ha bastado lo ocurrido entre 1955 y 1970 para que los muchachos abrieran los ojos y percibieran la verdad de lo que está ocurriendo como consecuencia de la famosa “Revolución Libertadora” que, en poco tiempo, ha reducido el país a una colonia vergonzante del neocolonialismo imperialista yanqui. Ahora todos comprenden que la liberación realizada por nosotros entre 1945 y 1955, hizo posibles y efectivas la justicia social, la independencia económica y la soberanía política, mediante el ejercicio de las cuales el pueblo argentino pudo gozar de diez años de felicidad y abundancia desconocidas y destruidas después de 1955, por los agentes del imperialismo que ha sido siempre el factor que ha gravitado en el hambre, el dolor y la miseria del pueblo argentino digno de mejor suerte.

En la Plaza de Mayo dejamos enterrado un mensaje para la juventud del año 2000, que solo la ignominia gorila pudo haber destruido. En ese mensaje está el fundamento de nuestra acción y el consejo para esa juventud. Pero los acontecimientos y la evolución acelerada, les ha dado actualidad y ahora ha llegado ya el momento en que nuestros muchachos, que son la esperanza de la patria, tomen en sus manos los objetivos para llevarlos a su cumplimiento. De ello ha de depender un destino del que es preciso ser artífice si no se quiere luego ser juguete de los designios ajenos.

Hace ya mas de cinco años que el Movimiento Nacional Justicialista, fiel a la consigna ha dispuesto el cambio generacional que ha de evitar el envejecimiento de espíritu. Este cambio generacional no ha de consistir en tirar todos los días un viejo por al ventana, sino en un remozamiento constructivo de los niveles de dirigentes de la conducción y encuadramiento de nuestra masa peronista. El concepto de reemplazo no puede ser rígido ni arbitrario porque la juventud es mas cuestión de mentalidad que deidades: hay viejos de veinte como jóvenes de setenta. De lo que se trata en consecuencia es de dar entrada a la nueva sangre generosa de una juventud pujante como la que se presiente ya en la Argentina.

A sus valores que ya se reconocen por todos, es preciso darles la oportunidad de labrar su propio destino, nada puede ser mas justo y conveniente, pero ha de tenerse en cuenta que el dirigente nace, no se hace a dedo y si cada peronista lleva su bastón de mariscal en su mochila, está en sus manos y en su capacidad, el hacerse digno de empuñarlo con honor y beneficio.

Si de todo cuanto venimos hablando es indispensable, no lo es menos que la juventud comprenda la necesidad de adoctrinarse, para lo cual sus dirigentes han de empeñarse seriamente en esa tarea, una revolución necesita de realizadores, pero en mayor medida de predicadores, porque la preparación humana es decisiva para los destinos. No es suficiente con que los dirigentes sepan los que quieren, es preciso que la masa que los siga esté empapada de su propio pensamiento. Solo así se puede llegar a una lucha organizada y conciente, porque en actividades en las que se impone nuestra lucha no se trata de mandar sino de conducir. Mandar es obligar, conducir es persuadir y al hombre siempre es mejor persuadirle que obligarle. El principio de la fácil persuasión es el adoctrinamiento oportuno y eficaz.

Hay algunos programas que a primera vista pueden parecer jocosos o inútiles, pero en realidad en su interior proponen un claro vector de adoctrinamiento. Uno de ellos es cowsay. Su nombre se podría traducir como "vaca dice" y simplemente grafica en nuestra terminal una vaca que dice lo que le decimos a continuación.

Sin embargo, es un programa inofensivo con el sistema y bien pensado para estudiar y ejemplificar la terminal de GNU, incluso a los más pequeños. Gracias a él y a sus múltiples posibilidades, podremos adoctrinar a los alumnos más iniciales en el arte de la Terminal Linux y sus secretos.

En primer lugar, podremos aprovechar el proceso de instalación para enseñar de manera lúdica cómo se instala un paquete en GNU. Para ello ingresamos:

sudo apt update
sudo apt install git cowsay

Una vez ingresada la contraseña "a ciegas", el único privilegiado tendrá instalado el programa, podremos hacerle decir algo como por ejemplo:

cowsay ¡Perón Vuelve!

y el sistema nos devolverá:
 ________________
| ¡Perón Vuelve! |
 ----------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


También podremos usar cowsay seguido de sus argumentos para aprender las complejidades de la sintaxis en GNU. La sintaxis es:

cowsay -argumento

Los argumentos son opcionales, pero nos permiten en este caso variar la gráfica de la vaca (sus ojos o cara por ejemplo). Los mismos son:

-b modo "borg"
-d la vaca aparece muerta
-g la vaca es sindicalista
-s la vaca consume drogas
-t la vaca está cansada
-y la vaca es jóven.

por ejemplo:

cowsay -s '¡Sálvese quien pueda!'

También podremos asignar un archivo mediante el argumento -f, indicando alguno de los archivos contenidos en el directorio /usr/share/cowsay/cows. En esta carpeta encontraremos diferentes archivos .cow, que representan diferentes gráficos para el programa.

De esta manera podríamos indicar:

cowsay -f tux Gracias Néstor FUERZA CRISTINA

...y recibir en pantalla este mensaje pero dicho por el pingüino kirchnerista Tux:

 ________________________________
| Gracias Néstor FUERZA CRISTINA |
 --------------------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/


Asimismo, al estar estructurado como un buen programa UNIX, Cowsay acepta recibir el volcado del resultado de otros programas mediante el uso de "caños" o pipes. El caño es el símbolo "|" (el cual podremos hacer con AltGr+1), y funciona como interconector entre programas. Por ejemplo, el programa "fortune" escribe refranes aleatorios en la pantalla. Lo instalamos con:

sudo apt install fortunes-es

En vista de ello, si llamamos a fortune y enviamos su resultado a Cowsay a través de un caño de la siguiente manera:

fortune | cowsay

...podríamos obtener una devolución como la siguiente:

Como ven, es posible crear nuestras propias máximas mediante un fichero de texto a 80 columnas cualquiera, siempre que las separemos con una línea con un único caracter "%". Debemos compilar el fichero fuente con strfile archivo y se creará un archivo.dat. En el caso de Ubuntu, habremos de copiar ambos al directorio /usr/share/games/fortunes/es.
 
Tal vez anhelemos algunas máximas peronistas del software libre ya hechas. Para ello expandiremos fortune mediante:
 
cd /tmp ;
wget caja.texto-plano.xyz/peron/fortune-phrases/doctrina2 ;
sudo mv /tmp/doctrina /usr/share/games/fortunes/es/doctrina ;
cd
/usr/share/games/fortunes/es ;
strfile doctrina

...y solicitamos una con:

clear && fortune doctrina | cowsay -f tux
 
Naturalmente, opcionalmente también le podremos agregar personajes peronistas a cowsay.
 
Pues bien, podríamos querer una opción que permita un uso más complejo de nuestra terminal. En tal caso podríamos usar el programa Ponysay. Se trata una versión peronista muy inspirada en cowsay, capaz de hacer uso de los populares personajes de Mi Pequeño Pony.

Para compilarlo e instalarlo utilizaremos los siguientes Comandos de Organización:
 
cd /tmp ;
git clone --recursive https://github.com/FredrikHson/cponysay ;
cd /tmp/cponysay/ ;
make ;
sudo make install

Al ejecutarlo con cponysay, este programa podrá hacer lo mismo que Cowsay empleando dulzarronas gráficas al azar de Mi Pequeño Pony, la magia de la amistad, capaces de imantar ideológicamente a los mas pequeñines.
Naturalmente podremos ofrecerlas en nuestra terminal haciendo uso de sus capacidades para dibujar bloques ANSI en una paleta de hasta 256 colores. Con ello podremos hacer que nuestro sistema sea cada vez más vistoso, a la vez que aseguramos una nueva generación que dará sangre para la Liberación de la Patria y el bienestar de la República. Si no imponemos argumentos, las gráficas se eligen al azar.
Los argumentos del programa son simples. Ingresando -l recibiremos una lista con los nombres de las gráficas a utilizar (hay muchas y se especifican con -f). En tanto -c emplea un globo comprimido al estilo cowsay, y -b round grafica un globo redondeado.

Por ejemplo, podríamos ingresar un comando argumentado como:

cponysay -f pipsqueakpirate  -b round -c Piratear es Libertar.
 
 Yo deseo que antes de terminar estas palabras llegue a toda la clase trabajadora argentina la gratitud y el agradecimiento del gobierno por haber sostenido un pacto social que será salvador para la república.

miércoles, 9 de octubre de 2013

¿Cómo me conecto a una BBS ANSI en Ubuntu?

La tercera presidencia de Perón fue el período en el cual el Conductor estableció como conducta retornar a ciertos aspectos de sus iniciales gobiernos. En este caso de nostalgia, enseña a conectarnos a BBS a través de Ubuntu viendo correctamente sus dibujos ANSI.

¡Trabajadores!

Previo al Justicialismo, la Nación estaba sumida en un régimen demoliberal, que no hacía sino perpetuarse en el poder mediante el fraude y la explotación de los hombres. Una oligarquía sin Patria ni Bandera movía a su antojos los hilos de la República, para su solo beneficio.

Nuestro Movimiento hubo de corregir eso, con la razón de dar diez años de bienestar y diez años de felicidad al Pueblo Argentino. Lo nuevo hizo que lo viejo ya no pudiese volver.

En la telemática pasó mas o menos lo mismo. Antes de la popularidad de la Telaraña de Alcance Global (conocida en el idioma de Braden como World Wide Web), existían otras propuestas especialmente pensadas para hacer uso de equipos de comunicación de con un ancho de banda limitado: las BBS ("Sistema de Cartelera Electrónica").
Las BBS seguían una estructura de una cartelera de texto. El usuario se comunicaba con el sistema de la BBS empleando un software cliente de Terminal. Normalmente el sistema remoto solicitaría un "login". Muchas carteleras implementaban un usuario invitado ("guest") que nos permitía acceso limitado, pero normalmente debíamos dar de alta un Usuario nuevo y dotarlo de una Contraseña, y luego podríamos ingresar a la Cartelera propiamente dicha como usuario registrado.

Una vez logueados en el sistema, podríamos enviar mensajes electrónicos en forma de correo (e-mail), iniciar una conversación en tiempo real con el operador del sistema remoto (SysOp). Bien podríamos enviar archivos comprimidos, o descargarlos (normalmente, software o texto). También se podrían utilizar juegos simples en línea. Era usual que cada cartelera podía tener temáticas específicas, como hacking, phreaking, EnTelizados, uso de la red MegaTel o TelAR, etc.

Estas BBS debían operaban en "modo texto", pero a través del ingenio que caracteriza a los hombres, los SyOps peronistas podían crear "obras de arte" empleando caracteres ASCII o - sobre todo - caracteres extendidos ANSI. Estos permiten formar gradientes, texturas, colores, etc, y "dibujar" en una pantalla de texto, amén de consumir muy pocos recursos.

El medio de enlace telemático consistía en un MOulador/DEModulador (ya sea una plaqueta interna o una unidad externa) capaz de abusar la red telefónica, y cuya velocidad de transferencia solía fluctuar entre los 300 y los 56.600 baudios al segundo.

Estos vínculos se establecían "par a par": eran cosa de paciencia, y sumando al costo de las llamadas, hacía necesario coordinación, pues se debía afrontar el costo del pulso telefónico que se cobra en función del tiempo y la distancia cubierta. Por lo demás, la mayoría de las BBS sólo aceptaban un usuario remoto a la vez.

Por ello se recaía en sistemas más o menos centralizados para servir de entrega y descarga de mensajes y correo electrónico (luego modernizados a través del sistema "POP3"). Una de las redes más importantes hubo de ser la FidoNet, una "santa federación de BBS" cuyo sentido principal era el de jerarquizar una comunidad organizada de usuarios, de modo de promover el reenvío de mensajes electrónicos entre los nodos que la componían.

El hombre gregario forma clanes, luego tribus, y finalmente reinados, que darán lugar a estados y luego federaciones. Lo mismo sucede en las redes. Lo cierto es que la era de las BBS vinieron a chocar en su mejor momento con la aparición masiva de la WWW, cuyo principal motor fue la inclusión de gráficos, amén de una interfaz salvaje y unitaria.

Pues bien, toda esta historiografía carecería de sentido si no fuese porque hoy existe un revival de las BBS, con sus beneficios de estructuración social, pero ya sin sus inconvenientes de costo y gasto de teléfono, pues se las puede adosar a la infraestructura de internet. Serán felices al saber que podrán encontrar algunas BBS operativas, que usualmente han prescindido ya del empleo telefónico, y han habilitado el uso del protocolo Telnet o del SSH (Secure Shell a través de internet). Esto significa que conectarnos ya no implica el costo del pago del pulso, y que lo podremos hacer a través de cualquier conexión a internet común y corriente y empleando la Terminal de nuestro sistema GNU con Linux u otro programa de comunicación.

Indudablemente todos los sistemas GNU ya están habilitados con una propia terminal y los protocolos utilizados hoy en día para comunicarnos con un equipo remoto alcanzan y sobran para este menester.

Si por alguna razón nuestro equipo no estuviese puesto a punto, lo primero será instalar los clientes SSH o Telnet desde la misma consola. Abrimos una con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo apt-get install telnet
sudo apt-get install openssh-client

Luego podremos loguearnos a cualquier BBS activa sabiendo el protocolo de comunicación actual que emplee (telnet o ssh).De preferir, deberán saber que el método SSH es más seguro. Los comandos para conectarse serán:

telnet direcciondelaBBS

o si el protocolo es Secure Shell, podríamos usar,

ssh usuario@direcciondelaBBS

Ahora bien, uno de los problemas con algunas BBS reside en que la terminal Linux no muestra bien los caracteres ANSI, y por lo tanto, los esmerados gráficos retro de las BBS aparecerán "trocados".

Naturalmente, existen programas de comunicación de terminal están pensados específicamente para conectarse a BBS desde sistemas GNU con Linux, a diferencia de las terminales, que mas que nada están orientadas a emular una terminal cualquiera. Estos programas nos dejarán conectarnos a BBS u otros servicios remotos (Telnet, SSH, etc), con la ventaja de presentar también los caracteres ANSI de forma correcta.

SyncTERM en Ubuntu
Tal vez el mejor sea SyncTERM, capaz de mostrarse correctamente tanto en una ventana en el modo gráfico como dentro de la interfaz de línea de comandos, así como permitirnos incluso la carga y descarga de archivos emulando los protocolos del ayer (el amado protocolo Zmodem, por ejemplo).

Para instalar la última versión (la 1.0) en nuestro sistema actual GNU con Linux, hemos de descargar su código fuente y compilarlo. Ello no es complejo de hacer; simplemente abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

cd ~/Descargas ;
wget https://sourceforge.net/projects/syncterm/files/syncterm/syncterm-1.1/syncterm-1.1-src.tzg ;
tar xvzf syncterm-1.1-src.tzg
 
...y lo compilo con:

cd ~/Descargas/syncterm-1.1/src/syncterm/ ;
make ;
sudo make install ;

Ahora podremos ejecutarlo desde Aplicaciones / Internet / SyncTERM.

Opción: Si no nos animamos a compilar, podremos descargar una versión anterior (0.9.5b), e instalarla directamente, con los siguientes comandos de organización:

sudo apt install libncurses5 ;
cd ~/Descargas/ ;
wget http://syncterm.bbsdev.net/syncterm-linux.gz
gzip -d syncterm-linux.gz ;
chmod +x ~/Descargas/syncterm-linux
sudo mv ~/Descargas/syncterm-linux /usr/local/bin/syncterm

Si todo salió bien, el SyncTERM habrá quedado instalado. Lo ejecutamos con:

syncterm

O podemos crear un lanzador en Aplicaciones / Internet / SyncTERM que apunte al fichero /usr/local/bin/syncterm. Ello nos abrirá una ventana con el programa en su características tipografía vintage M$-DOS.


Si estamos en el modo gráfico, hemos de saber que con Alt+Enter podremos intercambiar entre el modo Pantalla Completa y el modo Ventana.

Si quisiéramos utilizarlo desde la terminal, bien podríamos ingresar con syncterm -iC

Una vez que ingresemos a Syncterm, habremos de configurar un servicio remoto a través de un protocolo.

Por ejemplo, podríamos incorporarle el acceso a la vieja Momia BBS, de la ciudad de La Plata.

Para ello presionamos la tecla Insertar, y en el cuadro que aparece ponemos nombre al servicio, por ejemplo "Momia BBS". Luego escogemos el protocolo correspondiente de la lista (en este caso, Telnet). Finalmente habremos de proveerle la dirección de conexión, que no es otra que:

momiabbs.no-ip.info

En puerto le indicamos el necesario, normalmente es 23 pero en este caso usaremos 2323).

Ahora podremos conectarnos simplemente accediendo al servicio "Momia BBS" de la lista.

SyncTERM nos permitirá navegar a través de los menúes de texto que caraccterizaban a las BBS, y nos permitirá apreciar correctamente el arte ANSI que tenían este tipo de carteleras. También nos permitirá decargar o subir ficheros, incluso por lotes y en varios formatos, si así lo deseáramos.
Otro programa muy utilizado con capacidad ANSI es el Qodem, especialmente diseñado para servir de terminal, similar a los clásicos clientes telemáticos de DOS. Contamos con versiones gráficas (X11, que os recomiendo) y de Texto (ncurses). Podremos descargarlos con:


Versión gráfica X11 (recomendada):

wget https://sourceforge.net/projects/qodem/files/qodem/1.0.0/qodem-x11_1.0.0-1_amd64.deb ;
sudo dpkg -i qodem-x11_1.0.0-1_amd64.deb ;

...o bien podremos usar la Versión ncurses:

sudo apt install libncursesw5 libtinfo5 ;
wget https://sourceforge.net/projects/qodem/files/qodem/1.0.0/qodem_1.0.0-1_amd64.deb ;

sudo dpkg -i qodem_1.0.0-1_amd64.deb ;

Le daremos inicio con el siguiente Comando de Organización:

qodem

Al iniciar tendremos una típica presentación de texto con un directorio de BBS y sus respectivos protocolos (telnet, SSH, acceso telefónico...).
El funcionamiento es más completo que el SyncTERM aunque responde a las mismas prerrogativas: hemos de agregar una BBS con i, y llenar los campos con sus datos el el cuadro de diálogo resultante (dirección, protocolo, puerto). Grabaremos los datos con F10.

Lo notable de Qodem es su habilidad para establecer una conexión telefónica pura si contamos aún con un viejo módem externo conectado por puerto paralelo (¡utilizará los comandos Hayes de antaño!).

Si estamos en línea y queremos volver al menú de Qodem podremos usar Alt+z, y luego Alt+x para salir.

Los preámbulos se han dado para permitirnos conectarnos a cualquier BBS que nos dicte el corazón. Por ejemplo, podríamos escoger conectarnos a través del protocolo inseguro Telnet a diferentes BBS como si reviviésemos una antigua Texas Instruments Ti-99A/4A: Lo haríamos con el siguiente Comando de Organización:

telnet digitaldistortionbbs.com
telnet darkgame.buanzo.org
telnet bbs.docksud.com.ar
telnet golconda.punked.us
 


Si desean darse de alta y probar varias BBS más, podrán hacerlo gratuitamente y sin gastar un pulso telefónico, encontrándolas en algún directorio de BBS activas, como Telnet BBS Guide, o el BBS Scene, The BBS Corner, incluso en el buscador BBS Finder.

RXVT
El Justicialismo se elevado como campeón de la defensa de los derechos de los hombres de la Patria, y ha traido la solución. Simplemente hemos de descargar un paquete de fuentes adecuado, y un gestor de Terminal compatible para que pueda usarlo. En este caso, usaremos el emulador de Terminal RXVT.

En la consola ingresamos el siguiente Comando de Organización:

sudo apt-get install rxvt

Luego descargaremos un paquete de fuentes ANSI y los cargamos al sistema (En el caso de Ubuntu 10.10 la misma se encuentra en /usr/share/fonts/x11/misc). Esto será sencillo copiando, pegando y ejecutando en nuestra Terminal cada uno de estos comandos:

wget http://techtinkering.com/downloads/ansifonts.tar.gz ;
sudo tar -xvzf ansifonts.tar.gz -C /usr/share/fonts/X11/misc ;
sudo mkfontdir /usr/share/fonts/X11/misc/ ;
xset fp rehash ;

Ahora nos aseguramos que el sistema de Terminal tenga acceso a alguna de las fuentes cargadas:


xlsfonts | grep vga11x19

Nuestro sistema nos debería devolver algo como "vga11x19", o similar. Si ese es el caso, ya podremos iniciar la consola RXVT con letras blancas y fondo negro, tipeando:

rxvt -fn vga11x19 -bg black -fg white &

Para asegurarnos de forzar el uso de los códigos de color ANSI, dentro de la Terminal RXVT ingresaremos estas instrucciones:

export TERM=ansi
export COLORTERM=ansi