Tutorial

Como gravar e compartilhar sessões de terminal utilizando o Terminalizer no Ubuntu 18.04

Published on April 10, 2020
Default avatar

By Jamie Scaife

Security Engineer

Português
Como gravar e compartilhar sessões de terminal utilizando o Terminalizer no Ubuntu 18.04

O autor selecionou a Fundação Electronic Frontier para receber uma doação como parte do programa Write for DOnations.

Introdução

O Terminalizer é um aplicativo de gravação de terminal que permite que você grave sua sessão de terminal em tempo real e, em seguida, reproduza-a novamente em uma data futura. Ele funciona da mesma maneira que um gravador de tela da área de trabalho, mas, ao invés disso, é executada em seu terminal.

Gravar sua sessão de terminal é útil caso queira rever uma atividade em particular mais uma vez, ou para ajudar a depurar um erro particularmente complicado. As gravações feitas com o Terminalizer também podem ser exportadas como GIFs animados, que são ótimos para compartilhar online ou adicionar ao material de marketing para seu software.

Neste tutorial, você instalará o Terminalizer, o utilizará para gravar e reproduzir as sessões de terminal, personalizar suas gravações e, em seguida, exportá-las para poder compartilhá-las on-line.

Pré-requisitos

Para completar este tutorial, você precisará de:

Caso queira compartilhar suas gravações on-line, também precisará de:

Assim que tiver tudo pronto, logue no seu servidor como usuário não raiz para começar.

Passo 1 — Instalando o Terminalizer

Neste passo, você irá baixar e instalar o Terminalizer no seu sistema. O Terminalizer é escrito utilizando o Node.js e está disponível para instalação utilizando o gerenciador de pacotes npm.

Para instalar o Terminalizer globalmente no seu sistema, execute o seguinte comando:

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

O Terminalizer utiliza o framework de aplicativo Electron para exportar sessões de terminal gravadas para o formato GIF. O argumento de comando --unsafe-perms=true é necessário para instalar o Electron globalmente no seu sistema.

Assim que o Terminalizer tiver sido instalado, você verá um resultado parecido com o seguinte:

Output
. . . /usr/local/lib └── terminalizer@0.7.1

Em seguida, verifique sua instalação do Terminalizer executando:

  1. terminalizer --version

Isso exibirá algo semelhante ao seguinte:

Output
0.7.1

Por fim, gere um arquivo de configuração padrão do Terminalizer, que pode ser usado para a personalização avançada do Terminalizer (detalhada mais a fundo no Passo 4):

  1. terminalizer init

Isso produzirá um resultado parecido com este:

Output
The global config directory is created at /home/user/.terminalizer

Agora que você instalou o Terminalizer, você pode fazer sua primeira gravação de terminal.

Passo 2 — Gravando e reproduzindo uma sessão de terminal

Neste passo, você gravará e reproduzirá uma sessão de terminal.

Para começar, configure uma nova gravação do Terminalizer usando um nome de sua escolha:

  1. terminalizer record your-recording

Isso gerará o seguinte resultado, indicando que a gravação foi iniciada:

Output
The recording session has started Press Ctrl+D to exit and save the recording

Agora, prossiga e faça tudo o que quiser dentro do seu terminal. Cada tecla pressionada será gravada em tempo real pelo Terminalizer.

Por exemplo:

  1. pwd
  2. date
  3. whoami
  4. echo "Hello, world!"

Quando quiser parar a gravação, pressione CTRL+D. Então, o Terminalizer salvará a gravação para o arquivo especificado no formato YAML, como, por exemplo, your-recording.yml.

Output
Successfully Recorded The recording data is saved into the file: /home/user/your-recording.yml

Pode ser que você seja solicitado pelo Terminalizer a compartilhar sua gravação on-line. Simplesmente pressione CTRL+C para cancelar isso por enquanto, já que você pode reproduzir a gravação do terminal localmente primeiro.

Em seguida, reproduza sua sessão de terminal gravada com o comando a seguir:

  1. terminalizer play your-recording

Isso irá reproduzir a sessão gravada em tempo real no seu 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

Você também pode ajustar a velocidade de reprodução da sua gravação usando a opção --speed-factor.

Por exemplo, o comando a seguir irá reproduzir sua gravação duas vezes mais devagar (metade da velocidade):

  1. terminalizer play your-recording --speed-factor 2

De maneira alternativa, reproduza sua gravação duas vezes mais rápido (dobro da velocidade):

  1. terminalizer play your-recording --speed-factor 0.5

Você gravou e reproduziu uma sessão de terminal. Em seguida, compartilhe on-line uma sessão de terminal gravada.

Passo 3 — Compartilhando uma sessão de terminal gravada

Neste passo, você irá compartilhar sua sessão de terminal gravada na página Explore do Terminalizer.

Comece selecionando uma sessão gravada para compartilhar:

  1. terminalizer share your-recording

Em seguida, será solicitado que você forneça alguns metadados básicos sobre sua gravação, como o título e a descrição:

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

