Acessar o buffer de rolagem do xterm como um arquivo

8

É possível, de alguma forma, acessar o buffer de rolagem do xterm como um arquivo (somente leitura) ou um dispositivo de caractere?

A questão central (para evitar x / y "problematizando"), é esta: às vezes, o comando que acabei de executar cria uma saída não determinística e gostaria de usar sua saída de alguma forma sem pensar em usá-la. No momento, a única maneira de fazer isso (que eu saiba) é usar o mouse para selecionar o texto na seleção principal.

    
por John Z. 29.04.2018 / 18:20

2 respostas

6

Você pode fazer isso dizendo ao xterm para imprimir os dados usando o % açãoprint-everything (normalmente não ligada a uma chave).

Como alternativa, há uma sequência de escape documentada em Sequências de controle do XTerm :

CSI ? Pm i                                                                      
          Media Copy (MC), DEC-specific.                                        
            Ps = 1  -> Print line containing cursor.                            
            Ps = 4  -> Turn off autoprint mode.                                 
            Ps = 5  -> Turn on autoprint mode.                                  
            Ps = 1  0  -> Print composed display, ignores DECPEX.               
            Ps = 1  1  -> Print all pages.

que pode ser chamado como

printf '3[?11i'

Mas qualquer abordagem (para gravar em um arquivo) precisaria de um printerCommand configurado.

    
por 29.04.2018 / 18:29
1

Você sempre pode usar algo como o tmux, que fornece capture-pane que faz o que você quer, juntamente com divisões (vertical e horizontal) e multiplexação, suporte a sessões e uma série de outras coisas.

Ou use um emulador de terminal diferente xfce4-terminal também é leve e fornece um fácil Save Contents

    
por 29.04.2018 / 18:44

Tags