- X Window
-
X Window System Тип оконная система Разработчик X.Org Foundation ОС различные Версия X11R7.4 — 23 сентября 2008 Лицензия MIT Сайт X.org X Window System — оконная система, обеспечивающая стандартные инструменты и протоколы для построения графического интерфейса пользователя. Используется в UNIX-подобных ОС.
X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране, взаимодействие с мышью и клавиатурой. X Window System не определяет деталей интерфейса пользователя — этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретного оконного менеджера.
В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя (в случае если это разрешено в настройках). В контексте X Window System термины «клиент» и «сервер» имеют непривычное для многих пользователей значение: «сервер» означает локальный дисплей пользователя (дисплейный сервер), а «клиент» — программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).
Система X Window System была разработана в Массачусетском технологическом институте (MIT) в 1984 году. Нынешняя (по состоянию на февраль 2009 года) версия протокола — X11 — появилась в сентябре 1987 года. Проект X возглавляет фонд X.Org Foundation. Референсная (или образцовая) реализация (reference implementation) системы свободно доступна на условиях лицензии MIT и подобных ей лицензий.[1]
X Window System часто называют X11 или просто X, неформально «иксы́».
Содержание
Клиент-серверная модель и сетевая прозрачность
X Window System использует клиент-серверную модель: X-сервер обменивается сообщениями с различными клиентскими программами. Сервер принимает запросы на вывод графики (окон) и отправляет обратно пользовательский ввод (от клавиатуры, мыши или сенсорного экрана). X-сервер может быть:
- системной программой, контролирующей вывод видео на персональном компьютере;
- приложением, отображающим графику в окно какой-то другой дисплейной системы;
- выделенным компонентом аппаратного обеспечения.
Эта клиент-серверная терминология — пользовательский терминал в качестве «сервера» и удалённые приложения в качестве «клиентов» — зачастую запутывает новых пользователей X, так как обычно эти термины имеют обратные значения. Но X Window System принимает точку зрения программы, а не конечного пользователя аппаратуры: локальный дисплей предоставляет услуги отображения графики программам, и потому выступает в роли сервера. Удалённые программы используют эти услуги, и потому играют роль клиентов.
Протокол, с помощью которого сообщаются сервер и клиент, является прозрачным для сети: клиент и сервер могут находиться как на одной и той же машине, так и на разных. В частности, они могут работать на различных архитектурах под управлением разных операционных систем — результат будет одинаковым. Клиент и сервер могут даже безопасно взаимодействовать через Интернет посредством туннелирования соединения сквозь зашифрованный сетевой сеанс.
Чтобы запустить удалённую клиентскую программу, выводящую графику на локальный X-сервер, пользователь обычно открывает эмулятор терминала и подключается к удалённой машине при помощи SSH. Затем он отдаёт команду, указывающую дисплей, на который следует выводить графику (например,
export DISPLAY=[имя компьютера пользователя]:0
при использованииИспользование удалённых клиентов может быть полезно, например, в таких ситуациях:
- графическое администрирование удалённой машины;
- выполнение интенсивных ресурсоёмких вычислений на удалённой Windows-машине;
- выполнение графических программ одновременно на нескольких машинах, с одним дисплеем, одной клавиатурой и одной мышью.
Принципы дизайна X
В 1984 году Боб Шейфлер и Джим Геттис зафиксировали ранние принципы построения X:
- Добавляй новую функциональность только в том случае, если без неё нельзя завершить какое-то реальное приложение.
- Решить, чем система не является, столь же важно, сколь решить, чем она является. Не пытайся удовлетворить все мыслимые потребности; вместо этого сделай систему расширяемой, чтобы новые потребности могли быть удовлетворены совместимым образом.
- Хуже обобщения одного примера может быть только обобщение вообще без примеров.
- Если проблема не понята до конца, возможно, лучше не решать её вовсе.
- Если ты можешь добиться 90 процентов нужного эффекта, затратив всего 10 процентов сил, используй более простое решение.
- Изолируй сложные места как можно сильнее.
- Обеспечивай механизм, а не политику. В частности, политика интерфейса пользователя должна быть в руках клиентов.
С тех пор проект X, в основном, придерживался этих принципов. Демонстрационная реализация разрабатывается с расчётом на расширение и улучшение, в то же время, она остаётся почти полностью совместимой с протоколом 1987 года.
Интерфейсы пользователя
X Window System намеренно не определяет, как должен выглядеть интерфейс пользователя приложения — кнопки, меню, заголовки окон и т. д. Эти вопросы решаются на уровне оконных менеджеров, инструментариев элементов интерфейса, сред рабочего стола, либо на уровне отдельных приложений. По этой причине вид «типичного» X-интерфейса претерпел огромные изменения с течением времени.
Оконный менеджер управляет размещением и внешним видом окон приложений. Он может создавать интерфейс, подобный Microsoft Windows или KDE и GNOME), или совершенно другой стиль (например, в фреймовых оконных менеджерах, таких, как Ion). Оконный менеджер может быть простым и минималистичным (как Enlightenment).
Многие пользователи используют X вместе с полной средой рабочего стола, которая включает в себя оконный менеджер, различные приложения и единый стиль интерфейса. Наиболее популярные среды рабочего стола — KDE. В стандарте указана среда freedesktop.org пытается обеспечить взаимодействие между различными средами, а также компоненты, необходимые для конкурентоспособного рабочего стола на основе X.
Реализации
Референсная (или образцовая) реализация (англ. reference implementation) от фонда X.Org Foundation, называемая X.Org Server, является канонической реализацией X Window System. Поскольку она распространяется на условиях весьма либеральной лицензии, появились несколько её разновидностей (как свободных, так и проприетарных). Коммерческие поставщики аппаратному обеспечению, обычно сильно модифицируя её и добавляя проприетарные расширения.
Вплоть до 2004 года проект порт X на 386-совместимые персональные компьютеры. К концу 1990-х этот проект стал главным источником технических инноваций в X Window System и де-факто руководил разработкой X.[2] Однако в 2004 году форком XFree86, но со свободной лицензией) стала более распространённой.
Полезное
Смотреть что такое "X Window" в других словарях:
Window — Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed by… … The Collaborative International Dictionary of English
Window back — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window blind — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window bole — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window box — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window frame — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window glass — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window martin — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window oyster — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window pane — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English
Window sash — Window Win dow, n. [OE. windowe, windoge, Icel. vindauga window, properly, wind eye; akin to Dan. vindue. ????. See {Wind}, n., and {Eye}.] [1913 Webster] 1. An opening in the wall of a building for the admission of light and air, usually closed… … The Collaborative International Dictionary of English