Registrar e reproduzir sessão do terminal com asciinema no Linux

Registrar e reproduzir sessão do terminal com asciinema no Linux

Introdução

Asciinema é uma alternativa leve e muito eficiente a um Roteiro Gravador de sessão do terminal. Ele permite gravar, reproduzir e compartilhar suas gravações de sessão de terminal formatada JSON.
A principal vantagem em comparação com gravadores de desktop, como RecordMyDesktop, SileScreenRecorder, Vokoscreen ou Kazam, é que o asciinema registra toda a entrada, saída e erro do terminal padrão como um
Texto ASCII simples com código de escape ANSI .

Como resultado, o arquivo de formato JSON é minúsculo em tamanho, mesmo para uma sessão de terminal mais longa. Além disso, o formato JSON oferece ao usuário a capacidade de compartilhar o arquivo de saída do Asciinema JSON por meio de arquivo simples
Transferência, no site público como parte do código HTML incorporado ou compartilhe -o no Asciinema.org usando conta asciinema. Por fim, caso você tenha cometido algum erro durante sua sessão de terminal, seu
A sessão do terminal gravada pode ser editada retrospectivamente usando qualquer editor de texto, ou seja, se você souber o seu caminho em torno da sintaxe do código de escape ANSI.

Dificuldade

FÁCIL

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Instalação do repositório padrão

É muito provável que asciinema seja instalável como parte do seu repositório de distribuição. No entanto, se asciinema não estiver disponível no seu sistema ou você deseja instalar a versão mais recente, você pode usar
LinuxBrew Package Manager para executar a instalação de Asciinema, conforme descrito abaixo na seção "Instalação da fonte".

Arch Linux

# Pacman -S Asciinema 

Debian

# APT Instale Asciinema 

Ubuntu

$ sudo apt install Asciinema 

Fedora

$ sudo dnf install Asciinema 

Instalação da fonte

A maneira mais fácil e recomendada de instalar a versão mais recente de Asciinema da fonte é usando o LinuxBrew Package Manager.

Pré -requisitos

A lista a seguir de pré -requisitos atende aos requisitos de dependência para ambos, LinuxBrew e Asciinema.

  • git
  • GCC
  • fazer
  • rubi

Antes de prosseguir com a instalação do LinuxBrew, verifique se os pacotes acima estão estalados no seu sistema Linux.

Arch Linux

# pacman -s git gcc fazer rubi 

Debian

# Apt Install git gcc make ruby 

Ubuntu

$ sudo apt install git gcc make ruby 

Fedora

$ sudo dnf install git gcc make ruby 

CENTOS

# yum install git gcc make ruby 

Instalação do LinuxBrew

O LinuxBrew Package Manager é um garfo do popular gerente de pacotes homebrew usado no sistema operacional MacOS da Apple. Homebrew é conhecido por sua facilidade de uso, que deve ser visto em breve, quando usamos
LinuxBrew para instalar asciinema. Execute o comando bellow para instalar o LinuxBrew em sua distribuição Linux:

$ ruby ​​-e "$ (Curl -fsl https: // RAW.GithubUserContent.com/linuxBrew/install/master/install) " 

LinuxBrew agora está instalado em seu $ Home/.LinuxBrew/. O que resta é torná -lo parte do seu executável CAMINHO variável de ambiente.

$ echo 'Caminho de exportação = "$ home/.LinuxBrew/Bin: $ PATH "'>> ~//.Bash_profile $ . ~/.Bash_profile 

Para confirmar a instalação do LinuxBraw, você pode usar Brew comando para consultar sua versão:

$ Brew -Version Homebrew 1.1.7 Homebrew/Homebrew-Core (Git Revisão 5229; Última Commit 2017-02-02) 

Instalação de Asciinema

Com o LinuxBrew agora instalado, a instalação de asciinema deve ser fácil como uma única liner:

$ Brew Instale asciinema 

Verifique as correções da instalação de asciinema:

$ asciinema -version asciinema 1.3.0 

Sessão do terminal de gravação

Depois de todo esse trabalho duro com a instalação, finalmente chegou a hora de se divertir. Asciinema é um software extremamente fácil de usar. De fato, a versão atual 1.3 tem apenas algumas opções de linha de comando
disponível e um deles é --ajuda.

Vamos começar gravando uma sessão de terminal usando o gravando opção. O seguinte comando Linux começará a gravar seu terminal
sessão após a qual você terá a opção de descartar sua gravação ou fazer upload no asciinema.Site da Org para uma referência futura.

$ Asciinema rec 

Depois de executar o comando acima, você será notificado de que sua sessão de gravação asciinema foi iniciada e que a gravação pode ser interrompida entrando Ctrl+d Sequência ou execução -chave
de saída comando. Se você estiver no Debian/Ubuntu/Mint Linux, poderá tentar isso como sua primeira gravação de Asciinema:

$ su Senha: # apt install sl # saídas $ SL 

Depois de entrar no último comando de saída, você será solicitado:

