Los registradores de terminal nos permiten grabar y reproducir sus actividades de línea de comandos y exportarlas en varias formas convenientes como texto, html, GIF, etc., según los requisitos del usuario. Tenemos algunos de los grabadores de terminal livianos y muy eficientes en este tutorial. La mayoría de ellos convierten las grabaciones del terminal a un formato conveniente que se puede compartir en todo el mundo a nivel mundial. La principal ventaja de algunas de estas grabadoras de terminal en comparación con las grabadoras de escritorio como Vokoscreen, Kazam, Recordmydesktop o Simplescreenrecorder es que registra toda la entrada, salida y error de terminal estándar como un texto ASCII sin formato con código de escape ANSI. Incluso exporta la salida a un archivo con formato minúsculo que puede ayudar a grabar sesiones de terminal más largas. Estos formatos de archivo pueden incluso compartirse mediante una simple transferencia de archivos o mediante un sitio web público como parte de un código html incrustado. Y finalmente, en caso de cualquier error cometido durante su sesión de terminal, su sesión de terminal grabada puede editarse retrospectivamente usando cualquier editor de texto o corregirse ajustando los tiempos de grabación.
Comencemos con algunas de las herramientas útiles, que se pueden usar para compartir rápidamente la actividad de su terminal con un screencast, grabando y reproduciendo la salida TTY de un programa en modo texto.
1. ttyStudio
Puede utilizar esta herramienta para registrar la actividad de su terminal y compilarla en formato GIF o APNG sin dependencias externas, bash guiones, concatenación de gif. Puede instalarlo usando el paquete npm. En primer lugar, puede instalar nodejs para permitir que el paquete npm comience con la instalación. Siga estos pasos para instalar NodeJS en un servidor CentOS 7.
# yum install -y gcc-c++ make
# curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
#yum install -y nodejs
#node -v
v6.10.2
# npm -v
3.10.10
Una vez que npm está habilitado, puede instalar ttyStudio con el siguiente comando:
# npm -g install ttystudio
Podemos registrar una actividad de terminal usando el comando "ttystudio filename.gif"
. Por favor mira mi example debajo:
# ttystudio linoxide.gif
Simplemente ejecute este comando anterior, se abrirá una nueva ventana para comenzar con la grabación. Una vez que hayas terminado, presiona "CTRL+Q"
para finalizar la grabación.
# ttystudio linoxide.gif
initializing writer
writing image
writing head
building gct (may take a while)
.Killed
Esto proporcionará un archivo .gif en el directorio de trabajo actual como se especifica en la ejecución inicial del comando.
~]# ls linoxide.*
linoxide.frames.json linoxide.gif
Puede reproducir estas grabaciones simplemente ejecutando el siguiente comando:
# ttystudio --play linoxide.frames.json
2. Shelr
Este programa le permite grabar y reproducir la actividad de su terminal y publicarla. Está hecho en Ruby y el paquete está disponible para casi todas las distribuciones del sistema operativo Linux. Siga estos pasos para instalar este programa.
# yum install rubygems
# gem install shelr
Puede comenzar a grabar ejecutando el comando "shelr record"
. Por favor vea el example debajo:
# shelr record
Provide some title for your record: Shelr Example
/root/.local/share/shelr/1493638181/meta
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> Your session started
=> Please, do not resize your terminal while recording
=> Press Ctrl+D or 'exit' to finish recording
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Script started, file is /root/.local/share/shelr/1493638181/typescript
You can end the session by typing the exit command.
Shelr se puede utilizar fácilmente para iniciar una sesión de grabación como se ve en este example. Una vez que termine de grabar, puede escribir exit
para terminar la sesión o simplemente presionar CTRL+D
. Entonces recibirás el siguiente mensaje.
Script done, file is /root/.local/share/shelr/1493638181/typescript
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> Session finished
Replay : shelr play last
Publish : shelr push last
Puede reproducir su sesión grabada usando este comando de reproducción. Como este "shelr play 1493638181"
. Si no conoce el ID de Shelr, puede ejecutar este comando "shelr list"
para enumerar los registros de Shelr.
# shelr list
1493638059 : My work
1493638181 : Shelr Example
3. Mostrar término
Showterm es una aplicación de carga y registro de terminal de código abierto que le permitirá grabar su terminal y cargarlo fácilmente. Registrará toda la actividad de su terminal en formato de texto y se cargará en showterm.io como un video. Una vez cargado, generará un enlace para que lo comparta con los miembros de su equipo o lo incruste en su sitio web como un iframe. Es una aplicación de rubygem similar a la anterior. Veamos cómo instalarlo.
# yum install rubygems
# gem install showterm
Puede comenzar a grabar la sesión simplemente ejecutando el comando "showterm"
y escriba salir una vez que termine de grabar.
# showterm
showterm recording. (Exit shell when done.)
Después de salir de la sesión, recibirá un mensaje con el enlace URL grabado para acceder a través de un navegador.
# exit
exit
showterm recording finished.
Uploading...
https://showterm.io/6f5883e4542f05613d0fb
Incluso puede ver el terminal grabado manifestación aquí.
4. TermRecord
TermRecord es un registrador de sesión de terminal simple que envía los registros a una salida HTML autocontenida fácil de compartir. Es una herramienta de código abierto escrita en Python. Por lo tanto, podemos instalar este módulo usando pip
. Necesitamos instalar el EPEL
repositorio para instalar el pip.
#yum install epel-release
#yum install python-pip
# pip install TermRecord
Puede actualizar el módulo PIP instalado ejecutando este comando.
# pip install --upgrade pip
Collecting pip
Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 515kB/s
Installing collected packages: pip
Found existing installation: pip 8.1.2
Uninstalling pip-8.1.2:
Successfully uninstalled pip-8.1.2
Successfully installed pip-9.0.1
Podemos grabar fácilmente un terminal usando TermRecord. Simplemente puede ejecutar este comando para comenzar a grabar su sesión.TermRecord -o /path to the/output file/
En mi example, Grabé mi terminal y lo envié a la raíz del documento del servidor predeterminado para acceder a él a través de un navegador web.
# TermRecord -o /var/www/html/termrecord.html
Script started, file is /tmp/tmp7SitII
Exit the session when done.
# exit
exit
Script done, file is /tmp/tmp7SitII
Puede acceder a la sesión grabada en https://Your Server IP/termrecord.html
Cualquier comando posterior que se escriba desde el terminal se guardará en el archivo HTML de salida. El archivo de salida también almacenará información de tiempo para que toda la sesión del terminal se pueda reproducir a la misma velocidad que está escribiendo. Puede finalizar su grabación simplemente escribiendo salir.
Puede abrir la salida grabada a través de un navegador web como este. Puede reproducir, pausar o reiniciar o incluso ajustar la velocidad de grabación con esto.
5. ttyrec
ttyrec es una grabadora de terminal que registra datos y se puede reproducir con la ayuda de ttyplay
mando. ttyrec es solo un derivado del comando de secuencia de comandos para registrar información de tiempo con precisión de microsegundos también. ttytime se puede utilizar para obtener la información del tiempo de registro. Puede grabar emacs -nw, vi, lynx o cualquier programa que se ejecute en tty. Veamos cómo instalar esta herramienta en nuestro sistema CentOS.
#wget https://0xcc.net/ttyrec/ttyrec-1.0.8.tar.gz
#wget https://paperlined.org/apps/rhel/building/ttyrec-1.0.8.RHEL5.patch
#tar -xvzf ttyrec-1.0.8.tar.gz
#cd ttyrec-1.0.8
#patch -i ../ttyrec-1.0.8.RHEL5.patch
patching file Makefile
patching file ttyrec.c
#make
gcc -O2 -DHAVE_openpty -c -o ttyrec.o ttyrec.c
gcc -O2 -DHAVE_openpty -c -o io.o io.c
gcc -O2 -DHAVE_openpty -o ttyrec ttyrec.o io.o -lutil
gcc -O2 -DHAVE_openpty -c -o ttyplay.o ttyplay.c
gcc -O2 -DHAVE_openpty -o ttyplay ttyplay.o io.o
gcc -O2 -DHAVE_openpty -c -o ttytime.o ttytime.c
gcc -O2 -DHAVE_openpty -o ttytime ttytime.o io.o
Ahora, puede copiar o enlazar simbólicamente todos los binarios como,ttyrec
ttyplay
y ttytime
a /usr/bin
directorio para acceder a él globalmente.
Puede comenzar a grabar las sesiones ejecutando el comando ttyrec
Cuando ejecutamos el comando anterior, se iniciará la grabación de la sesión del terminal y cuando escriba salir, la grabación se detendrá y un nombre de archivo ‘ttyrecord’
se creará en el directorio actual. Puede reproducir la sesión grabada simplemente ejecutando el siguiente comando:
#ttyplay ttyrecord
Estas son las opciones que se utilizan comúnmente al reproducir los discos.
Usage: ttyplay [OPTION] [FILE]
-s SPEED Set speed to SPEED [1.0]
-n No wait mode
-p Peek another person's ttyrecord
También podemos cambiar la velocidad usando teclas especiales como:
+ or f double the speed of playback.
– or s : halve the speed of playback.
0 : set playback speed to 0, pausing playback.
1 : set playback to speed 1.0 again.
Además, puede determinar el tiempo registrado para los datos en segundos usando ttytime
mando.
# ttytime ttyrecord
25 ttyrecord
6. Guión
Este es un comando en Linux, que se usa para registrar las actividades de la terminal. Almacena las actividades de la terminal en un archivo de registro que puede ser nombrado por un usuario, o toma un nombre de archivo predeterminado, es decir, mecanografiado cuando el usuario no proporciona nada.
Sintaxis
script [options] - -timing=timing_file log_filename
Puede usar el siguiente comando para comenzar a grabar el terminal en un archivo de registro.
# script linoxidedemo.txt
Script started, file is linoxidedemo.txt
Esto iniciará la grabación de su terminal y puede escribir salir para detener la grabación.
# exit
exit
Script done, file is linoxidedemo.txt
Una vez hecho esto, puede ver este archivo de registro para conocer la información registrada. Ahora veamos cómo reproducir esa información grabada usando scriptreplay
mando. Puede reproducir los registros del terminal solo mediante la información de tiempo. Para eso, necesitamos grabar el terminal, guardando la información de tiempo. Puedes hacerlo usando el siguiente comando:
#script --timing=time.txt linoxidedemo.txt
Finalmente, puedes reproducirlo usando el comando scriptreplay
así.
#scriptreplay --timing=time.txt linoxidedemo.txt1
7. Asciinema
Asciinema es un programa simple de código abierto que puede instalar en su sistema para registrar lo que hace en la terminal. La sesión grabada se carga automáticamente en el sitio web de asciinema y se le proporciona una URL para compartir la sesión grabada. Puede instalarlo con un solo comando.
#yum install asciinema
Una vez instalado, puede comenzar a grabar ejecutando el comando "asciinema rec"
como esto:
# asciinema rec
~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.
Puede salir de la sesión cuando haya terminado con la grabación para proporcionarle la URL grabada para compartir con los miembros de su equipo.
# exit
exit
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.
https://asciinema.org/a/1nh23zdumvc23awthix6v6m6u
Ahora, puede compartir esta URL proporcionada para navegar desde cualquier lugar del mundo.
8. Recterm
Recterm es una herramienta de grabación de terminal simple junto con audio. Hace uso de asciinema, asciinema2gif, sox y ffmpeg para realizar su tarea. Por lo tanto, antes de la instalación de este software, debemos asegurarnos de que nuestro sistema tenga todas las bibliotecas compatibles con los formatos de audio / video. En un entorno de servidor de este tipo, podemos instalar recterm con estos sencillos pasos.
# git clone https://github.com/rascoro1/recterm.git
# cd recterm/
# chmod +x recterm.sh to_gif.sh
Una vez instalado, puede comenzar a grabar ejecutando el comando
# ./recterm.sh linoxide_demo
~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.
Como se especifica, puede escribir exit para finalizar la sesión de grabación.
# exit
exit
~ Asciicast recording finished.
Your MP4 file with audio is ready:
Después de una serie de procesos de conversión, su sesión grabada con audio estará presente en el interior linoxide_demo
carpeta según esto example. Puede ver la instalación detallada de recterm.
Conclusión
Estas son algunas de las herramientas de línea de comandos que puede utilizar para registrar las actividades de su terminal. Estos programas son bastante fáciles de usar y ayudan mucho cuando necesitas ejecutar el mismo lote de comandos varias veces. Incluso pueden ayudar a los administradores del sistema a solucionar problemas y administrar sus servidores de manera efectiva. Espero que esta guía te sea de utilidad. Publique sus valiosos comentarios y sugerencias al respecto.