XScreenSaver


XScreenSaver es una colección gratuita y de código abierto de más de 240 [3] protectores de pantalla para los sistemas operativos Unix , macOS , iOS y Android . Fue creado por Jamie Zawinski en 1992 y todavía lo mantiene, con nuevos lanzamientos que salen varias veces al año. [4]

Salvapantallas Xscreensaver "GLMatrix"

El software libre y los sistemas operativos tipo Unix de código abierto que ejecutan el sistema X Window (como Linux y FreeBSD ) utilizan XScreenSaver casi exclusivamente. [ cita requerida ] En esos sistemas, hay varios paquetes: uno para el marco de bloqueo y ahorro de pantalla, y dos o más para los modos de visualización, divididos de forma algo arbitraria. [5]

En los sistemas Macintosh , XScreenSaver funciona con el protector de pantalla macOS integrado .

En los sistemas iOS , XScreenSaver es una aplicación independiente que puede ejecutar cualquiera de los hacks en pantalla completa.

En los sistemas Android , los modos de visualización XScreenSaver funcionan como protectores de pantalla normales (a los que Android a veces se refiere como "Daydreams") o como fondos de pantalla en vivo .

No existe una versión oficial para Microsoft Windows , y el desarrollador desalienta a cualquiera a portarla. El autor considera que Microsoft es "una empresa con prácticas comerciales despiadadas, depredadoras y anticompetitivas" [6] y dice que, como uno de los autores originales de Netscape Navigator , tiene un "rencor personal" contra Microsoft debido a su comportamiento. durante la Primera Guerra de los Navegadores .

El demonio XScreenSaver es responsable de detectar la inactividad, dejar en blanco y bloquear la pantalla y lanzar los modos de visualización. Los modos de visualización (denominados "hacks" del uso histórico " hack de visualización ") son programas independientes.

Esta es una característica de seguridad importante, ya que los modos de visualización están en un espacio aislado en un proceso separado del marco de bloqueo de pantalla. Esto significa que un error de programación en uno de los modos de visualización gráfica no puede comprometer el bloqueador de pantalla en sí (por ejemplo, un bloqueo en un modo de visualización no desbloqueará la pantalla).

También significa que un protector de pantalla de terceros se puede escribir en cualquier idioma o con cualquier biblioteca de gráficos, siempre que sea capaz de renderizarse en una ventana provista externamente.

Por razones históricas y portabilidad, los cortes incluidos están escritos en ANSI C . Aproximadamente la mitad de ellos usa la API X11 y aproximadamente la mitad usa la API OpenGL 1.3.

En lugar de bifurcar el código base y volver a escribir los trucos para apuntar a diferentes plataformas, XScreenSaver contiene una serie de capas de compatibilidad.

  • Para permitir que los hacks basados ​​en X11 se ejecuten de forma nativa en macOS e iOS , XScreenSaver contiene una implementación completa de la API X11 construida sobre Cocoa ("jwxyz"). [7]
  • Para permitir que los hacks basados ​​en OpenGL 1.3 se ejecuten de forma nativa en sistemas iOS y Android , que solo admiten OpenGL ES , XScreenSaver contiene una implementación de la API OpenGL 1.3 integrada en OpenGL ES 1.0 ("jwzgles"). [7]
  • Y para permitir que los hacks basados ​​en X11 se ejecuten de forma nativa en iOS y Android , XScreenSaver también contiene una implementación de la API X11 en términos de OpenGL ES 1.0. [8]

Además de aislar los modos de visualización, el demonio XScreenSaver se vincula con la menor cantidad posible de bibliotecas. En particular, no se vincula con marcos de GUI como GTK o KDE , sino que solo usa Xlib sin formato para representar el cuadro de diálogo de desbloqueo.

