Организация X Window
Разработка системы X Window началась в первой половине 80-х годов про- шлого века в Массачусетском технологическом институте (MIT) в рамках проекта Athena, который финансировался фирмами IBM и DEC. Целью про- екта являлось построение распределенной графической среды, позволяющей единообразно работать с различным оборудованием и разными операцион- ными системами. Сейчас используется 11-я версия X (выпуски 6 или 7), по- этому протокол называется X11.
Система X Window построена в рамках архитектуры "клиент — сервер". Сервер предназначен для работы с устройством отображения, например, ви- деоадаптером.
Сервер передает видеоадаптеру команды для отображения графических при- митивов. Видеоадаптер является устройством вывода графической информа- ции. В то же время X-сервер способен работать и с различными устройства- ми ввода информации, такими как мышь, клавиатура и джойстик.
Клиентские программы взаимодействуют с X-сервером с помощью X-про- токола. Он представляет собой обычный протокол прикладного уровня TCP/IP, которому присвоен порт 6000 TCP. Поэтому X-клиент и X-сервер могут с успехом работать по сети. То есть программы клиент и сервер вполне могут находиться на различных машинах и никаких дополнительных про- грамм для этого не требуется.
X-клиенты могут быть условно подразделены на четыре категории:
r обычные X-приложения (X applications). Примерами таковых являются браузер mozilla, программа просмотра PDF xpdf, текстовый редактор emacs;
r оконные менеджеры (Window Managers). Они предназначены для обеспе- чения возможности управления окнами с помощью устройств ввода и предоставления удобного пользовательского интерфейса. Примерами оконных менеджеров являются Window Maker (исполняемый файл wmaker), Ice WM (icewm) и Xfwm;
r графические рабочие окружения (Desktop Environment), представляющие собой большие комплексы программного обеспечения, включающие в се- бя собственные оконные менеджеры, файловые менеджеры, средства офисной работы и иное пользовательское прикладное программное обес- печение. X-приложения, созданные для работы в составе рабочей среды, обеспечивают единообразный пользовательский интерфейс. Наиболее распространены KDE (K Desktop Environment), GNOME (GNU Objects Model Environment) и Xfce;
r менеджеры сеанса (X Session Managers). Программы особого рода, пред- назначенные для обеспечения возможности непосредственного запуска X- сеанса без необходимости предварительного входа в обычный неграфиче- ский сеанс Shell. Кроме этого, менеджеры X-сеанса отвечают за переза- пуск X-сервера в случае его остановки. Наиболее распространены xdm, kdm и gdm. Менеджеры X-сессий используют протокол XDMCP (X Display Manager Control Protocol). Запуск X-сеанса осуществляется иначе, чем при использовании обычного текстового терминала. При обычном входе в се- анс запускается Shell, связанный с текстовым терминалом, а в X — ме- неджер окон, рабочая среда (desktop) или иное X-приложение.
X-протокол открыт, и поэтому существует множество его реализаций, пред- назначенных, прежде всего, для запуска на различных аппаратных платфор- мах. На платформе IA-32 могут быть использованы различные X-системы, например:
r XFree86 — до выпуска 4.4rc2 применялась в GNU/Linux повсеместно (в настоящее время используется редко из-за ограничительных условий лицензии);
r Xorg — реализация X-системы (ответвление от XFree86 4.4rc2 в 2004 г.).
Написание программ для X-системы обычно требует интенсивного использо- вания инструментальных библиотек. Различные библиотеки предоставляют
разные средства и требуют использования разных прикладных интерфейсов программирования (Application Program Interface, API). Несмотря на то, что X-протокол является стандартным, существует множество несовместимых платформ для X-системы.
В GNU/Linux две X-платформы получили наибольшее распространение:
r Qt — эту платформу использует KDE;
r Gtk+ — используется множеством X-приложений, средами GNOME и Xfce.
В GNU/Linux требования стандарта FHS предписывают размещать про- граммное обеспечение X-сервера в каталоге /usr/X11R6 или /usr/X11. Оконные менеджеры и иные X-приложения часто также размещаются в этом каталоге. Традиционно X-сервер — это исполняемый файл X или Xorg (пример 32.1).
Пример 32.1. X-сервер |
$ ls -l `which X`
lrwxrwxrwx 1 root root 4 Nov 30 2009 /usr/bin/X -> /usr/bin/Xorg
Вместе с X Window может работать сервер шрифтов X Font Server (xfs), ко- торый управляет шрифтами, установленными в системе, предоставляя их X- серверу для отображения. Если X-сервер использует в работе сервер шриф- тов, то X-сервер является для сервера шрифтов клиентом.
Дата добавления: 2015-06-12; просмотров: 563;