Introducción
Terminalizer es una aplicación de grabadora de la terminal que te permite grabar tu sesión de la terminal en tiempo real. La grabación puedes reproducirla en una fecha posterior. Funciona de la misma manera que una grabadora de pantalla de escritorio, pero en su lugar se ejecuta en tu terminal.
Grabar tu sesión de la terminal es útil si deseas revisar una actividad particular nuevamente, o para ayudar a depurar un error particularmente complicado. Las grabaciones realizadas con Terminalizer también se pueden exportar como GIF animados. Estas grabaciones son excelentes para compartir en línea o agregar material de marketing para tu software.
En este tutorial, instalarás Terminalizer, lo usarás para grabar y reproducir sesiones de la terminal, personalizarás tus grabaciones y luego las exportarás para compartirlas en línea.
Prerrequisitos
Para completar este tutorial, necesitarás:
- Un servidor Ubuntu 18.04 configurado siguiendo la configuración básica de servidores con Ubuntu 18.04, incluido un usuario sudo no root.
- Node.js y npm, que se pueden instalar siguiendo la sección Instalación de la versión estable para Ubuntu en Cómo instalar Node.js en Ubuntu 18.04.
Si deseas compartir tus grabaciones en línea, también necesitarás:
- Una cuenta gratuita en el sitio web de Terminalizer .
Una vez que tengas estos listos, debes iniciar sesión en tu servidor como usuario no root para comenzar.
Paso 1 – Instalar Terminalizer
En este paso, descargarás e instalarás Terminalizer en tu sistema. Terminalizer está escrito en Node.js, y está disponible para instalar usando el administrador de paquetes npm.
Para instalar Terminalizer globalmente en tu sistema, debes ejecutar el siguiente comando:
1 |
$ sudo npm install --global --allow-root --unsafe-perm=true terminalizer |
Terminalizer utiliza el framework de aplicación Electron para exportar sesiones de la terminal grabadas en formato GIF. El argumento –unsafe-perms=true del comando es necesario para instalar Electron globalmente en tu sistema.
Una vez que se haya instalado Terminalizer, verás una salida similar a la siguiente:
1 2 3 4 |
Output . . . /usr/local/lib └── terminalizer@0.7.1 |
Luego, debes verificar tu instalación de Terminalizer ejecutando:
1 |
$ terminalizer --version |
Esto mostrará algo similar a lo siguiente:
1 2 |
Output 0.7.1 |
Finalmente, generarás un archivo de configuración de Terminalizer predeterminado, que puede usar para la personalización avanzada de Terminalizer (detallado más adelante en el Paso 4):
1 |
$ terminalizer init |
Esto producirá una salida similar a la siguiente:
1 2 3 |
Output The global config directory is created at /home/user/.terminalizer |
Ahora que haz instalado Terminalizer, puedes hacer tu primera grabación de la terminal.
Paso 2 – Grabar y reproducir una sesión de la terminal
En este paso, grabarás y reproducirás una sesión de la terminal.
Para comenzar, debes configurar una nueva grabación de Terminalizer con el nombre que elijas:
1 |
$ terminalizer record your-recording |
Esto generará lo siguiente para indicar que la grabación ha comenzado:
1 2 3 |
Output The recording session has started Press Ctrl+D to exit and save the recording |
Ahora puedes proceder a hacer lo que quieras dentro de tu terminal. Cada pulsación de tecla y comando se registrará en tiempo real por Terminalizer.
Por ejemplo:
1 2 3 4 |
$ pwd $ date $ whoami $ echo "Hello, world!" |
Cuando desees detener la grabación, debes presionar CTRL+D. Terminalizer entonces guardar la grabación en el archivo especificado en formato YAML, por ejemplo, your-recording.yml.
1 2 3 4 |
Output Successfully Recorded The recording data is saved into the file: /home/user/your-recording.yml |
Puede que Terminalizer te solicite que compartas tu grabación en línea. Simplemente presiona CTRL+C para cancelar esto por ahora, ya que puedes reproducir la grabación de la terminal localmente primero.
A continuación, reproduce tu sesión de terminal grabada con el comando siguiente:
1 |
$ terminalizer play your-recording |
Esto reproducirá la sesión grabada en tiempo real en tu terminal:
1 2 3 4 5 6 7 8 9 10 |
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 puedes ajustar la velocidad de reproducción de tu grabación usando la opción –speed-factor.
Por ejemplo, lo siguiente reproducirá tu grabación el doble de lento (media velocidad):
1 |
$ terminalizer play your-recording --speed-factor 2 |
Alternativamente, puedes reproducir tu grabación dos veces más rápido (doble velocidad):
1 |
$ terminalizer play your-recording --speed-factor 0.5 |
Has grabado y reproducido una sesión de la terminal. A continuación, podrás compartir una sesión de la terminal grabada en línea.
Paso 3 – Compartir una sesión de terminal grabada
En este paso, compartirás tu sesión de la terminal grabada en línea en la página Explorador de Terminalizer.
Debes comenzar seleccionando una sesión grabada para compartir:
1 |
$ terminalizer share your-recording |
Luego se te pedirá que proporciones algunos metadatos básicos sobre tu grabación, como el título y la descripción:
1 2 3 4 5 |
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 Terminalizer se comparten públicamente de manera predeterminada. Asegúrate de que no haya detalles de identificación personal o confidenciales presentes en la grabación de tu terminal que no desees compartir.
Si es la primera vez que compartes una sesión grabada con Terminalizer, deberás vincular tu cuenta de Terminalizer. Terminalizer mostrará un enlace de verificación si es necesario:
1 2 3 4 5 |
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úrate de mantener tu token de Terminalizer privado, ya que permitirá que cualquier persona que lo posea accederá a tu cuenta de Terminalizer.
Una vez que hayas visitado el enlace en tu navegador web e iniciado sesión en tu cuenta de Terminalizer, debes presionar cualquier tecla para continuar.
Terminalizer ahora cargará tu grabación y te proporcionará el enlace para verla:
1 2 3 4 |
Output Successfully Uploaded The recording is available on the link: https://terminalizer.com/view/your-recording-id |
Visitar el enlace en un navegador web de escritorio te permitirá ver tu grabación compartida:
Has compartido una sesión de la terminal grabada en el sitio web de Terminalizer y la has visto en tu navegador web.
Paso 4 – Ajustes de la configuración avanzada de Terminalizer
Ahora que te has familiarizado con Terminalizer, puedes comenzar a revisar algunas de las opciones de personalización más avanzadas. Por ejemplo, la capacidad de ajustar los colores y el estilo de la pantalla.
Cada grabación hereda la configuración predeterminada del archivo de configuración de Terminalizer global, que se encuentra en ~/.terminalizer/config.yml.
Esto significa que puedes editar la configuración para grabaciones individuales directamente editando el archivo de grabación (por ejemplo your-recording.yml). Alternativamente, puedes editar la configuración global, lo que tendrá un impacto en todas las grabaciones nuevas.
En este ejemplo, editarás el archivo de configuración global, pero la misma guía se aplica también a los archivos de configuración de grabación individuales.
Debes comenzar abriendo el archivo de configuración global de Terminalizer en tu editor de texto, como nano:
1 |
$ nano ~/.terminalizer/config.yml |
Cada una de las opciones de configuración disponibles dentro del archivo se comentan para explicar lo que hacen.
Opciones
Hay varias opciones de configuración comunes que quizás desees ajustar a tu gusto:
- cols: Establecer explícitamente el número de columnas de la terminal utilizadas para tu grabación.
- rows: Establecer explícitamente el número de filas de terminales utilizadas para tu grabación.
- frameDelay: Anula el retraso entre cada pulsación de tecla durante la reproducción.
- maxIdleTime: Especifica un tiempo máximo entre pulsaciones de teclas durante la reproducción.
- cursorStyle: Especifica el valor por defecto de bornes de estilo del cursor block, bar y underline.
- fontFamily: Especifica una lista de fuentes de reproducción preferidas, en orden de preferencia.
- theme: Ajusta la combinación de colores de la reproducción, por ejemplo, para crear una terminal negra sobre blanco, etc.
Como ejemplo, puedes lograr una pantalla de terminal blanca sobre negro configurando las siguientes opciones:
1 2 3 4 5 6 |
config.yml . . . theme: background: "white" foreground: "black" . . . |
Esto producirá un resultado similar al siguiente:
Puedes ajustar el estilo del cursor para que la grabación sea más fácil de entender. Por ejemplo, cambiando el cursor de estilo de bloque predeterminado por uno subrayado:
1 2 3 4 |
config.yml . . . cursorStyle: underline . . . |
Esto produce un resultado similar al siguiente:
Una vez que hayas realizado los cambios deseados, debes guardar el archivo y regresar a tu terminal.
Si editaste la configuración global del Terminalizer, esta configuración se aplicará a todas las grabaciones nuevas en el futuro. Si estás editando una configuración de grabación específica, Terminalizer aplicará inmediatamente los cambios a esa grabación en particular.
Tenga en cuenta que el estilo de reproducción personalizada solo se aplica a las sesiones de grabación compartidas. Reproducirlos directamente en tu terminal siempre usará su estilo de terminal y esquema de color predeterminados.
En este paso final, revisaste algunas de las opciones de configuración avanzada para Terminalizer.
Conclusión
En este artículo usaste Terminalizer para grabar y compartir una sesión de terminal. Ahora tienes los conocimientos necesarios para crear demostraciones grabadas de tu software para su uso en material de marketing. Asimismo, para compartir trucos de línea de comandos con amigos.
Si deseas renderizar y exportar grabaciones de Terminalizer a formato GIF, puedes instalar Terminalizer en una máquina con una interfaz gráfica de usuario/escritorio y utilizar las funciones de representación integradas:
También es posible que desees navegar por el sitio web de Terminalizer para ver sesiones de terminal grabadas compartidas por otros usuarios: