stringtranslate.com

XScreenSaver

Xscreensaver Заставка "GLMatrix"

XScreenSaver — это бесплатная коллекция с открытым исходным кодом , состоящая из более чем 240 [3] заставок для операционных систем Unix , macOS , iOS и Android . Он был создан Джейми Завински в 1992 году и до сих пор поддерживается им, новые выпуски выходят несколько раз в год. [4]

Платформы

Бесплатное программное обеспечение и Unix-подобные операционные системы с открытым исходным кодом, работающие под управлением X Window System (такие как Linux и FreeBSD ), почти исключительно используют XScreenSaver. [ нужна цитация ] В этих системах существует несколько пакетов: один для структуры сохранения экрана и блокировки, а также два или более для режимов отображения, разделенных несколько произвольно. [5]

В системах Macintosh XScreenSaver работает со встроенной заставкой macOS .

В системах iOS XScreenSaver — это автономное приложение, которое может запускать любые хаки в полноэкранном режиме.

В системах Android режимы отображения XScreenSaver работают либо как обычные заставки (которые Android иногда называет «мечтами»), либо как живые обои .

Официальной версии для Microsoft Windows не существует , и разработчик не рекомендует никому ее портировать. Автор считает Microsoft «компанией с порочной, грабительской, антиконкурентной деловой практикой» [6] и говорит, что, как один из первоначальных авторов Netscape Navigator , он держит «личную неприязнь» к Microsoft из-за ее поведения. во время Первой браузерной войны .

Архитектура программного обеспечения

Демон XScreenSaver отвечает за обнаружение бездействия, гашение и блокировку экрана, а также запуск режимов отображения. Каждый из режимов отображения (называемых «хаками» от исторического использования « display hack ») представляет собой отдельную программу.

Это важная функция безопасности, поскольку режимы отображения выделяются в отдельный процесс из системы блокировки экрана. Это означает, что ошибка программирования в одном из режимов графического отображения не может поставить под угрозу сам блокировщик экрана (например, сбой в режиме отображения не приведет к разблокировке экрана).

Это также означает, что сторонняя заставка может быть написана на любом языке или с использованием любой графической библиотеки, при условии, что она способна отображать внешнее окно.

По историческим причинам и из соображений переносимости все включенные хаки написаны на ANSI C. Около половины из них используют API X11 , а около половины — API OpenGL 1.3.

Вместо того, чтобы разветвлять кодовую базу и переписывать хаки для разных платформ, XScreenSaver содержит несколько уровней совместимости.

Безопасность

В дополнение к изолированной программной среде режимов отображения демон XScreenSaver связывается с как можно меньшим количеством библиотек. В частности, он не связан с инфраструктурами графического интерфейса, такими как GTK или KDE , а использует только необработанный Xlib для отображения диалогового окна разблокировки.

В последние годы некоторые дистрибутивы Linux начали использовать по умолчанию фреймворки гашения экрана gnome-screensaver или kscreensaver вместо фреймворка, включенного в XScreenSaver. [9] В 2011 году gnome-screensaver был разделен как mate-screensaver и cinnamon-screensaver . Более ранние версии этих платформ по-прежнему зависели от коллекции хранителей экрана XScreenSaver, которая составляет более 90% пакета. [10] Однако в 2011 году gnome-screensaver версии 3 полностью отказался от поддержки заставок, поддерживая только простое гашение экрана, [11] а с 2018 года cinnamon-screensaver 4.0.8 Linux Mint больше не поддерживает хаки XScreenSaver. [12]

Те дистрибутивы Linux, которые заменили XScreenSaver другими платформами блокировки экрана, столкнулись с заметными проблемами безопасности. Эти другие платформы имеют историю ошибок безопасности, которые позволяют разблокировать экран без пароля, например, просто удерживая клавишу до тех пор, пока шкафчик не выйдет из строя. [13] [14] [15] [16] [17] [18] [19]

В 2004 году Завински написал об архитектурных решениях, принятых в XScreenSaver с целью избежать этого самого класса ошибок, [20] что побудило его пошутить в 2015 году: «Если вы не используете XScreenSaver в Linux, то можно с уверенностью предположить, что что ваш экран не блокируется». [21]

