*El autor seleccionó la Electronic Frontier Foundation para recibir una donación como parte del programa Write for DOnations.*

Introducción

Terminalizer es una aplicación de grabación de terminales que le permite grabar su sesión de terminal en tiempo real y reproducirla en una fecha posterior. Funciona de la misma manera que una grabadora de pantalla de escritorio, pero se ejecuta en su terminal.

Grabar su sesión de terminal es útil para volver a revisar una actividad determinada o para ayudar a depurar un error particularmente difícil. Las grabaciones realizadas con Terminalizer también pueden exportarse como GIF animados, que son muy útiles para compartir en línea o añadir material de marketing para su software.

A través de este tutorial, instalará Terminalizer, lo usará para grabar y reproducir sesiones de terminales, personalizará sus grabaciones y, luego, las exportará para compartirlas en línea.

Requisitos previos

terminal illustration for: Requisitos previos

Para completar este tutorial, necesitará lo siguiente:

Si desea compartir sus grabaciones en línea, también necesitará lo siguiente:

Una vez que tenga todo esto listo, inicie sesión en su servidor como usuario no root.

Paso 1: Instalar Terminalizer

En este paso, descargará e instalará Terminalizer en su sistema. Terminalizer está escrito con Node.js y se puede instalar con el administrador de paquetes npm.

Para instalar Terminalizer de forma global en su sistema, ejecute el siguiente comando:

				
					
sudo npm install --global --allow-root --unsafe-perm=true terminalizer

				
			

Terminalizer utiliza el marco de aplicación Electron para exportar sesiones de terminales grabadas en formato GIF. Para instalar Electron de forma global en su sistema es necesario el argumento de comando --unsafe-perms=true.

Una vez que Terminalizer esté instalado, verá un resultado similar al siguiente:

				
					
[secondary_label Output]

. . .

/usr/local/lib

└── terminalizer@<^>0.7.1<^>

				
			

A continuación, compruebe su instalación de Terminalizer ejecutando lo siguiente:

				
					
terminalizer --version

				
			

Con esto, se mostrará algo similar a lo siguiente:

				
					
[secondary_label Output]

<^>0.7.1<^>

				
			

Por último, genere un archivo de configuración de Terminalizer predeterminado, que puede usar para la personalización avanzada de Terminalizer (se explica de forma más detallada en el paso 4):

				
					
terminalizer init

				
			

Con esto, se mostrará un resultado similar al siguiente:

				
					
[secondary_label Output]

The global config directory is created at

/home/<^>user<^>/.terminalizer

				
			

Ahora que instaló Terminalizer, puede realizar su primera grabación de terminal.

Paso 2: Grabar y reproducir una sesión de terminal

En este paso, registrará y reproducirá una sesión de terminal.

Para comenzar, configure una nueva grabación de Terminalizer con el nombre que prefiera:

				
					
terminalizer record <^>your-recording<^>

				
			

Con esto, se mostrará lo siguiente para indicar que se inició la grabación:

				
					
[secondary_label Output]

The recording session has started

Press Ctrl+D to exit and save the recording

				
			

Ahora, puede proceder a hacer lo que desee en su terminal. Terminalizer grabará cada pulsación de tecla y comando en tiempo real.

Por ejemplo:

				
					
[environment second]

pwd

date

whoami

echo "Hello, world!"

				
			

Cuando desee detener la grabación, presione CTRL+D. Luego, Terminalizer guardará la grabación en el archivo especificado en formato YAML; por ejemplo, <^>your-recording<^>.yml.

				
					
[secondary_label Output]

Successfully Recorded

The recording data is saved into the file:

/home/&lt;^&gt;user&lt;^&gt;/&lt;^&gt;your-recording&lt;^&gt;.yml

				
			

Terminalizer le puede preguntar si desea compartir su grabación en línea. Por el momento, simplemente presione CTRL+C para cancelar, dado que puede reproducir la grabación de la terminal de forma local primero.

A continuación, reproduzca su sesión de terminal grabada con el siguiente comando:

				
					
terminalizer play &lt;^&gt;your-recording&lt;^&gt;

				
			

Con esto, se reproducirá la sesión grabada en tiempo real en su terminal:

				
					
[secondary_label Output]

[environment third]

user@droplet:~$ pwd

/home/user

user@droplet:~$ date

Sun Mar 8 14:55:36 UTC 2020

user@droplet:~$ whoami

user

user@droplet:~$ echo "Hello, world!"

Hello, world!

user@droplet:~$ logout

				
			

También puede ajustar la velocidad de reproducción de la grabación con la opción --speed-factor

Por ejemplo, lo siguiente reproducirá la grabación a una velocidad dos veces menor (velocidad media):

				
					
terminalizer play &lt;^&gt;your-recording&lt;^&gt; --speed-factor 2

				
			

De forma alternativa, puede reproducir su grabación dos veces más rápido (velocidad doble):

				
					
terminalizer play &lt;^&gt;your-recording&lt;^&gt; --speed-factor 0.5

				
			

Grabó y reprodujo una sesión de terminal. A continuación, puede compartir una sesión de terminal grabada en línea.

Paso 3: Compartir una sesión de terminal grabada

En este paso, compartirá su sesión de terminal grabada en la página Terminalizer Explore.

Comience seleccionando una sesión grabada que compartirá:

				
					
terminalizer share &lt;^&gt;your-recording&lt;^&gt;

				
			