En los últimos años, algunas distribuciones de Linux han comenzado a utilizar los marcos de pantalla en blanco gnome-screensaver o kscreensaver de forma predeterminada en lugar del marco incluido con XScreenSaver. [9] En 2011, Salvapantallas un fork ya que tanto su compañero-protector de pantalla y la canela-salvapantallas . Las versiones anteriores de estos marcos todavía dependían de la colección de protectores de pantalla XScreenSaver, que representa más del 90% del paquete. [10] Sin embargo, en 2011, la versión 3 de gnome-screensaver eliminó por completo la compatibilidad con los protectores de pantalla, ya que solo admite un simple borrado de pantalla, [11] y, a partir de 2018, el cinnamon-screensaver 4.0.8 de Linux Mint ya no admite los hacks XScreenSaver. [12]

Aquellas distribuciones de Linux que han reemplazado XScreenSaver con otros marcos de bloqueo de pantalla han sufrido problemas de seguridad notables. Esos otros marcos tienen un historial de errores de seguridad que permiten que la pantalla se desbloquee sin una contraseña, por ejemplo, simplemente manteniendo presionada una tecla hasta que el casillero se bloquee. [13] [14] [15] [16] [17] [18] [19]

En 2004, Zawinski había escrito sobre las decisiones arquitectónicas tomadas en XScreenSaver con el objetivo de evitar esta clase de error, [20] lo que lo llevó a bromear en 2015: "Si no está ejecutando XScreenSaver en Linux, entonces es seguro asumir que tu pantalla no se bloquea ". [21]

Los trucos incluidos son muy variados, desde una simple psicodelia en 2D hasta demostraciones en 3D de principios matemáticos complejos, simulaciones de otros sistemas informáticos y recreaciones de artefactos y efectos de películas.

Aunque muchos de los hacks más nuevos aprovechan al máximo el poder de las computadoras modernas, la antigüedad del proyecto significa que algunos de los hacks más antiguos pueden parecer anticuados para los ojos modernos, ya que fueron escritos originalmente para computadoras mucho menos potentes.

Entre los ejemplos de hacks se incluyen: [3]

  • Atlantis : una animación OpenGL que muestra ballenas y delfines .
  • BSOD : muestra una pantalla falsa fatal de variantes de la muerte de muchos sistemas informáticos, incluida la pantalla azul de la muerte de Microsoft Windows , un pánico del kernel de Linux , un bloqueo de Darwin , un error de " Guru Meditation " de Amiga , una Mac triste y más.
  • Apple2 : simula una computadora Apple II , mostrando a un usuario que ingresa un programa BASIC simple y lo ejecuta. Cuando se ejecuta desde la línea de comandos, es un emulador de terminal completamente funcional (como lo es Phosphor ).
  • Código de barras : varios códigos de barras de colores se desplazan por la pantalla.
  • Flujo : una pantalla en 3D de atractores extraños .
  • Tostadoras voladoras : las tostadoras 3D vuelan, inspiradas en el protector de pantalla clásico After Dark .
  • Engranajes : una animación OpenGL de engranajes entrelazados y engranajes planetarios .
  • GLMatrix : una animación OpenGL similar a la secuencia del título " lluvia digital " que se ve en la trilogía Matrix .
  • Molécula : una animación de OpenGL que muestra modelos de relleno de espacio o de bola y palo de una serie de fármacos comunes y otras moléculas, de las cuales treinta y ocho (38) están integradas. También puede leer PDB (Protein Data Bank) desde un archivo, o archivos colocados en un directorio, como entrada.
  • Penrose : mosaicos de la pantalla de forma aperiódica con mosaicos de Penrose de colores .
  • Foco : coloca un foco en movimiento sobre el escritorio al estilo de las secuencias de apertura de la película de James Bond .
  • Sproingies : una animación al estilo del videojuego Q * bert .
  • Webcollage : crea collages a partir de imágenes aleatorias que se encuentran en la Web.
  • XAnalogTV : simula un televisor de tubo de rayos catódicos analógico , incluidos los artefactos visuales y los problemas de recepción.
  • XPlanet : dibuja planetas y otros cuerpos celestes que se actualizan en tiempo real.
  • XMatrix : animaciones similares a la secuencia de " lluvia digital " que se ve en la trilogía Matrix .

