Faça a tela funcionar como um terminal (rolagem + tela alternativa) [duplicado]

5

Eu gostaria de usar screen (do Terminal GNOME, via ssh ) como eu uso o Terminal GNOME sem screen , ou o mais próximo possível disso. Especificamente:

No Terminal GNOME, eu posso rolar para trás usando a roda do mouse, a barra de rolagem ou Shift + PgUp / PgDn . Em screen , eu tenho que ir para o modo de cópia ( Ctrl + A , [) para poder rolar para trás (roda do mouse funciona depois disso). O comportamento de rolagem pode ser alterado (consulte esta resposta e esta resposta ) mas esta solução tem as seguintes falhas :

  1. Quando abro um arquivo com less ou vim , posso rolar por cima da janela do editor com a roda do mouse e ver o conteúdo anterior do terminal.
  2. Quando fecho o editor, seu conteúdo fica no buffer de rolagem (às vezes em várias cópias) em vez de desaparecer.

Esse comportamento pode ser alterado usando altscreen on (consulte esta resposta ) mas o único efeito é que quando o editor é fechado, o conteúdo do terminal antigo é acrescentado ao buffer de rolagem no meu janela de terminal para que eu ainda possa ver a porcaria do editor quando eu rolar para trás usando a roda do mouse.

Isso significa que não é possível ter uma boa rolagem em screen ? Basicamente, tudo que eu gostaria de ser capaz de rolar como no modo de cópia (usando a roda do mouse e a barra de rolagem, se possível), mas sem precisar entrar no modo de cópia.

    
por ondra.cifka 18.04.2016 / 23:32

1 resposta

3

Talvez você não possa ter o que está pedindo.

Do ponto de vista do terminal:

  • screen é um aplicativo de tela cheia (sem trocadilho) como vi ou less .
  • o terminal implementa a rolagem e uma tela alternativa.
  • quando o terminal está no modo de tela alternativa, ele não é adicionado à sua área de rolagem, como no modo normal.
  • no gnome-terminal (e talvez alguns outros - uma opção no xterm), o terminal enviará as teclas de seta para cima / para baixo para o aplicativo quando estiver no modo de tela alternativa.
  • quando não no modo de tela alternada, o seu terminal percorrerá a tela visível e a área de rolagem do terminal sem nenhuma notificação para o aplicativo em execução dentro dele.

De screen :

  • screen não sabe nada sobre mouses ou rolagem; ele passa essa informação para o aplicativo em execução dentro de screen .
  • screen simula uma tela alternativa; não tem como acessar a tela alternativa do terminal.
  • você pode desativar o recurso de tela alternativa do terminal, conforme indicado na pergunta.

Em resumo, como screen não tem como acessar o scrollback do terminal, suas opções disponíveis são aquelas que o terminal fornece.

    
por 19.04.2016 / 00:02