- X Server
-
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 Server" в других словарях:
Server emulator — is a term that is used to refer to an internet server that mimics the behavior of another server that is usually more well known. This is implemented through cloning or reverse engineering of the original server. Other synonyms include server… … Wikipedia
Server — may refer to:In computing: *Server (computing), a server application, operating system, computer, or appliance **Application server, a server dedicated to running certain software applications **Communications server, carrier grade computing… … Wikipedia
Server Djeparov — Personal information Full name Server Resatovich Djeparov Date of birth 3 October 1982 ( … Wikipedia
Server-side scripting — is a web server technology in which a user s request is fulfilled by running a script directly on the web server to generate dynamic HTML pages. It is usually used to provide interactive web sites, that interface to databases or other data stores … Wikipedia
Server Side Includes — (SSI) is a simple interpreted server side scripting language used almost exclusively for the Web. The most frequent use of SSI is to include the contents of one or more files into a web page on a web server. For example, a web page containing a… … Wikipedia
Server-side — refers to operations that are performed by the server in a client server relationship in computer networking.Typically, a server is a software program, such as a web server, that runs on a remote server, reachable from a user s local computer or… … Wikipedia
server — serv‧er [ˈsɜːvə ǁ ˈsɜːrvər] also ˈfile ˌserver noun [countable] COMPUTING a powerful computer used to store large amounts of information and to connect other smaller computers in a network. The smaller computers are sometimes called client S … Financial and business terms
Server Pages — are scripts that are embedded in HTML and processed on the server before the page is sent to the client s web browser. This concept is explained generally at Server side scripting.Examples of server pages implementations are:* Active Server Pages … Wikipedia
Server Jung — Nawab Agha Mirza Beg Khan, Server Jung Bahadur (* 1848 in Delhi), war in der zweiten Hälfte des 19. Jahrhundert im indischen Fürstenstaat Hyderabad Lehrmeister des zukünftigen Diwan Salar Jung II. und des Nizam Asaf Jah VI. E … Deutsch Wikipedia
Server-side JavaScript — (SSJS) refers to JavaScript that runs on server side. This term was coined because the language is predominantly used on the client side, i.e. client side JavaScript (CSJS).The first implementation of SSJS was Netscape s LiveWire, included in… … Wikipedia
Server side includes — Les Server Side Includes, abrégés SSI, sont un langage de programmation fait pour être interprété par un serveur HTTP lorsqu il sert un document HTML. Ce langage tire son nom de sa principale utilisation : inclure plusieurs fichiers pour… … Wikipédia en Français