Algunos de los trucos incluidos son muy similares a los efectos de demostración creados por la escena de demostración :

  • Boing : basado en el programa de 1984 considerado como la primera demostración de Amiga , que muestra la pelota roja y blanca rebotando.
  • Bumps : una implementación del mapeo de relieve 2D a pantalla completa .
  • MetaBalls : otro efecto de demostración común.
  • Moire2 : círculos de interferencia en movimiento similares a los comunes en demostraciones antiguas de Amiga.
  • ShadeBobs : otro efecto común en demostraciones antiguas de Amiga.
  • XFlame : el efecto de fuego basado en filtros, también conocido como efecto de llama.

XScreenSaver apareció en Sleep Mode: The Art of the Screensaver , [22] una exposición de galería comisariada por Rafaël Rozendaal en el Het Nieuwe Instituut de Rotterdam en 2017.

Medios relacionados con XScreenSaver en Wikimedia Commons

  1. ^ "Registro de cambios" . Consultado el 3 de abril de 2021 .
  2. ^ "Lista de derechos de autor de Debian XScreenSaver" . 2020-12-24 . Consultado el 24 de diciembre de 2020 .
  3. ^ a b "Lista de protectores de pantalla incluidos en la colección XScreenSaver" . 2020-12-08 . Consultado el 24 de diciembre de 2020 .
  4. ^ "Historial de versiones de XScreenSaver" . 2020-12-08 . Consultado el 24 de diciembre de 2020 .
  5. ^ "Lista de paquetes Debian XScreenSaver" . 2020-12-24 . Consultado el 24 de diciembre de 2020 .
  6. ^ "XScreenSaver: versión de Windows" . www.jwz.org . Consultado el 24 de diciembre de 2020 .
  7. ^ a b "Entrada de blog de jwz.org sobre el puerto iOS" . 2012-06-19 . Consultado el 24 de diciembre de 2020 .
  8. ^ "Entrada de blog de jwz.org sobre el puerto de Android" . 2016-05-23 . Consultado el 24 de diciembre de 2020 .
  9. ^ "Preguntas frecuentes sobre XScreenSaver sobre KDE / Gnome" . Consultado el 24 de diciembre de 2020 .
  10. ^ "Distribución del código fuente de XScreenSaver" . 2020-12-08 . Consultado el 24 de diciembre de 2020 .
  11. ^ Campagna, Giovanni (21 de marzo de 2011). "Re: ¿Cuál es el estado del protector de pantalla en GNOME3?" . gnome-shell (lista de correo).
  12. ^ "Anuncio de Linux Mint 19.1" . 2018-12-20 . Consultado el 24 de diciembre de 2020 .
  13. ^ "Inundación clave de Gnome-Screensaver" . 2014-04-16 . Consultado el 24 de diciembre de 2020 .
  14. ^ "Inundación clave de Cinnamon-Screensaver" . 2014-08-22 . Consultado el 24 de diciembre de 2020 .
  15. ^ "CVE-2014-1949, Anulación de bloqueo de protector de pantalla de canela" . 2015-01-16 . Consultado el 24 de diciembre de 2020 .
  16. ^ "Aviso de seguridad de Mandriva MDVSA-2015: 162" . 2015-03-29 . Consultado el 24 de diciembre de 2020 .
  17. ^ "CVE-2015-7496, mantenga presionada la tecla ESC para desbloquear GDM de sesión de Gnome" . 2015-11-24 . Consultado el 18 de enero de 2021 .
  18. ^ "CVE-2019-3010, Privilege Escalation in Oracle Solaris XScreenSaver fork" . 2019-10-23 . Consultado el 24 de diciembre de 2020 .
  19. ^ "By-pass de bloqueo de protector de pantalla de canela a través del teclado virtual" . 2021-01-15 . Consultado el 15 de enero de 2021 .
  20. ^ "XScreenSaver: en los cuadros de diálogo del kit de herramientas" . 2004-10-19 . Consultado el 24 de diciembre de 2020 .
  21. ^ "Entrada de blog de jwz.org sobre errores de seguridad de Gnome" . 2015-04-04 . Consultado el 24 de diciembre de 2020 .
  22. ^ "Modo de suspensión: el arte del salvapantallas: entrevista a Jamie Zawinski" . 2017-01-27 . Consultado el 24 de diciembre de 2020 .

  • Página web oficial
  • "XScreenSaver" . Código libre .