O autor selecionou a Fundação Electronic Frontier para receber uma doação como parte do programa Write for DOnations.
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.
Para completar este tutorial, você precisará de:
Um servidor Ubuntu 18.04 configurado seguindo a Configuração inicial de servidor com o Ubuntu 18.04, incluindo um usuário sudo não raiz.
O Node.js e o npm, que podem ser instalados seguindo a seção Instalando a versão Distro-Estável para o Ubuntu dentro de Como instalar o Node.js no Ubuntu 18.04.
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.
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:
- 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:
- terminalizer --version
Isso exibirá algo semelhante ao seguinte:
Output0.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):
- terminalizer init
Isso produzirá um resultado parecido com este:
OutputThe global config directory is created at
/home/user/.terminalizer
Agora que você instalou o Terminalizer, você pode fazer sua primeira gravaçã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:
- terminalizer record your-recording
Isso gerará o seguinte resultado, indicando que a gravação foi iniciada:
OutputThe 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:
- pwd
- date
- whoami
- 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
.
OutputSuccessfully 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:
- terminalizer play your-recording
Isso irá reproduzir a sessão gravada em tempo real no seu 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
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):
- terminalizer play your-recording --speed-factor 2
De maneira alternativa, reproduza sua gravação duas vezes mais rápido (dobro da velocidade):
- 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.
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:
- 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:
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
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:
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
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:
OutputSuccessfully 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:
Você compartilhou uma sessão de terminal gravada no site do Terminalizer e a visualizou em seu navegador Web.
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
:
- 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:
. . .
theme:
background: "white"
foreground: "black"
. . .
Isso produzirá um resultado parecido com este:
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:
. . .
cursorStyle: underline
. . .
Isso gera um resultado parecido com este:
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.
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:
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.
Sign up