Jump to content

XScreenSaver

XScreenSaver
Оригинальный автор(ы) Джейми Завински
Разработчик(и) Джейми Завински
Первоначальный выпуск 17 августа 1992 г .; 31 год назад ( 17 августа 1992 )
Стабильная версия
6.08 / 10 октября 2023 г .; 9 месяцев назад ( 10.10.2023 ) [1]
Написано в ANSI C , X11 , OpenGL
Операционная система Unix , MacOS , iOS , Android
Тип Заставка
Лицензия МОЯ лицензия [2]
Веб-сайт jwz.org/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 содержит несколько уровней совместимости.

  • Чтобы хаки на основе X11 могли работать в macOS и iOS , XScreenSaver содержит полную реализацию API X11 , построенную на основе Cocoa («jwxyz»). [7]

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

[ редактировать ]

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

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

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

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

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

[ редактировать ]

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

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

Примеры хаков включают в себя: [3]

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

  • Boing - основан на программе 1984 года, которая считается первой демо-версией Amiga , показывающей прыгающий красно-белый мяч.
  • Bumps — реализация полноэкранного 2D- бамп маппинга .
  • Метаболлы – еще один распространенный демонстрационный эффект.
  • Муар2 — движущиеся интерференционные круги , похожие на те, что были в старых демо-версиях Amiga.
  • ShadeBobs — еще один эффект, распространенный в старых демо-версиях Amiga.
  • XFlame – эффект огня на основе фильтра, также известный как эффект пламени.

См. также

[ редактировать ]

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

  1. ^ «Журнал изменений» . Проверено 4 марта 2024 г.
  2. ^ «Список авторских прав Debian XScreenSaver» . 24 декабря 2020 г. Проверено 24 декабря 2020 г.
  3. ^ Jump up to: а б «Список хранителей экрана, включенных в коллекцию 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. ^ Jump up to: а б «Запись в блоге 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-Screensaver Key Flood» . 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, чтобы разблокировать сеанс Gnome GDM» . 24 ноября 2015 года . Проверено 18 января 2021 г.
  18. ^ «CVE-2019-3010, повышение привилегий в ответвлении Oracle Solaris XScreenSaver» . 23 октября 2019 г. Проверено 24 декабря 2020 г.
  19. ^ "Обход блокировки заставки Cinnamon через виртуальную клавиатуру" . Гитхаб . 15 января 2021 г. Проверено 15 января 2021 г.
  20. ^ «XScreenSaver: в диалоговых окнах Toolkit» . 19 октября 2004 года . Проверено 24 декабря 2020 г.
  21. ^ «Публикация в блоге jwz.org об ошибках безопасности Gnome» . 4 апреля 2015 года . Проверено 24 декабря 2020 г.
  22. ^ «Спящий режим: искусство заставки: интервью Джейми Завински» . 27 января 2017 года . Проверено 24 декабря 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1d229b16a316f158ff21443a92f0aac8__1709611440
URL1:https://arc.ask3.ru/arc/aa/1d/c8/1d229b16a316f158ff21443a92f0aac8.html
Заголовок, (Title) документа по адресу, URL1:
XScreenSaver - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)