Tutorial

Cómo registrar y compartir sesiones de terminal usando Terminalizer en Ubuntu 18.04

Ubuntu 18.04

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

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:

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:

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:

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:

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:

  • 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.

Output
Successfully Recorded The recording data is saved into the file: /home/user/your-recording.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 your-recording

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

Output
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 your-recording --speed-factor 2

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

  • terminalizer play your-recording --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 your-recording

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

Output
Please enter some details about your recording ? Title Title of Your Recording ? Description Description of Your Recording ? Tags such as git,bash,game Comma-separated Tags for Your Recording

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:

Output
Open the following link in your browser and login into your account https://terminalizer.com/token?token=your-token When you do it, press any key to continue

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:

Output
Successfully Uploaded The recording is available on the link: https://terminalizer.com/view/your-recording-id

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

Captura de pantalla del sitio web de Terminalizer en la que se muestra un ejemplo de una grabación de terminal compartida

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:

config.yml
. . .
theme:
  background: "white"
  foreground: "black"
. . .

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

Captura de pantalla del sitio web de Terminalizer que muestra un ejemplo de una grabación con un tema en negro sobre blanco

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:

config.yml
. . .
cursorStyle: underline
. . .

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

Captura de pantalla del sitio web de Terminalizer en la que se muestra un ejemplo de una grabación con un cursor de estilo subrayado

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:

Creative Commons License