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.