adblock check

Железнолуние №2: X Window System

Здравствуйте. В этой статье я расскажу про оконную систему X Window System.

Немного истории

До начала разработки X уже существовали дисплейные системы, такие, как Аlto, Star, Lisa, Macintosh, Blit и Andrew, но они не являлись универсальными. В восьмидесятых годах появилось 2 проекта универсальных систем компьютерной графики: Athena, детище Массачусетского технологического института и W Windowing, над которым работал Стэнфордский университет. И вот, в 1984 эти 2 проекта решили объединиться и приступить к разработке X Window System. Первая версия, получившая гордое название X1, вышла уже в июне. Затем последовали Х6, Х9, Х10 и Х11. Х1 и Х6 были несвободными, таким образом они распространялись за определённую плату. Х9 и последующие версии распространялись свободно под лицензией MIT. Последняя на момент написания статьи версия — X11R7.7.

Железнолуние №2: X Window System

Классическая Х Window System

Работа X

Работа X основана на 3 китах: Х-сервере, Х-клиенте и Х-терминале.

  • Х-терминал — компьютер, на котором запущен Х-сервер.
  • Х-сервер — программа, руководящая работой монитора, мыши и клавиатуры. Отрисовывает элементы на мониторе и выполняет команды, передаваемые Х-клиентом.
  • Х-клиент обеспечивает графический интерфейс и передает команды Х-серверу.

X-сервер и Х-клиент могут находиться на 2 разных компьютерах.

Для отрисовки окон также необходимы тулкиты(инструментарии). На данный момент наиболее используемые из них это GTK и Qt.

Х не умеет самостоятельно управлять окнами, то есть изменять их размер и перемещать без перезапуска программы. И тут на помощь приходят специальные программы — оконные менеджеры. Оконный менеджер запускается как обычная программа, развернутая на весь экран, таким образом, он замещает собой Х-клиент.

Железнолуние №2: X Window System

Оконный менеджер IceWM

Реализации

X.org — свободная реализация X Window System. Он очень популярен среди пользователей Linux, поэтому большинство программ с графическим интерфейсом используют X11. Благодаря этому, X.org доступен в большинстве дистрибутивов. Основан на XFree86, первый релиз состоялся в 2004 году.

Конкуренты и аналоги

  • Wayland. За время, которое существует X, в нем были найдены ошибки и уязвимости, но работа над их устранением велась очень медленно и неохотно. Однажды Кристиан Хогсберг решил, что нет смысла ждать, пока что-то исправят в X, нужно действовать. Так и появился Wayland. Не все программы умеют с ним работать поэтому существует xwayland, позволяющий Х приложениям работать поверх его. Сейчас он используется в мобильных операционных системах Tizen и Sailfish. Также Wayland можно использовать в любом дистрибутиве Linux. Внешних отличий от X нет.
  • SurfaceFlinger. Используется в Google Android, в отличие от аналогов, поддерживает мультитач.
  • Mir. Ответвление SurfaceFlinger, развивается компанией Canonical как самостоятельный проект. Предназначен для использования в Ubuntu с Unity. Используется по умолчанию в Ubuntu 14.10 Utopic Unicorn.
  • Quartz. Вся графическая модель OS X, начиная от слоя прорисовки и заканчивая композитором (оконным менеджером, предназначенным для отображения прозрачности, отрисовки теней, отображения текстур, трёхмерных эффектов и анимации).
    Железнолуние №2: X Window System
    Ранее в OS X использовался X.org
  • Cygwin/X, Exceed, MKS X/Server, Reflection X, X-Win32 и Xming. Сама Microsoft Windows не умеет работать с Х, поэтому сторонними разработчиками созданы программы, обеспечивающие его работу.
    Железнолуние №2: X Window System
    Cygwin на Windows XP
  • VNC. Протокол, обеспечивающий удаленный доступ

Использование Х11 на Google Android

Как я уже упомянул ранее, Android использует аналог Х, поэтому, людям, запускавшим Linux на устройстве приходилось использовать VNC. Естественно, это приводило к снижению скорости отклика и производительности. Это, в свою очередь привело к созданию программ для обеспечения работы X Window System, таких программ, как, например, эта. Ее можно использовать вместо VNC при использовании Linux, запущенного с помощью Lil Debi.

Железнолуние №2: X Window System

Х11, запущенный на Android устройстве

Спасибо за прочтение.

Ironmoon Ironmoon
Пользователь
3 комментария по лайкам по дате
Оставьте комментарий...
Оставьте комментарий...
NoMoreNames 9 лет
*перелетающее перекати-поле*
Gladiator777 9 лет
Я тоже прочитал…
timblaer 9 лет
Так трудно дать в начале пояснение, что такое оконная система и оконный сервер? Неужели надо сразу бросаться в историю?

Объем маловат.