GNU Screen es un programa informático de Multiplexación de terminales.[1]​ Fue desarrollado por el proyecto GNU. Permite a los usuarios acceder a múltiples sesiones separadas dentro de una sola ventana de terminal o en una sesión de terminal remota. Es útil para tratar con múltiples programas en la línea de comandos y para separar programas de la terminal que los lanzó.

Puede imaginar a GNU Screen como una versión en texto de gestores de ventanas gráficos o como una forma de abrir terminales virtuales dentro de cualquier sesión accedida. Screen consiste en una envoltura que permite usar múltiples programas de texto al mismo tiempo y provee características que permiten al usuario usar programas productivamente desde una única interfaz.

Características

Persistencia

Similar a VNC, GNU Screen permite al usuario comenzar aplicaciones desde un computador, reconectar desde un computador distinto y continuar usando la misma aplicación sin tener que reiniciarla. De este modo se consigue que la migración entre localizaciones como el trabajo y el hogar sea simple. Screen provee funcionalidad de terminal-agnóstica de modo que los usuarios pueden conectar y reconectar usando distintos tipos de terminal, permitiendo a las aplicaciones seguir ejecutándose sin tener en cuenta sus cambios.

Ventanas múltiples

Se pueden crear múltiples sesiones en la terminal, cada cual corriendo una aplicación. Las ventanas son enumeradas, y el usuario puede intercambiarlas por medio del teclado. Algunos emuladores de GUI proveen de pestañas o alguna otra funcionalidad similar para esto. Cada ventana tiene su propio scroll-back buffer, de manera que la salida es capturada incluso cuando la ventana no está siendo mostrada. Este historial puede ser guardado aun cuando se migra a otro computador.

Vulnerabilidades

El Proyecto GNU recibió de manera anónima un "bug" en el que se advierte que se puede utilizar el GNU Screen como vía para escalar privilegios y obtener control de un ordenador con credenciales de root.[2]​ Hasta la fecha la vulnerabilidad no ha sido parchada por lo que crackers utilizan guiones en lenguaje Python secundados con bibliotecas en lenguaje C para ilustrar el acceso y demostrar la vulnerabilidad.[3]​ La versión afectada es GNU Screen 4.5.0 y ha sido clasificada como de severidad normal y prioridad normal en su resolución.

Historia

Screen fue diseñado originalmente por Oliver Laumann y Carsten Bormann en la Universidad Técnica de Berlín y publicado en 1987.[4][5]

Los criterios de diseño incluían la emulación VT100 (incluyendo ANSI X3.64 (ISO 6429) e ISO 2022) y un rendimiento razonable para un uso diario intensivo cuando los terminales basados en caracteres aún eran comunes. Más tarde se añadió la novedosa función de desconexión/desconexión.

Alrededor de 1990, Laumann traspasó el mantenimiento del código a Jürgen Weigert y Michael Schroeder en la Universidad de Erlangen-Núremberg, quienes más tarde trasladaron el proyecto al Proyecto GNU y añadieron funciones como el desplazamiento hacia atrás, la pantalla dividida, copiar y pegar y la pantalla compartida.[6]

En 2014, el desarrollo se había ralentizado. Amadeusz Sławiński, que quería cambiar esta situación, se ofreció para ayudar. En respuesta, Laumann le concedió el mantenimiento. Sławiński procedió a publicar la primera nueva versión de Screen en media década. Como había algunas versiones no oficiales de "Screen 4.1" circulando por Internet, llamó a esta nueva versión "Screen 4.2.0".

En mayo de 2015, en la Conferencia openSUSE, Jürgen Weigert invitó a Alexander Naumov a ayudar a desarrollar y mantener GNU screen. Dos meses más tarde, con la ayuda de Alex, se publicó GNU screen 4.3.0.

Referencias

Enlaces externos

  • GNU's Screen Sitio Oficial
  • GNU Screen en GNU Savannah
  • GNU Screen El manual del programa
  • El manual del usuario en pantalla
  • Introducción a GNU Screen

Conhecendo o GNU Screen Alura

How to install GNU Screen on Linux Numato Lab Help Center

Introducción a GNU Screen, un multiplexor de terminales. — Plone site

Define a Great GNU screen Profile Using .screenrc

2 Alternatives to GNU Screen for Linux Terminal Multitasking