$ saída ~ gravação de Asciicast terminado. ~ Pressione para fazer upload, para cancelar. https: // Asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

Se você não quiser fazer upload de suas habilidades super secretas de linha de comando kung-fu para asciinema.Org, você tem a opção de armazenar a gravação de Asciinema como um arquivo local no formato JSON. Por exemplo, o
Após a gravação de asciinema será armazenada como /tmp/my_rec.JSON:

$ asciinema rec /tmp /my_rec.JSON 

Outro recurso de asciinema extremamente útil é o corte do tempo. Se você é um escritor lento ou talvez esteja fazendo multitarefa, o tempo entre a entrada e a execução de seus comandos pode
estique muito. Asciinema registra seus pressionamentos de chaves em tempo real, o que significa que todas as pausas que você faz refletirão sobre o comprimento do seu vídeo resultante. Usar -c opção para reduzir o tempo entre
Suas teclas. Por exemplo, o comando linux a seguir apara o tempo entre as suas teclas para 0.2 segundos:

$ asciinema rec -w 0.2 

Replay sessão de terminal gravada

Existem duas opções para reproduzir suas sessões de terminais gravadas. Primeiro, jogue sua sessão de terminal diretamente de asciinema.org. Isto é, desde que você tenha enviado anteriormente sua gravação para
Asciinema.org e você tem URL válido:

$ Asciinema tocar https: // Asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4 

Como alternativa, use seu arquivo JSON armazenado localmente:

$ asciinema play /tmp /my_rec.JSON 

Usar wget comando para baixar sua gravação enviada anteriormente. Basta adicionar .JSON Para o seu URL existente:

$ wget -q -o Steam_locomotive.JSON https: // Asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.JSON $ Asciinema tocar Steam_locomotive.JSON 

Incorporando o vídeo como HTML

Por fim, asciinema também vem com um Javascript Player independente. O que significa que é fácil compartilhar suas gravações de sessão de terminal em seu site. As linhas abaixo ilustram essa ideia com um
simples índice.html código. Primeiro, baixe todas as peças necessárias:

$ CD/ TMP/ $ MKDIR STEAM_LOCOMOTIVO $ CD STEAM_LOCOMOTIVE/ $ WGET -Q -O STEP.JSON https: // Asciinema.org/a/7lw94ys68gsgr1yzdtzwijxm4.json $ wget -q https: // github.com/asciinema/asciinema-player/liberações/download/v2.4.0/ASCIINEMA-PLAYER.css $ wget -q https: // github.com/asciinema/asciinema-player/liberações/download/v2.4.0/ASCIINEMA-PLAYER.JS 

Em seguida, crie um novo /tmp/Steam_locomotive/índice.html Arquivo com um conteúdo seguinte:

   rel = "STILELES SHEET" TIPO = "TEXT/CSS" HREF = "./ASCIINEMA-PLAYER.css " />    src = "./locomotiva a vapor.json "cols =" 80 "linhas =" 24 ">  src = "./ASCIINEMA-PLAYER.js ">>   

Depois de pronto, abra seu navegador da web, pressione Ctrl+O e abra seu recém -criado /tmp/Steam_locomotive/índice.html arquivo. O resultado deve parecer semelhante ao vídeo de exemplo abaixo:

00: 00-00: 00     

Conclusão

Como mencionado anteriormente, a principal vantagem para gravar suas sessões de terminal com o gravador de Asciinema é o arquivo de saída minúscula que torna seus vídeos extremamente fáceis de compartilhar. O exemplo acima
Produziu um arquivo contendo 58 472 caracteres, ou seja, 58 KB por 22 segundos de sessão de vídeo. Ao revisar o arquivo JSON de saída, mesmo esse número é bastante inflado, principalmente devido ao fato de termos
vi uma locomotiva a vapor correndo pelo nosso terminal. A sessão terminal normal deste comprimento deve produzir um arquivo de saída muito menor.

Em seguida, hora em que você está prestes a fazer uma pergunta nos fóruns sobre sua questão de configuração do Linux e ter dificuldade em explicar como reproduzir seu problema, basta executar:

$ Asciinema rec 

e cole o URL resultante em seu post no fórum.

Solução de problemas

Asciinema precisa de um UTF-8

Mensagem de erro:

Asciinema precisa de um local nativo da UTF-8 para executar. Verifique a saída do comando 'Locale'. 

Solução:
Gerar e exportar Local UTF-8. Por exemplo:

$ localEdef -c -f utf -8 -i en_us en_us.Utf-8 $ export lc_all = en_us.UTF-8 

Tutoriais do Linux relacionados:

  • Melhores gravadores de tela do Ubuntu
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Mastering Bash Script Loops
  • Manipulando a entrada do usuário em scripts bash
  • Coisas para instalar no Ubuntu 20.04
  • Como testar microfone no manjaro linux
  • Como tirar uma captura de tela em Manjaro
  • Sistema Linux Hung? Como escapar para a linha de comando e…
  • Como tirar uma captura de tela no Ubuntu 22.04 Jellyfish…
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?