Aviso: as gravações do Terminalizer são compartilhadas publicamente por padrão, portanto certifique-se de que não haja detalhes pessoais identificáveis ou confidenciais presentes em sua gravação de terminal que você não deseja compartilhar.

Caso seja a primeira vez que tenha compartilhado uma sessão gravada usando o Terminalizer, você precisará vincular sua conta do Terminalizer. O Terminalizer exibirá um link de verificação se isso for necessário:

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

Aviso: certifique-se de manter seu token do Terminalizer privado, pois ele permitirá a todos que o possuem acessem sua conta do Terminalizer.

Assim que tiver visitado o link no seu navegador Web e tiver logado em sua conta do Terminalizer, pressione qualquer tecla para continuar.

O Terminalizer irá agora fazer o upload da sua gravação e dará a você o link para visualizá-la:

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

Visitar o link em um navegador Web de desktop permitirá que você veja sua gravação compartilhada:

Uma captura de tela do site do Terminalizer, mostrando um exemplo de uma gravação de terminal compartilhada

Você compartilhou uma sessão de terminal gravada no site do Terminalizer e a visualizou em seu navegador Web.

Passo 4 — Definindo a configuração avançada do Terminalizer

Agora que ganhou familiaridade com o Terminalizer, você pode começar a rever algumas das opções de personalização mais avançadas, tal como a habilidade de ajustar as cores de exibição e estilo.

Cada gravação herda a configuração padrão do arquivo global config do Terminalizer, que está localizado em ~/.terminalizer/config.yml. Isso significa que você pode editar a configuração das gravações individuais diretamente editando o arquivo de gravação (por exemplo, your-recording.yml). De maneira alternativa, você pode editar a configuração global, que terá um impacto em todas as novas gravações.

Neste exemplo, você editará o arquivo de configuração global, mas a mesma orientação se aplica aos arquivos de configuração de gravação individuais.

Comece abrindo o arquivo de configuração global do Terminalizer em seu editor de texto, como o nano:

  1. nano ~/.terminalizer/config.yml

Cada uma das opções de configuração disponíveis dentro do arquivo serão comentadas de forma a explicar o que elas fazem.

Há várias opções de configuração comuns que você pode querer ajustar para atenderem ao seu gosto:

  • cols: define o número de colunas de terminal usadas para sua gravação explicitamente.
  • rows: define o número de linhas de terminal usadas para sua gravação explicitamente.
  • frameDelay: sobrepõe o atraso entre cada aperto de tecla durante a reprodução.
  • maxIdleTime: especifica um tempo máximo entre apertos de teclas durante a reprodução.
  • cursorStyle: especifica o estilo padrão do cursor do terminal para block (bloco), bar (barra) e underline (sublinhado).
  • fontFamily: especifica uma lista com as fontes de reprodução preferidas, por ordem de preferência.
  • theme: ajusta o esquema de cores da reprodução, para criar, por exemplo, um terminal preto no branco, etc.

Como exemplo, você pode definir uma exibição de terminal branco no preto, configurando as seguintes opções:

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

Isso produzirá um resultado parecido com este:

Uma captura de tela do site do Terminalizer, mostrando um exemplo de gravação com um tema branco no preto

Você pode ajustar o estilo do cursor para facilitar o entendimento da gravação, como, por exemplo, trocando o cursor padrão estilo bloco por um exemplo sublinhado:

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

Isso gera um resultado parecido com este:

Uma captura de tela do site do Terminalizer, mostrando um exemplo de gravação com um cursor estilo sublinhado

Assim que tiver feito todas as alterações desejadas, salve o arquivo e retorne para seu terminal.

Caso tenha editado a configuração global do Terminalizer, essas configurações se aplicarão a todas as novas gravações a partir daqui. Caso esteja editando uma configuração específica de gravação, o Terminalizer aplicará imediatamente as alterações naquela gravação em particular.

Note que a estilização personalizada de reprodução se aplica apenas às sessões de gravação compartilhadas. Reproduzi-las novamente diretamente em seu terminal sempre usará seu estilo e esquema de cores padrão do terminal.

Neste passo final, você revisou algumas das opções de configuração avançadas para o Terminalizer.

Conclusão

Neste artigo, você usou o Terminalizer para gravar e compartilhar uma sessão de terminal. Agora, possui o conhecimento necessário para criar demonstrações gravadas do seu software para usar em material de marketing, ou compartilhar truques de linha de comando com amigos.

Caso queira renderizar e exportar gravações do Terminalizer para o formato GIF, instale o Terminalizer em uma máquina com uma interface gráfica de usuário/desktop e utilize as funcionalidades de renderização integradas:

Pode ser que também queira pesquisar no site do Terminalizer por sessões de terminal gravadas compartilhadas por outros usuários:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Security Engineer

IT Security Engineer, technical writer and occasional blogger from the United Kingdom, with an interest in security defence and blue team activities.



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel