Pregunta

¿Cómo puedo pantalla de configuración de GNU para permitir la rueda de desplazamiento del ratón para desplazarse alrededor en el búfer de desplazamiento? Traté de Google acerca de esto, pero la mayoría son los impactos sobre la manera de permitir que las aplicaciones dentro de la pantalla para utilizar la rueda de desplazamiento.

¿Fue útil?

Solución

Creo que se puede simplemente añadir una línea como esta a su ~/.screenrc:

termcapinfo xterm* ti@:te@

Donde "xterm *" es un partido pegote de su término actual. Para confirmar que funciona, ^ A ^ D para desprenderse de su pantalla, a continuación, screen -d -r para volver a unir, a continuación, ls un par de veces, y tratar de desplazarse hacia atrás. A mí me funciona.


¿Qué es esta magia? Bueno, vamos a consultar las páginas del manual.

screen(1) dice:

termcapinfo term terminal-tweaks [window-tweaks]
  [..]
  The first argument specifies which terminal(s) should be affected by this
  definition. You can specify multiple terminal names by separating them with
  `|'s. Use `*' to match all terminals and `vt*' to match all terminals that
  begin with "vt".
  [..]
  Some examples:

      termcap xterm*  LP:hs@

  Informs screen that all terminals that begin with `xterm' have firm
  auto-margins that allow the last position on the screen to be updated (LP),
  but they don't really have a status line (no 'hs' -  append  `@'  to turn
  entries off).  Note that we assume `LP' for all terminal names that start
  with "vt", but only if you don't specify a termcap command for that terminal.

Desde termcap(5):

String capabilities
    [..]
    te   End program that uses cursor motion
    ti   Begin program that uses cursor motion

Otros consejos

En la pantalla, debe introducir primero el "modo de desplazamiento hacia atrás" (o "modo de copia") para poder desplazarse alrededor en el búfer de desplazamiento: combinación de teclas Ctrl - a Esc o Ctrl - a Ctrl - [. A continuación, puede desplazarse por la historia usando las teclas Arriba y Abajo (o Ctrl - b , Ctrl - f para mover una página).

En ese modo, la rueda del ratón también debería funcionar, si funciona en otras aplicaciones. Se termina el "modo de desplazamiento hacia atrás" con Esc .

En cuanto a desplazamiento del búfer de desplazamiento sin entrar en primer modo de desplazamiento hacia atrás, que probablemente no es posible sin la modificación de pantalla. Nunca he oído hablar de una forma de acceder al búfer de desplazamiento, además del modo de desplazamiento hacia atrás.

El excelente artículo que Jon Z se refiere a ya no está disponible, pero yo era capaz de pescar la versión de sólo texto de la misma desde la caché de Google. Estoy ahorrando aquí en el caso de que Google gotas así en el futuro. post original era de Mikael Ståldal así crédito a quien se debe.

-

¿Cómo utilizar la rueda del ratón en la pantalla de GNU

GNU Screen tiene soporte para desplazamiento hacia atrás, pero por defecto, usted tiene que utilizar las teclas incómodas para usarlo. Me gustaría ser capaz de utilizar Shift-Re Pág, Shift-PageDown y la rueda del ratón para desplazarse, al igual que se puede hacer en xterm.

No fue fácil para configurar la pantalla para esto, y que implica la cooperación con el emulador de terminal. Pero finalmente logré alcanzar una solución que funciona bastante bien. Agregue esto a su archivo ~ / .Xresources (es necesario cerrar la sesión para que esto tenga efecto):

XTerm*saveLines: 0
XTerm*vt100.translations: #override \n\
  Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  Lock @Num_Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  @Num_Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
  <Btn4Down>: string(0x1b) string("[5S") \n\
  Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  Lock @Num_Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  @Num_Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
  <Btn5Down>: string(0x1b) string("[5T") \n\
  Shift <KeyPress> Prior: string(0x1b) string("[25S") \n\
  Shift <KeyPress> Next: string(0x1b) string("[25T") \n

A continuación, añadir esto a su archivo ~ / .screenrc:

defscrollback 1000

# Scroll up
bindkey -d "^[[5S" eval copy "stuff 5\025"
bindkey -m "^[[5S" stuff 5\025

# Scroll down
bindkey -d "^[[5T" eval copy "stuff 5\004"
bindkey -m "^[[5T" stuff 5\004

# Scroll up more
bindkey -d "^[[25S" eval copy "stuff \025"
bindkey -m "^[[25S" stuff \025

# Scroll down more
bindkey -d "^[[25T" eval copy "stuff \004"
bindkey -m "^[[25T" stuff \004

Esto funciona en xterm. No estoy seguro de si funciona en otros emuladores de terminal.

Tenga en cuenta que esto desactiva el soporte de desplazamiento normal en xterm, sólo será capaz de desplazarse cuando se utiliza la pantalla. Es posible que desee comenzar xterm como esto se utilizará siempre la pantalla:

xterm -e screen

Para OS X (Leopard), los siguientes trabajado para mí:

http://slaptijack.com/system-administration/ mac-os-x-terminal-y-de pantalla gnu-scrollback /

En pocas palabras, se trata de añadir lo siguiente a ~ / .screenrc en el host remoto (el que está en la pantalla de funcionamiento):

defscrollback 5000
termcapinfo xterm* ti@:te@

Y para usar la rueda del ratón en un VIM dentro de GNU Screen:

[. Vimrc]

set mouse=a             " hold shift to copy xterm
set ttymouse=xterm2     " necessary for gnu screen & mouse

Pulse Ctrl + a seguido por [

La barra de título de su terminal ahora debería decir el modo de copia.

Ahora las teclas de flecha y la rueda del ratón debería funcionar como se espera.

Para volver a la normalidad Esc presione o pulse Intro un par de veces.

Los siguientes trabajado para mí en tanto Cygwin y masilla: Editar y añadir .screenrc

terminfo xterm* ti=:te=

Configuración TERM variable para vt100 en lugar de xterm antes pantalla también funciona en funcionamiento.
He estado usando esto por un largo tiempo, funciona como un encanto.

Agregue esto a su .bashrc:

# make scrollbar / wheel scrolling work when running screen in gnome-terminal (or other)
if [ "$TERM" = "xterm" ]; then
  export TERM=vt100
fi

-

A modo de referencia, mi .screenrc tiene este (no es necesario para este yo sepa):

# Extend the vt100 desciption by some sequences.
termcap  vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC

Si las respuestas anteriores no funcionan para usted, asegúrese de que no tiene un subtítulo o alwayslastline establecido en su .screenrc. Si los tiene, esto no funcionará:

termcapinfo xterm* ti@:te@

Si necesita esta información, se puede tratar de colocarlo en el título de su terminal (con termcapinfo)

La solución cuando se utiliza "Ubuntu 16.04.2 LTS" es como sigue:

a). Actualización de $ HOME / .screenrc como respuestas anteriores han especificado:

termcapinfo xterm* ti@:te@

b). Use "Configuración". "Aplicaciones preferidas" para alterar el terminal por defecto para xterm, mediante la selección de la "Terminal X" uno en la lista desplegable.

Algunas notas superfluas

  • Ninguno de los otros terminales, incluyendo la instalación de "lxterminal", trabajó para mí, incluso cuando alteré la línea termcapinfo a "*" en lugar de "xterm *".

  • Al hacer clic en el botón de menú en la esquina superior izquierda de la pantalla, puede obtener el cuadro de diálogo Configuraciones con el tercero icono de la parte inferior derecha rincón.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top