putty e tela e buffer de rolagem para trás [fechado]

37

Quando eu uso a tela dentro de uma sessão putty, eu não consigo usar o buffer de pergaminho de massa para olhar para o que apenas rolou para fora da tela. Em vez disso, só vejo o que estava acontecendo na sessão de putty antes de minha tela de corrida.

O que estou perdendo aqui? Eu gosto de poder rolar para trás e não quero usar a funcionalidade de tela para examinar o buffer passado; a roda de rolagem do meu mouse não tem ganchos na tela e eu não espero que isso aconteça.

Obrigado!

    
por chris 26.06.2009 / 18:57

4 respostas

38

Você também pode verificar a tela FAQ, que permite uma espécie de comportamento híbrido:

Resumo: adicione a linha ao seu arquivo .screenrc:

termcapinfo xterm ti@:te@

Referência ( FAQ da Putty )

PuTTY's terminal emulator has always had the policy that when the ‘alternate screen’ is in use, nothing is added to the scrollback. This is because the usual sorts of programs which use the alternate screen are things like text editors, which tend to scroll back and forth in the same document a lot; so (a) they would fill up the scrollback with a large amount of unhelpfully disordered text, and (b) they contain their own method for the user to scroll back to the bit they were interested in. We have generally found this policy to do the Right Thing in almost all situations.

Unfortunately, screen is one exception: it uses the alternate screen, but it's still usually helpful to have PuTTY's scrollback continue working. The simplest solution is to go to the Features control panel and tick ‘Disable switching to alternate terminal screen’. (See section 4.6.4 for more details.) Alternatively, you can tell screen itself not to use the alternate screen: the screen FAQ suggests adding the line ‘termcapinfo xterm ti@:te@’ to your .screenrc file.

    
por 04.08.2009 / 17:21
15

Para voltar, pressione ^A ( Ctrl-A , ou seja qual for a seqüência de controle da tela se você a remapear) e, em seguida, Esc . Isso permitirá que você mova o cursor para cima e para baixo. PgUp / PgDn permite rolar a tela para cima e para baixo.

A razão para isso é a maneira como a tela manipula o buffer de rolagem. A tela sempre desenha a área de texto completo e tem seu próprio backbuffer que você deve controlar com a tela. Isto é semelhante ao que usam programas, como o vi ou joe, que ocupam a área de texto inteiro e fornecer seu próprio buffer:. Rolagem para cima em seu emulador de terminal apenas dá lixo, mas a rolagem para cima dentro desses programas dá o resultado esperado

    
por 26.06.2009 / 19:08
2

Isso é por causa de como a tela funciona. Tela faz uma atualização dinâmica de toda a sua área de texto, ao invés de empurrar novas linhas na parte inferior da tela, que por sua vez, empurra a linha superior para a área de rolagem para trás. Ele redesenha toda a tela quando uma nova linha é exibida, o que evita que mais dados entrem em rolagem reversa. O mesmo problema existe em 'menos' quando não estiver usando a tela.

    
por 26.06.2009 / 19:05
1

O screen with Putty scrollback está funcionando automaticamente no Solaris 10. Ele parece estar fazendo o que o KnipSter disse por padrão, mesmo que eu não tenha um arquivo .screenrc. O problema com essa abordagem é que, se você desanexar e anexar novamente, não haverá um buffer de rolagem no Putty e você deverá recorrer ao uso do scrollback do Screen, conforme descrito por Scagnelli.

    
por 20.08.2009 / 10:24