¿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
Indudablemente 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:
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:
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 "Incrustado" de la página del asciicast.
Se nos presentará un código con una apariencia similar a la siguiente:
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:
Este es un texto.
Este es otro texto.
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: 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 guión adosado (data-speed="2" data-theme="tango"). t 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 cols 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. rows 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.