Converte a saída do terminal tty para texto simples

2

Eu quero capturar a saída de texto do aplicativo de console do Windows que eu corro com wineconsole --backend=curses ... .

O aplicativo em si usa apenas stdio chato. Infelizmente, o vinho faz muita fuga da saída, de tal forma que é inútil ao redirecioná-lo para um arquivo.

wineconsole usa a variável de ambiente TERM - por exemplo, ele se comporta um pouco diferente quando eu defino TERM=vt100 ou TERM=linux .

Acho que estou procurando por um TERM muito básico em que nenhuma limpeza de tela é feita.

Ou uma ferramenta que emula um tty e traduz a saída em texto normal.

    
por maxschlepzig 05.04.2016 / 21:56

1 resposta

1

Você pode tentar definir TERM=dumb , o que pode funcionar - se wineconsole não insistir em fazer uma exibição em tela cheia.

Se não, como observado, script faz parte da solução. Isso permite que você execute seu programa, coletando de forma transparente todos os dados enviados para a tela em um arquivo de texto.

Dar sentido a isso é o resto da solução. Se wineconsole simplesmente escrever da esquerda para a direita / de cima para baixo, é possível filtrar as fugas (incluindo cores) e obter algum texto simples útil. Se ele pular pela tela, mostrando formulários, etc., você não conseguirá fazer isso muito bem. Mas filtrar as fugas (mesmo que parcialmente) é melhor que nada.

O tópico de filtrar sequências de escape aparece ocasionalmente, por exemplo, Posso programaticamente" gravar "códigos de controle ANSI em um arquivo usando utilitários unix?

Leitura adicional:

por 05.04.2016 / 23:14