Luego, se le solicitará proporcionar algunos metadatos básicos sobre su grabación, como el título y la descripción:

				
					
[secondary_label Output]

Please enter some details about your recording

? Title &lt;^&gt;Title of Your Recording&lt;^&gt;

? Description &lt;^&gt;Description of Your Recording&lt;^&gt;

? Tags such as git,bash,game &lt;^&gt;Comma-separated Tags for Your Recording&lt;^&gt;

				
			

[warning]

Advertencia: Las grabaciones de terminal se comparten de forma pública por defecto. Por lo tanto, asegúrese de no compartir datos de identificación personal o confidenciales.

Si es la primera vez que comparte una sesión grabada con Terminalizer, deberá vincular su cuenta de Terminalizer. Terminalizer mostrará un enlace de verificación, si es necesario:

				
					
[secondary_label Output]

Open the following link in your browser and login into your account

https://terminalizer.com/token?token=&lt;^&gt;your-token&lt;^&gt;



When you do it, press any key to continue

				
			

[warning]

Advertencia: Asegúrese de no revelar su token de Terminalizer, ya que permitirá acceder a su cuenta de Terminalizer a cualquiera que lo posea.

Una vez que visite la dirección del enlace en su navegador web e inicie sesión en su cuenta de Terminalizer, presione cualquier tecla para continuar.

A continuación, Terminalizer cargará su grabación y le proporcionará un enlace para verla:

				
					
[secondary_label Output]

Successfully Uploaded

The recording is available on the link:

https://terminalizer.com/view/&lt;^&gt;your-recording-id&lt;^&gt;

				
			

Podrá ver su grabación compartida visitando la dirección del enlace en un navegador web de escritorio:

Compartió una sesión de terminal grabada en el sitio web de Terminalizer y la visualizó en su navegador web.

Paso 4: Ajustar la configuración avanzada de Terminalizer

Ahora que está más familiarizado con Terminalizer, puede comenzar a revisar algunas de las opciones de personalización más avanzadas, como la capacidad de ajustar los colores de visualización y el estilo.

Cada grabación hereda la configuración predeterminada del archivo de configuración global de Terminalizer, que se encuentra en ~/.terminalizer/config.yml. Esto significa que puede editar la configuración para realizar grabaciones individuales directamente editando el archivo de grabación (p. ej., <^>your-recording<^>.yml). De forma alternativa, puede editar la configuración global, lo que tendrá efecto en todas las grabaciones nuevas.

En este ejemplo, editará el archivo de configuración global, pero lo mismo se aplica a los archivos de configuración de grabaciones individuales.

Comience por abrir el archivo de configuración global de Terminalizer en un editor de texto, como nano:

				
					
nano ~/.terminalizer/config.yml

				
			

Se agregan comentarios a cada una de las opciones de configuración disponibles del archivo para explicar lo que hacen.

Hay varias opciones de configuración comunes que tal vez desee ajustar a gusto:

  • cols: establece de forma explícita la cantidad de columnas de terminal que se utilizan para la grabación.
  • rows: establece de forma explícita la cantidad de filas de terminal que se utilizan para su grabación.
  • frameDelay: anula el retardo entre cada pulsación de tecla durante la reproducción.
  • maxIdleTime: especifica un tiempo máximo entre las pulsaciones de teclas durante la reproducción.
  • cursorStyle: especifica el estilo de cursor de terminal predeterminado: block, bar o underline.
  • fontFamily: especifica una lista de fuentes de reproducción preferidas, en orden de preferencia.
  • theme: ajusta el esquema de color de la reproducción; por ejemplo, para crear una terminal en negro sobre blanco, etc.

Como ejemplo, se puede obtener una pantalla de terminal en blanco sobre negro configurando las siguientes opciones:

				
					
[label config.yml]

. . .

theme:

 background: "white"

 foreground: "black"

. . .

				
			

Con esto, se mostrará un resultado similar al siguiente:

Puede ajustar el estilo del cursor para facilitar la comprensión de la grabación, por ejemplo, cambiando el cursor de estilo de bloque predeterminado por uno subrayado:

				
					
[label config.yml]

. . .

cursorStyle: underline

. . .

				
			

Con esto, se mostrará un resultado similar al siguiente:

Una vez que haya realizado los cambios deseados, guarde el archivo y regrese a su terminal.

Si editó la configuración global de Terminalizer, estos ajustes se aplicarán a todas las grabaciones nuevas. Si edita la configuración de una grabación específica, Terminalizer aplicará de inmediato los cambios a esa grabación en particular.

Tenga en cuenta que el estilo de reproducción personalizado solo se aplica a las sesiones de grabación compartidas. Al reproducirlas directamente en su terminal, siempre se utilizarán el estilo y la combinación de colores predeterminados de su terminal.

En este último paso, revisó algunas de las opciones de configuración avanzadas de Terminalizer.

Conclusión

A lo largo de este artículo, utilizó Terminalizer para grabar y compartir una sesión de terminal. Ahora tiene los conocimientos necesarios para crear demostraciones grabadas de su software a fin de usarlas en materiales de marketing o para compartir trucos de línea de comandos con amigos.

Si desea representar y exportar grabaciones de Terminalizer al formato GIF, puede instalar Terminalizer en una máquina con una interfaz gráfica de usuario o escritorio y usar las funciones de representación incorporadas:

También puede ser útil explorar el sitio web de Terminalizer para ver sesiones de terminal grabadas que compartan otros usuarios: