Converter saída do script (1) para pdf

2

Você supostamente pode fazer algum tipo de substituição de baixa tecnologia para screencasts de suas sessões de terminal com script (1):

DESCRIPTION

script makes a typescript of everything displayed on your terminal.  It
is useful for students who need a hardcopy  record  of  an  interactive
session  as  proof  of  an  assignment,  as  the typescript file can be
printed out later with lpr(1).

Eu agora criei um arquivo datilografado. Mas como faço um pdf legível a partir dele?

Eu usei lp com o PDF da impressora em cups-pdf, mas a saída está distorcida. Existem muitos m , 0; e 34;42 onde devem ser espaços em branco.

    
por wolf-revo-cats 05.06.2016 / 06:44

3 respostas

3

Um utilitário que parece funcionar bem com manipulação de escapes ansi e edição de linha de entrada de um texto datilografado é ansi2html.sh que obviamente gera html. Você pode visualizar esta saída em seu navegador e usar seus recursos de impressão, ou, se você não se importar em perder as cores, converta o html de volta para texto simples sem escapes, por exemplo, com

ansi2html.sh <mytypescript | w3m -dump -T text/html >out.txt

Você pode usar enscript para imprimir arquivos de texto simples.

    
por 05.06.2016 / 13:56
3

Existem duas opções:

  • reproduza o script (com pausas, mesmo via XOFF / XON ), e faça screenshots que algumas ferramentas podem converter em PDF

  • tira as seqüências de controle do arquivo, deixando um arquivo de texto simples que pode ser convertido em PDF.

Geralmente eu fiz o último; ambos têm suas armadilhas. Ao criar capturas de tela, talvez você não receba exatamente a foto desejada (embora use scriptreplay , é possível desacelerar as coisas para tornar mais simples pausar a tela). A filtragem de seqüências de escape funciona bem o suficiente para aplicativos de linha de comando, como "ls coloridos", mas mal para capturas de tela de um editor de texto.

Leitura adicional:

por 05.06.2016 / 11:56
0

A contraparte de script(1) é scriptreplay(1) :

DESCRIPTION
    This  program  replays  a typescript, using timing 
    information to ensure that output happens at the same 
    speed as it originally appeared when the script was recorded.

Além disso, scriptreplay fornece a opção de acelerar / desacelerar o replay.

Assim, você não pode simplesmente imprimi-lo. Você pode reproduzir e capturar capturas de tela ou fazer um filme.

    
por 05.06.2016 / 07:29