smart pantalla extender conectar compartir linux macos terminal gnu-screen iterm

linux - pantalla - conectar ubuntu a smart tv wifi



pantalla: ¿cómo activar la pantalla alternativa? (1)

Cuando trabajo en terminal, veo el historial de la última salida de ejecución de comandos de shell. Si ejecuto vim, veo el archivo que abro en pantalla completa. Cuando salgo de vim, puedo ver el historial de los últimos comandos de shell nuevamente.

Sin embargo, cuando uso vim desde la pantalla. Veo la huella del archivo que estaba editando en mi salida de vim en lugar del historial de los últimos comandos de shell. Sin embargo, me gustaría ver la historia del caparazón.

¿Cómo puedo lograr este comportamiento?

Solía:

  • terminal.app y iterm2.app
  • intenté cambiar xterm a xterm-256color (en iterm2.app)
  • marcando y desmarcando "Guardar líneas para scrollback cuando una barra de estado de la aplicación está presente" y "Guardar líneas para scrollback en modo de pantalla alternativa" (en iterm2)
  • agregando termcapinfo xterm ti @: te @ a .screenrc (aunque debería ser una solución al problema opuesto, pero ¿por qué no intentarlo?)
  • sshing a máquinas linux y tratando de usar gnu-screen allí

Hasta ahora no obtuve el comportamiento deseado.

PD

Busqué en Google un poco y vi comentarios de personas que intentan resolver el problema opuesto:

Muchos de ustedes probablemente conozcan el comportamiento molesto de los programas basados ​​en consola como menos o vi restaurando la pantalla después de salir, de modo que el texto que acaba de tener se desvanece.

La idea principal detrás de este comportamiento es si los programas usan una pantalla alternativa para guardar una imagen del historial de shell y lo muestran cuando sale vim. Por lo tanto, si uno quiere resolver el problema opuesto, debería

exorcizar la pantalla alternativa malvada


ACTUALIZACIÓN: me había olvidado de una característica de la screen que desactiva el soporte de pantalla alternativo de forma predeterminada.

Agregue altscreen on su $HOME/.screenrc para habilitarlo. Esto es probablemente todo lo que tienes que hacer; todos los problemas con $TERM , $TERMCAP y $TERMINFO probablemente sean innecesarios. Dejaré el resto de esta respuesta aquí de todos modos.

He tenido esto en mi propio .screenrc tanto tiempo que se me .screenrc .

Para habilitar esta característica para la sesión actual, escriba su carácter de escape de screen ( Cntrl-A por defecto) seguido de :altscreen on Enter .

Sin esto, la screen no responderá a las secuencias de escape, incluso si están definidas en terminfo o termcap.

vim (y less , y la mayoría de los otros programas de pantalla completa basados ​​en curses) usan las smcup y rmcup definidas por la entrada terminfo para su terminal. (Estos se conocen como ti y te , respectivamente, en el sistema de termcap más antiguo). smcup cambia a la pantalla alternativa y rmcup vuelve a la pantalla principal.

Si su entrada terminfo no tiene estas cadenas, los programas no podrán hacer eso.

El comando de pantalla, de forma predeterminada, establece su $TERM en "screen" . Aparentemente, la entrada terminfo de "pantalla" no tiene smcup y rmcup .

Si tiene ganas de hackear entradas terminfo, puede modificar su información existente para "pantalla" para agregar smcup y rmcup . Necesitará el comando infocmp para convertir su terminfo a un texto, y tic para convertirlo a la forma binaria utilizada por terminfo.

Una solución más simple es establecer su variable de entorno $TERM a lo que sea antes de invocar el comando de screen . Casi todos los emuladores de terminal actualmente se basan en el antiguo DEC VT100, por lo que deberían ser lo suficientemente compatibles.

En mi sistema, por ejemplo, cuando inicio sesión tengo TERM=xterm ; es probable que sea algo más en MacOS. Dentro de una sesión de screen , de manera predeterminada, tendría:

$ echo $TERM screen

Podría cambiarlo a xterm así:

$ export TERM=xterm

(De nuevo, reemplace "xterm" por cualquier $TERM en su sistema).

También puedes agregar

term xterm

a su $HOME/.screenrc . De hecho, la screen tiene una serie de opciones para ajustar su configuración de termcap / terminfo; man screen y búsqueda de "terminfo" para los detalles sangrientos.