GNU Screen
Parte de Proyecto GNU
Screen.

Captura de una sesión de GNU Screen.
Información general
Tipo de programa CLI
Lanzamiento inicial 1987
Licencia GNU GPL
Versiones
Última versión estable 5.0.1 (info) (12 de mayo de 2025 (1 año y 3 días))
Enlaces

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

editar

Persistencia

editar

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

editar

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

editar

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

editar

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

editar
  1. «Introduction to GNU Screen». Free Software Foundation. 2010. Consultado el 7 de octubre de 2010. 
  2. «[screen-devel] [bug #50142] root exploit 4.5.0». Proyecto GNU. Archivado desde el original el 25 de enero de 2017. Consultado el 9 de abril de 2018. «The check opens the logfile with full root privileges. This allows us to truncate any file or create a root-owned file with any contents in any directory and can be easily exploited to full root access in several ways.» 
  3. Encinar, Josue (9 de abril de 2018). «Elevandonos a Root en Linux» (html). Boomernix. Archivado desde el original el 9 de abril de 2018. Consultado el 9 de abril de 2018. «Por hacer un resumen, el error recae en la apertura del registro con privilegios root, dando la posibilidad de crear un archivo cualquiera con el propietario root.» 
  4. (20 Mar 1987). "BSD screen manager -- Part 1 of 2 - (nf)". net.sources. (Google Groups).
  5. (20 Mar 1987). "BSD screen manager -- Part 2 of 2 - (nf)". net.sources. (Google Groups).
  6. screen ftp

Enlaces externos

editar

📚 Artikel Terkait di Wikipedia

Tmux

tmux es un multiplexor de terminal para sistemas tipo unix, similar a GNU Screen o Byobu que permite dividir una consola en múltiples secciones o generar

Byobu (software)

Byobu es un multiplexor de terminales para sistemas tipo unix, similar a GNU Screen o tmux, que permite dividir una consola en múltiples secciones o generar

Blue Screen Life

«Blue Screen Life» de Wikipedia en inglés, concretamente de esta versión, publicada por sus editores bajo la Licencia de documentación libre de GNU y la

SCREEN Mode

SCREEN Mode o Screen mode (スクリーンモード, Sukurīnmōdo?), es una unidad musical japonesa que debutó el 27 de noviembre de 2013 bajo el sello Lantis. Los fanes

Pantalla táctil

Una pantalla táctil​ (en inglés: touch screen), en algunos lugares también llamada tóuch; es una pantalla que mediante un toque directo sobre su superficie

IrcII

portable y corre fácilmente en segundo plano usando terminales como Unix GNU Screen. Como Unix y tipo-Unix los sistemas desarrollados y de creciente renombre

Ncurses

como el ‘GNU Screen’ y ‘w3m’, usan solo la interfaz ‘termcap’, realizando el manejo de pantalla dentro de la aplicación. Otros, como el ‘GNU Midnight

Dígrafos y trígrafos

editor de texto Vim tiene soporte para dígrafos, siguiendo el RFC 1345. GNU Screen contiene un comando de dígrafo, asignado a ^A ^V por defecto. El lenguaje