iTerm2 - ssh - tela gnu - janela dividida: a roda de rolagem não funciona

4

Estou usando o Mac OS X como uma estação de trabalho. Com o iTerm2, conecto-me a um host remoto (Ubuntu Server) usando este comando:

ssh -t user@host screen -D -R -R

Mas não consigo fazer com que a roda de rolagem funcione corretamente, especialmente ao usar janelas divididas. Quando estou rolando para cima, espero ver o buffer de rolagem da janela dividida atual; em vez disso, todo o buffer de rolagem do iTerm2 sobe, revelando parte da saída dos comandos antes do ssh .

Colocando termcapinfo xterm* ti@:te@ em ~/.screenrc , como sugerido aqui , nos diretórios home locais e remotos, não altera o comportamento.

A variável de ambiente TERM é xterm-256color em ambos os consoles.

    
por ris8_allo_zen0 05.02.2016 / 15:45

3 respostas

3

A postagem relacionada Rolagem do terminal do Mac OS X e da tela do GNU essencialmente aconselha a suprimir a mudança para a tela alternativa do xterm. Enquanto na tela alternativa, você não seria necessariamente capaz de usar a roda de rolagem para ver o scrollback do xterm . Um programa rodando em xterm veria as seqüências de escape se habilitar o protocolo do mouse xterm.

Por padrão, screen não faz isso. Ele tem uma configuração que ativa o protocolo do mouse, chamado mousetrack :

This command determines whether screen will watch for mouse clicks. When this command is enabled, regions that have been split in various ways can be selected by pointing to them with a mouse and left- clicking them. Without specifying on or off, the current state is displayed. The default state is determined by the "defmousetrack" command.

Mas

Em vez disso (veja o primeiro par de links), alguns usuários alteraram a configuração do xterm para enviar comandos de tela como resultado da roda de rolagem. Uma desvantagem de fazer isso é que ele funciona apenas para a combinação de tela xterm +.

por 05.02.2016 / 22:50
1

Estou tentando descobrir isso também. Até agora, aprendi que adicionando esta linha termcapinfo:

termcapinfo xterm 'hs:ts=\E]2;:fs=
# change the hardstatus settings to give an window list at the bottom of the
# screen, with the time and date and with the current window highlighted
#hardstatus alwayslastline
#hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
7:ds=\E]2;screen
termcapinfo xterm 'hs:ts=\E]2;:fs=
# change the hardstatus settings to give an window list at the bottom of the
# screen, with the time and date and with the current window highlighted
#hardstatus alwayslastline
#hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
7:ds=\E]2;screen%pre%7:ti@:te@'
7:ti@:te@'

e removendo minha linha de status:

%pre%

fará o scroll do mouse funcionar bem com a tela dentro de iTerm2.

Mas eu quero minha linha de status: (

    
por 19.03.2016 / 00:53
0

De acordo com este artigo , o seguinte comando funciona para mim.

$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true
    
por 08.09.2017 / 02:42