- X-сервер
-
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-сервер" в других словарях:
сервер — Функциональное устройство, предоставляющее услуги рабочим станциям, персональным компьютерам или другим функциональным устройствам. [РД 01.120.00 КТН 228 06] сервер Компьютер или приложение, предоставляющие услуги, ресурсы или данные клиентскому… … Справочник технического переводчика
Сервер лицензий — специализированное серверное приложение или программно аппаратный комплекс (в случае использования аппаратной защиты), позволяющее централизовать управление лицензиями на множество копий программного обеспечения (или операций программного… … Википедия
Сервер приложений — (англ. application server) это программная платформа (software framework), предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов), которые поддерживают построение приложений. Сервер приложений… … Википедия
сервер вызовов — Зависящий от протокола механизм сигнализации, который маршрутизирует видео или речевые вызовы в сети. В протоколе H.323 таким объектом является контроллер шлюза. В протоколе SIP таким объектом является уполномоченный сервер SIP. Следует отметить … Справочник технического переводчика
Сервер удаленного доступа — программный сервер, принимающий PPP соединения и обеспечивающий удаленный доступ. Сервер удаленного доступа: подключается одновременно к локальной и к территориальной коммуникационной сетям; обеспечивает маршрутизацию блоков данных при их… … Финансовый словарь
сервер — сущ., кол во синонимов: 16 • аудиосервер (1) • веб сервер (1) • дедик (3) • … Словарь синонимов
Сервер — программно аппаратный комплекс, предназначенный для централизованного хранения и обработки данных, поддержки функционирования основного программного обеспечения портала и т.п. Физически может представлять собой группу компьютеров и иного… … Официальная терминология
Сервер приложений — сервер, предназначенный для выполнения прикладных процессов. Сервер приложений: взаимодействует с клиентами, получая задания; и взаимодействует с базами данных, выбирая данные, необходимые для обработки. См. также: Серверы приложений Сетевые роли … Финансовый словарь
сервер доменных имен — сервер имен доменов Сервер, осуществляющий преобразование имен доменов в IP адрес. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом Синонимы сервер имен доменов EN DNSDomain Name Server … Справочник технического переводчика
Сервер баз данных — сервер, выполняющий обработку запросов, направляемых базе данных. См. также: Серверы приложений Системы управления базами данных Финансовый словарь Финам … Финансовый словарь
Сервер защиты данных — сервер, оснащенный набором средств обеспечения безопасности данных. См. также: Сетевые роли Защита информации Финансовый словарь Финам … Финансовый словарь