Asciinema –max-wait sanity

Asciinema 1.0 adicionou uma incrível nova opção à interface de linha de comando que permite definir o tempo máximo de inatividade de um terminal.

A opção é: –max-wait [segundos]

Você pode consultar a postagem de lançamento no blog asciinema aqui

A inatividade do terminal se refere à saída e não ao tempo que um processo leva para ser concluído, o que faz com que essa chave não funcione corretamente para comandos que relatam o progresso de forma incremental.

Exemplo

$ asciinema rec local.json --max-wait 2
$ sudo apt
-get update
...
Get:7 http://archive.ubuntu.com trusty/universe Sources [7926 kB]
10% [5 Packages 300kB/7589 kB 2%] 400kB/s 1s
$

Mesmo que o acima funcione perfeitamente bem se o seu comando tiver notificação de progresso (semelhante ao apt-get ), –max-wait não será capaz de fazer seu trabalho corretamente.

A solução óbvia seria apenas redirecionar a saída de um comando para / dev / null, embora isso elimine completamente a saída que você não quer perder.

$ asciinema rec local.json --max-wait 2
$ sudo apt
-get update > /dev/null
$

Uma solução melhor é encontrar uma opção para o comando que você está tentando executar que possa suprimir apenas o progresso. No caso do apt-get , você pode recorrer à opção -q conforme mostrado abaixo.

$ asciinema rec local.json --max-wait 2
$ sudo apt
-get update -q
...
Get:7 http://archive.ubuntu.com trusty/universe Sources [7926 kB]
$

O comando não irá mais relatar qualquer progresso, permitindo que –max-wait do Asciinema funcione como pretendido ao reproduzir uma gravação.