Режимы отображения

Включенные хаки очень разнообразны: от простой 2D- психоделии до 3D-демонстрации сложных математических принципов, моделирования других компьютерных систем и воссоздания артефактов и эффектов из фильмов.

Хотя многие из новых хаков в полной мере используют возможности современных компьютеров, возраст проекта означает, что некоторые из старых хаков могут показаться современным людям устаревшими, поскольку изначально они были написаны для гораздо менее мощных компьютеров.

Примеры хаков: [3]

Некоторые из включенных хаков очень похожи на демо-эффекты , созданные демосценой :

Смотрите также

XScreenSaver был представлен в «Спящем режиме: искусство заставки» [22] , галерее-выставке, которую курировал Рафаэль Розендал в Het Nieuwe Instituut в Роттердаме в 2017 году.

Рекомендации

  1. ^ "Журнал изменений" . Проверено 4 марта 2024 г.
  2. ^ «Список авторских прав Debian XScreenSaver» . 24 декабря 2020 г. Проверено 24 декабря 2020 г.
  3. ^ ab «Список заставок, включенных в коллекцию XScreenSaver». 8 декабря 2020 г. Проверено 24 декабря 2020 г.
  4. ^ «История выпусков XScreenSaver» . 8 декабря 2020 г. Проверено 24 декабря 2020 г.
  5. ^ «Список пакетов Debian XScreenSaver» . 24 декабря 2020 г. Проверено 24 декабря 2020 г.
  6. ^ «XScreenSaver: Версия для Windows» . www.jwz.org . Проверено 24 декабря 2020 г.
  7. ^ ab «Сообщение в блоге jwz.org о порте iOS». 19 июня 2012 года . Проверено 24 декабря 2020 г.
  8. ^ «Сообщение в блоге jwz.org о порте Android» . 23 мая 2016 года . Проверено 24 декабря 2020 г.
  9. ^ «Часто задаваемые вопросы по XScreenSaver относительно KDE/Gnome» . Проверено 24 декабря 2020 г.
  10. ^ «Распространение исходного кода XScreenSaver» . 8 декабря 2020 г. Проверено 24 декабря 2020 г.
  11. Кампанья, Джованни (21 марта 2011 г.). «Re: Каков статус заставки в GNOME3?». gnome-shell (список рассылки).
  12. ^ «Анонс Linux Mint 19.1» . 20 декабря 2018 года . Проверено 24 декабря 2020 г.
  13. ^ "Наводнение ключей заставки Gnome" . 16 апреля 2014 года . Проверено 24 декабря 2020 г.
  14. ^ "Наводнение ключей заставки с корицей" . Гитхаб . 22 августа 2014 года . Проверено 24 декабря 2020 г.
  15. ^ «CVE-2014-1949, Обход блокировки заставки Cinnamon» . 16 января 2015 года . Проверено 24 декабря 2020 г.
  16. ^ «Рекомендации по безопасности Mandriva MDVSA-2015:162» . 29 марта 2015 года . Проверено 24 декабря 2020 г.
  17. ^ «CVE-2015-7496. Удерживайте ESC, чтобы разблокировать GDM-сессию Gnome» . 24 ноября 2015 года . Проверено 18 января 2021 г.
  18. ^ «CVE-2019-3010, Повышение привилегий в форке Oracle Solaris XScreenSaver» . 23 октября 2019 г. Проверено 24 декабря 2020 г.
  19. ^ «Обход блокировки заставки Cinnamon с помощью виртуальной клавиатуры» . Гитхаб . 15 января 2021 г. Проверено 15 января 2021 г.
  20. ^ «XScreenSaver: В диалогах набора инструментов» . 19 октября 2004 года . Проверено 24 декабря 2020 г.
  21. ^ «Сообщение в блоге jwz.org об ошибках безопасности Gnome» . 4 апреля 2015 года . Проверено 24 декабря 2020 г.
  22. ^ «Спящий режим: Искусство заставки: Интервью Джейми Завински» . 27 января 2017 года . Проверено 24 декабря 2020 г.

Внешние ссылки