Desactivar "alternate screen" en "screen"
Este tema está documentado en mil páginas webs, pero lo escribo aquí para tenerlo a mano.
Screen es un multiplexador de terminales [1]. Supe de él hace muchos muchos años y lo empleo con dos fines fundamentales: tener varias sesiones de terminal en la misma ventana SSH y poder reanudar una sesión SSH con todo abierto y funcionando tras un reinicio del ordenador cliente, un corte de la conexión SSH o para migrar la sesión a otro ordenador cliente (del trabajo a casa y viceversa, o al móvil).
Uno de los problemas habituales con screen es perder el scroll de la sesión de terminal. Esto es debido a que screen, por defecto, emplea lo que se llama alternate screen. El truco es desactivarlo. Para ello editamos el fichero .screenrc y añadimos:
termcapinfo xterm ti@:te@
(Si nuestro terminal simula ser un xterm) [2].
Con esto recuperaremos nuestro scroll :-).
Como dije al principio, esto es más que conocido, pero espero haberle solucionado el día a alguien.
[1] | Existen alternativas a screen más modernas y capaces, como tmux, pero llevo con screen muchos años, lo conozco a fondo y la consistencia entre los entornos heterogeneos en los que me muevo es primordial para mí. |
[2] |
Para saber qué tipo de terminal simula nuestro servidor debemos conectar por SSH y revisar la variable de entorno TERM. En mi caso: $ env | grep -i term TERM=xterm Esto hay que hacerlo fuera de la sesión screen, claro. Screen definirá su propia variable de entorno TERM a screen, junto con una variable de entorno TERMCAP personalizada. |