El autor seleccionó la Electronic Frontier Foundation para recibir una donación como parte del programa Write for DOnations.
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.
Para completar este tutorial, necesitará lo siguiente:
Un servidor de Ubuntu 18.04 configurado conforme a la Configuración inicial de servidores con Ubuntu 18.04, con un usuario sudo no root.
Node.js y npm, que pueden instalarse siguiendo las indicaciones de la sección Instalar la versión Distro-Stable para Ubuntu en Cómo instalar Node.js en Ubuntu 18.04.
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.
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:
Output0.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:
OutputThe global config directory is created at
/home/user/.terminalizer
Ahora que instaló Terminalizer, puede realizar su primera grabació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:
OutputThe 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
.
OutputSuccessfully 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:
Outputuser@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.
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:
OutputPlease 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:
OutputOpen 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:
OutputSuccessfully 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:
Compartió una sesión de terminal grabada en el sitio web de Terminalizer y la visualizó en su navegador web.
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:
. . .
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:
. . .
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.
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:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!