X Window System

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:33, 25 мая 2018.
X Window System
275px-X11.svg.png
Создатели: X.Org Foundation
Разработчики: X.Org Foundation
Выпущена: 1984
Состояние разработки: активное
Написана на: Си, C++
Операционная система: UNIX-подобная операционная система
Тип ПО: оконная система
Лицензия: MIT
Веб-сайт x.org

X Window System — оконная система, обеспечивающая стандартные инструменты и протоколы для построения графического интерфейса пользователя. Используется в UNIX-подобных ОС.

X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране, взаимодействие с устройствами ввода, такими как, например, мышь и клавиатура. X Windows System не определяет деталей интерфейса пользователя — этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретного оконного менеджера.

В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя. В контексте X Window System термины «клиент» и «сервер» имеют непривычное для многих пользователей значение: «сервер» означает локальный дисплей пользователя (дисплейный сервер), а «клиент» — программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).

Система X Window System была разработана в Массачусетском технологическом институте (MIT) в 1984 году. По состоянию на февраль 2016 года версия протокола — X11R7.7 — появилась в июне 2012 года. Проект X возглавляет фонд X.Org Foundation. Референсная (или образцовая) реализация (reference implementation) системы свободно доступна на условиях лицензии MIT и подобных ей лицензий.[Источник 1].

X Window System предоставляет базовую технологию для разработки графических пользовательских интерфейсов. На самом базовом уровне X рисует элементы GUI на экране пользователя и строит методы отправки пользовательских взаимодействий обратно в приложение. Используя инструментальные средства разработки приложений GUI, такие как Motif, разработчик приложений может быстро создать интерфейс приложения для конечного пользователя.

Поскольку X был реализован с самого начала для использования модели клиент/сервер, он идеально подходит для развертывания удаленных приложений. То есть X позволяет работать с вашим компьютером напрямую с приложения, запущенного на другом компьютере. Кроме того, X не зависит от оборудования. С помощью X вы можете запускать приложения Microsoft Windows на рабочей станции UNIX или запустить приложение UNIX в системе Apple macOS.

Система X-Window была создана совместно Массачусеттским Технологическим Институтом (MIT) и фирмой DEC в 1984 году.

Последняя версия называется X11R6 (сокращение от "X11 release 6"), обычно для краткости используется название "X11", или даже просто "X". Полное название системы -- X Window System, сокращенно -- X-Window (именно "Window" -- никакого "s" на конце нет!).

Описание

Система X-Window построена по клиент-серверной модели. Она состоит из двух частей: X-сервера и прикладных программ ("клиентов"), которые пользуются услугами X-сервера для взаимодействия с экраном и с пользователем.

X-сервер -- это единственная программа, "общающаяся с железом" -- с монитором, клавиатурой и мышью; эти три компонента объединяются термином дисплей. Прикладные же программы взаимодействуют с X-сервером при помощи "программных каналов", и могут быть запущены с другого компьютера -- при этом связь будет идти через сеть (по протоколу TCP/IP).

Практически все программы, которые можно запустить на своей машине (т.е. на той, на которой запущен X-сервер, экран которой стоит перед вами), можно запустить и с другого компьютера (при хорошей связи – хоть из Антарктиды), и работать с ними точно так же, как и с локальными.

Реализации как X-серверов, так и приложений под X-Window существуют практически во всех современных операционных системах -- во всех клонах UNIX, в VMS, DOS, Windows, MacOS. И они полностью совместимы друг с другом – можно запустить программу на UNIX-машине, и работать с ней на Windows-компьютере.

Существенным отличием от Windows и MacOS в UNIX является то, что графическая оболочка – это не жизненно важная часть операционной системы, а всего лишь дополнительная программа, без которой UNIX будет продолжать нормально функционировать (а видели ли вы когда нибудь Windows NT, способную работать без графического интерфейса?).

X-сервер – программа в определенном смысле довольно глупая. Все, что он умеет – это выделять программам прямоугольные области экрана ("окна") и рисовать в них то, что программы попросят; плюс он знает, что одно окошко может располагаться поверх другого, и правильно их отрисовывает.

Но ведь надо еще изобразить рамку вокруг окошка, заголовок над ним, уметь "сворачивать" окно в пиктограмму и еще многое другое. Этим занимается специальная программа, называемая "Window Manager" (дословно "менеджер окон").

В список функций хорошего window manager'а входят: декорирование окон (бордюр, заголовок, кнопочки), манипуляции с окнами (перемещение, изменение размера, свертывание в пиктограмму и т.д.), разнообразные меню и панели инструментов (например, для запуска программ), виртуальный экран.

Одновременно экран может обслуживаться ровно одним window manager'ом. Поскольку window manager -- это не интегральная часть системы X-Window, то их существует огромное количество. Вот лишь самые часто используемые: Fvwm, AfterStep, Mwm, Olwm, KDE. Примеры их внешнего вида есть в следующем разделе, а в разделе "Использование MWM" приведено краткое руководство по работе в X-Window с Mwm.

Поскольку X-сервер, как уже отмечалось выше, знает только о том, как работать с окошками на экране, то для полноценного интерфейса с пользователем требуется еще набор стандартных элементов -- кнопок, переключателей, строк ввода и т.д.

В X-Window используется многоуровневая реализация интерфейсных элементов. Не вдаваясь в подробности, отметим лишь, что практически никакие программы не взаимодействуют с X-сервером напрямую. Эти функции возложены на компонент Xlib, услугами которого в свою очередь пользуется компонент Xt. В Xt заложена абстракция "интерфейсного элемента" (они в X называются "widgets"), и на основе Xt можно в принципе построить большое количество разнообразных наборов элементов.

Первоначально вместе с X была создана библиотека под названием Athena Widgets, с использованием которой и изготовлены все стандартные (самые "старые") программы -- xterm, xedit, xcals и многие другие. Хотя сейчас Athena Widgets выглядит довольно архаично, написанные с ее использованием программы работают довольно неплохо, и при некотором навыке вполне удобны.

В дальнейшем была создана библиотека Motif, близкая по виду к интерфейсу MS Windows, которая и стала стандартной – с ее использованием написаны такие программы, как Netscape и Nedit. Полностью вытеснить Athena Widgets Motif так и не смог по причине своей небесплатности.

В системах Windows и MacOS внешний вид экрана и доступные функции практически одинаковы на всех компьютерах – могут отличаться разве что цвета, шрифты и набор программ, "напиханных" на рабочий стол и в меню.

В UNIX же существует большое количество window manager'ов, которые и играют роль графического интерфейса пользователя, и их внешний вид и функции могут сильно отличаться. Более того, почти все window manager'ы допускают огромное количество разных настроек, так что один и тот же может выглядеть совершенно по разному (пример -- картинки Fvwm95 и Mwm, приведенные ниже -- это в обоих случаях Fvwm, "загримированный" по разному).

В RedHat Linux по умолчанию используется Fvwm, имитирующий интерфейс Windows95. На практических занятиях он перенастроен под "более Unix'ный" вид – Mwm.

На иллюстрациях ниже приведено несколько примеров того, как может выглядеть экран X с разными window manager'ами. Это лишь небольшое подмножество из существующего разнообразия. Список общедоступных window manager'ов можно посмотреть на странице Window Managers службы Yahoo! Другим полезным ресурсом на эту тему является страница "Window Managers for X" (http://www.plig.org/xwinman/).

В последнее время стало очень модно использовать способность X-Window работать с непрямоугольными окнами – декорации на окнах приобретают фигурный вид, а также делать "полупрозрачные" окна, когда, к примеру, из-под xterm "просвечивает" фоновая картинка. Особенно грешит этим KDE. Примеры этих "видеоэффектов" можно найти по указанным выше ссылкам -- надо обращать внимание на пункты "screenshots".

Зайдя с консоли, для запуска X достаточно дать командуstartx

Именно "startx", а не "start x" и не "xstart".

После этого на экране быстро пройдет диагностика запуска X-сервера, затем компьютер переключится в графический режим -- появится пустой экран, заполненный простеньким штрихованным узором, а через несколько секунд на нем появится "оформление", которое обычно включает окно для ввода команд и, например, часы.

Иногда компьютеры настраивают так, что X запускается автоматически сразу после загрузки операционной системы, и вместо консольного приглашения "login:" сразу появляется окно примерно такого вида:

В этом случае надо просто войти в систему так же, как с консоли – ввести свое login-имя, нажать <Enter>, ввести пароль, и еще раз нажать <Enter>. После этого (если имя и пароль введены правильно) автоматически запустится X-сессия – так же, как если зайти с консоли и запустить "startx".

Для того, чтобы завершить работу с X-Window, лучше всего найти в меню пункт типа "Quit" – "выход" (иногда он может называться "Exit" или "Logout").

В самом же крайнем случае, например, когда надо выйти мгновенно, или в незнакомом window manager'е, когда неизвестно, где искать "Quit", можно воспользоваться комбинацией клавиш <Alt+Ctrl+Backspace>. Хотя это самый простой способ, лучше все же всегда использовать "Quit".

Хотя раздел и озаглавлен "Использование MWM", реально в Linux применяется не настоящий MWM (Motif Window Manager), который является платным, а свободно распространяемый Fvwm2, "загримированный" под MWM. Хотя в других window manager'ах могут использоваться иное оформление, клавиши и меню, по функциям они достаточно похожи.

В данном разделе предполагается, что читатель знаком с графическим интерфейсом системы Windows95 или Microsoft Windows NT 4.

Первым отличием является то, что для того, чтобы активизировать окно, не нужно щелкать на нем мышью -- достаточно просто навести на него курсор. При этом окно "подсвечивается" – цвет рамки из серого превращается в бирюзовый. При этом, даже если окно почти полностью закрыто другим окном, оно все равно является активным. К примеру, окно xterm будет принимать команды с клавиатуры, даже если курсор мыши стоит на самом его уголке, а остальная часть скрыта.

Про активное окно говорят, что ему принадлежит "фокус ввода". Операция активизации окна называется "фокусированием".

Второе отличие – то, что даже щелчок мышью на окне не "вытаскивает" его поверх остальных окон. Для этого надо щелкнуть на его заголовке.

Третье отличие – в большинстве window manager'ов нет стандартной комбинации клавиш для закрытия окна (наподобие Alt+F4), поскольку большая часть подобных действий выполняется в X при помощи мыши.

И, наконец, в Mwm отсутствует как "Панель задач" с кнопкой "Пуск" -- их функции выполняют меню, вызываемые мышью, так и большое количество пиктограмм на рабочем столе (которые в Win95/NT все равно совершенно бесполезны, поскольку большую часть закрыты каким-нибудь окном).

Одним из самых больших удобств интерфейса X-Window является так называемый виртуальный десктоп, или виртуальный экран (хотя его аналоги есть в Win95/NT, вследствие слабой интеграции с системой работают они не слишком хорошо).

Дословно "desktop" -- это рабочая поверхность стола (или сокращенно просто "рабочий стол"), но из-за громоздкости перевода используется англоязычный термин.

Виртуальный десктоп -- это возможность работать не с одним экраном, на который надо "упихать" все окна (а их зачастую открывают по несколько десятков), а с несколькими одновременно, быстро переключаясь между ними при помощи мыши или клавиатуры.

Технически виртуальный десктоп делается за счет того, что реальный размер рабочего стола не один экран, а, например, 3x3, и на мониторе отображается лишь какая-то его часть -- аналогично тому, как в окне текстового редактора отображается лишь часть текста, а остальное скрыто за границами, но тоже может быть просмотрено. Так, если окно "увезти за заголовок" так, что часть его будет скрыта за низом экрана, то эта скрытая часть будет "свисать сверху" в том экране, что расположен ниже.

В правом нижнем углу экрана расположено маленькое неприметное окошко.

Левая его часть занята индикатором занятости компьютера, а вот правая -- это "карта" виртуального десктопа, на которой каждый экран отделен пунктирными линиями, а открытые окна отображаются маленькими прямоугольничками (пропорционально реальному размеру). Текущий экран (в данном случае левый средний) подсвечен розовым.

Переключиться в другой экран можно, щелкнув мышью на его изображении на "карте". Другой вариант -- можно "переходить" между экранами при помощи Shift+Ctrl+Alt+клавиши со стрелками.

Переместить окно в другой экран можно, "перетащив" его изображение на "карте" средней кнопкой мыши.

Вообще говоря, в искусство работы в X-Window входит умение поудобнее "раскидать" окна по экранам. При этом даже отпадает потребность сворачивать окна в пиктограммы -- поскольку все окна в своих экранах, то они не закрывают друг дружку, и переключение между ними производится простым переходом между экранами.

Как указывалось выше, значительное количество программ сделано на основе библиотеки интерфейсных элементов под названием "Athena Widgets". Библиотека это довольно старая, и программы выглядят несколько необычно.

Первое отличие -- это линейки прокрутки (scrollbars). Мало того, что на них нет стрелочек, а только бегунок, они еще и весьма "нестандартно" реагируют на мышь.

Для того, чтобы передвинуть бегунок, надо нажать на нем среднюю кнопку мыши. При этом мышь необязательно должна быть на бегунке -- он сам "прыгнет" к курсору. Если не отпуская кнопку мыши передвигать курсор, то бегунок будет ездить за ним.

Второе отличие -- то, что после вызова меню кнопкой мыши нельзя отпускать кнопку -- иначе меню исчезнет. Нужно не отпуская кнопку подвести курсор к нужному пункту, и тогда отпустить.

Третье -- некоторые программы (например, xedit) используют принцип "Focus Follows Mouse" -- например, если на экране есть несколько полей ввода текста, то активным является то, над которым находится курсор мыши.

Для того, чтобы можно было вводить команды Unix как на консоли, служит программа xterm -- эмулятор терминала. В Linux используется его улучшенная версия -- nxterm.

В левой части окна расположена линейка прокрутки, позволяющая "заглянуть назад" и увидеть то, что уже скрылось за пределами экрана. При помощи клавиш <Shift+PgUp> и <Shift+PgDn> можно добиться того же.

Нажав одновременно <Ctrl> и одну из кнопок мыши, можно вызвать одно из трех меню xterm.

По <Ctrl+ЛеваяКнопка> появляется меню "Main Options", которое используется крайне редко.

По <Ctrl+ПраваяКнопка> появляется меню "VT Fonts", которое позволяет сменить шрифт. По умолчанию используется шрифт, уставленный как "Delault", остальные пункты позволяют выбрать шрифт от "Unreadable" (нечитабельный) до "Huge" -- очень большой.

И, наконец, <Ctrl+СредняяКнопка> вызывает меню "VT Options", содержащее около двух десятков пунктов. Остановимся лишь на самых полезных из них.

  • Enable Scrollbar
  • включает/выключает линейку прокрутки (редко кому надо ее убирать, но иногда она по умолчанию бывает выключена -- тогда надо знать, как ее включить).
  • Enable Reverse Video
  • меняет цвета букв и фона -- если выбрать эту опцию при белых буквах на черном фоне, то буквы станут черными, а фон -- белым.
  • Scroll to Bottom on Tty Output
  • позволяет отключить автоматическое "перепрыгивание" окна вниз (в текущую область) при выводе на экран.
  • Do Soft Reset и Do Full Reset
  • сбрасывают внутренние настройки терминала в начальное состояние -- это требуется, например, когда какая-то программа привела терминал в такое состояние, что * вместо букв отображаются всякие странные символы.
  • Reset and Clear Saved Lines
  • делает то же, что и Full Reset, но при этом еще и "забывает" строки, "уехавшие" за верх экрана.
  • В любой версии X-Window есть простейший текстовый редактор под названием xedit, по возможностям примерно эквивалентный программе Notepad в Windows.

Текстовый редактор xedit

Хотя xedit довольно примитивен, он имеется всегда, и при этом он не столь "неудобоварим" для обычного пользователя, как vi.

В верхней части окна располагаются кнопки [Quit], [Save] и [Load], отвечающие за выход, сохранение файла и загрузку файла соответственно. Если нажать на [Quit], когда в файл были внесены изменения, то xedit откажется выйти -- надо будет нажать [Quit] повторно.

Справа от кнопок расположено поле для ввода имени файла. Достаточно просто навести на него мышь и набрать нужное, а затем нажать [Save] или [Load] -- в первом случае файл будет сохранен под указанным именем, во втором случае будет загружен указанный файл.

Текст файла располагается в самой нижней части окна -- для ввода и редактирования надо навести туда мышь. Полное описание всех клавиш, используемых при редактировании, можно найти на man-странице по xedit.

Графический просмотр man-страниц: xman

Программа xman служит для интерактивного выбора и просмотра man-страниц. При ее запуске появляется маленькое окошко (иногда даже без обрамления).

При нажатии на кнопку [Manual Page] появляется окно с кнопками-меню [Options] и [Sections] сверху. Выбрав раздел из меню [Sections], можно затем выбрать в нем интересующую страницу и щелкнуть на ее названии мышью. Посмотреть другую страницу можно, заново нажав [Sections] и т.д. Чтобы для каждой страницы не приходилось заново идти в [Sections], можно выбрать в меню [Options] пункт [Show Both Screens] -- при этом на экране одновременно будут отображаться и список страниц, и текущая страница. Пункт [Search] из меню [Options] позволяет найти страницу по ее имени.

Xman позволяет открыть одновременно несколько окон -- для этого надо просто несколько раз нажать на кнопку [Manual Page]. Убрать лишнее окно можно, просто закрыв его. Кнопка [Help] дает довольно подробную справку по использованию xman.

Основные недостатки xman -- то, что он не позволяет вести поиск внутри страницы, а также то, что по умолчанию им совершенно невозможно пользоваться без мыши.

Калькулятор: xcalc

Xcalc -- это простейший калькулятор, который умеет выполнять основные арифметические действия, считать тригонометрические функции и позволяет считать "сложные" выражения со скобками. (Xcalc -- это полная копия калькулятора Texas Instruments TI-30.)

Большую часть "кнопок" можно нажимать как мышью, так и с клавиатуры. Для выходя служит клавиша "q".

Если щелкнуть на индикаторе, то число "подсветится", и его можно затем вставить куда-либо при помощи средней кнопки мыши.

Увеличительное стекло: xmag

Участок экрана, увеличенный при помощи xmag Программа xmag (ее обычно нет в меню и надо запускать из командной строки) позволяет рассмотреть некую область экрана "с увеличением". При ее запуске курсор мыши привращается в "уголок" Г, который надо навести на интресующий участок экрана.

Графический редактор: xpaint

Xpaint -- это графический редактор для растровых изображений, по функциональности значительно превосходящий редактор Paintbrush (он же Windows Paint).

При запуске появляется окно инструментов, в верхней части которого расположено меню. Пункт [New Canvas] меню [File] открывает новое окно с пустым изображением 640*480, [New With Size] позволяет указать размер. Загрузить существующий файл можно командой [Open].

Xpaint умеет работать с файлами самых распространенных форматов -- GIF, JPEG, PNG, TIFF и с еще несколькими. Одновременно можно открыть несколько окон.

В каждом окне с редактируемым изображением есть свое меню и две палитры цветов -- основная (для операций типы рисования линии) и дополнительная (для заполненных фигур).

В xpaint встроена справочная система, в которой есть информация по большинству вопросов.

Программы для развлечений и "красоты": xearth, xsnow, xeyes, xclock, xroach

xearth

Эта программа показывает на заднем плане (в качестве "обоев") Землю, как ее видно в данный момент со стороны Солнца, и отмечает на ней основные города. (У xearth есть одна неприятная особенность: если ее убить (kill), то изображение земли все равно остается, но не обновляется.)

xsnow

"Зимний пейзаж" -- на заднем плане растут елочки и иногда проезжает Санта-Клаус на санях, а "с неба" падает снег и оседает внизу экрана и на окнах. Указав "-snowflakes 1000", можно в десять раз увеличить количество снега, а указав "-windtimer 1", можно заставить ветер дуть всегда (это средний интервал между порывами ветра в секундах).

Все компьютеры в классе имеют адреса вида 192.168.1.N, где число "N" написано на корпусе. Открыть новое окно nxterm. Увеличить в нем шрифт до "огромного" размера. Выполнить команду "ls -lR /etc", которая выведет на экран большое количество информации. Затем при помощи линейки прокрутки посмотреть, какой файл в этом листинге идет первым. Потом заставить nxterm "забыть" весь этот листинг. Скопировав к себе в home-директорию файл /net/class/home/teachers/bolkhov/moroz (он набран латинскими буквами) при помощи xedit исправить имеющиеся в нем ошибки. Запустив xcalc, посчитать выражение sin2390+cos2-330. Запустив xmag, "увеличить" карту экрана из правого нижнего угла. Затем запустить xpaint, открыть в нем новое окно, "скопировать" при помощи кнопки [Select] в xmag изображение в "карман" и вставить его в xpaint (фрагмент вставится неувеличенным). Переместить этот фрагмент в центр изображения и нарисовать вокруг него эллипс красного цвета. Затем сохранить картинку в свою home-директорию в формате JPEG. Переместить часы из правого верхнего угла в правый нижний -- над "картой" десктопа, а "глаза" -- в то место, где были часы. Закрыть имеющиеся часы и "глаза", а затем "вручную" запустить часы так, чтобы при закрытии окна nxterm, из которого они запущены, часы остались. Переместить эти часы в левый верхний угол экрана и уменьшить их до размера 50*50 точек (размер отображается на индикаторе в центре экрана). Перейти в правый нижний экран и открыть в нем новое окно nxterm. Затем перейти в левый нижний экран, запустить там xpaint и "перетащить" его в правый нижний экран. Зайдя (при помощи rlogin или telnet) на компьютер к соседу, запустить ему на экран "снежную зиму" и "тараканов" (доступ с соседнего на него самого открыт). Сделать то же самое со своего компьютера на соседский (предварительно сосед должен открыть доступ к своему дисплею). Переключить window manager с режима MWM (Lesstif WM) на Fvwm95, затем перейти в AfterStep, и вернуться обратно в Lesstif WM. Корректно выйти из X-Window и затем правильным образом выключить компьютер[Источник 2]

Основная идея X Window

Имеем две независимых программы. Одна умеет рисовать на графическом мониторе, и вообще, обслуживать все это железо. Она называется X-сервер. Вторая программа - называем ее клиент X Window, рисовать физически не умеет. Зато она знает, что именно надо рисовать, и умеет командовать. Команды типа: "нарисовать прямоугольник", "провести линию", "открыть окно", "вывести символ в заданном фонте", "опросить координаты мыши", и т.п. передаются X-серверу, а тот их исполняет - рисует. Формат и спецификации этих команд опубликованы, стандартизованы, и широко известны. Все вместе они называются "Протокол X Window".

X-сервер

Программа, которая написана специально под конкретное физическое устройство (имеется в виду - монитор, графконтроллер, мышь и клавиатура), умеет на нем рисовать, и умеет понимать команды рисования по протоколу X Window System.

X-клиент

Прикладная программа, обеспечивающая графический интерфейс с пользователем. Команды для рисования на экране передает X серверу по протоколу X Window System.

X-терминал

Ящик (монитор, графконтроллер, мышь, клавиатура, ну и, естественно, процессор и оперативная память), на котором запущена программа X-сервер. X-терминалом может служить самая обыкновенная графическая Unix-рабочая станция, на которой X сервер выполняется, как одна из многих прикладных задач. Специализированный X-terminal - ящик, на котором запускается только X сервер, и ничего кроме. Можно использовать PC под MS-DOSом, на котором запущена DOSовская программа, реализующая X сервер.

Xlib

Библиотека C-ишных функций, реализующих протокол X Window System. С помощью этой библиотеки можно писать графические программы - X-клиенты.

Расширения

X-сервер состоит из набора расширений, каждое из которых реализует определённые функции: от прорисовки геометрических примитивов до ускорения обработки и вывода на экран трёхмерная графика с использованием возможностей видеоаппаратуры. Почти каждый из этих модулей можно отключить или настроить в конфигурационном файле.

Display Data Channel

VESA Display Data Channel (DDC™) — стандарт обмена информацией между монитором и графической платой, позволяющий монитору передавать данные о поддерживаемых разрешениях, частотах развёртки, производителе монитора и т. д. Модуль DDC поддерживает версии 1 и 2 спецификации DDC. В соответствии с полученными данными он устанавливает основные параметры экрана или предупреждает о несоответствии заданных пользователем параметров.

RANDR

X Resize, Rotate and Reflect Extension — расширение X-сервера, реализующее функции масштабирования, поворота и отражения корневого окна. Используется при изменении разрешения, при динамической замене монитора (например, при переключении со встроенного экрана ноутбука на внешний монитор). Рассылает запущенным приложениям предупреждения об изменении конфигурации экрана.

XRender

X Rendering Extension предоставляет функции для совмещения и вывода изображений на экран. Позволяет обрезать изображение, накладывать маску по цветам с использованием альфа-канала, использовать различные фильтры, подготавливать и выводить текстовую информацию, а также отображать основные геометрические фигуры.

Shape

Расширение Shape предназначено для улучшения вида интерфейса пользователя. Среди его возможностей — отбрасывание тени элементами интерфейса для создания иллюзии трёхмерности; окна и кнопки с округлыми краями; возможность создавать различные фигуры, отличные от прямоугольных.[Источник 3].

Преимущества Windows X

Мы получаем универсальный GAPI - (Graphical Application Programming Interface) - средство программирования графических приложений. Пользовательские графические программы при этом полностью отвязаны от железа, от конкретного графконтроллера. О железе пусть беспокоится X-сервер.

Протокол X Window умеет "ездить" по сети: например по TCP/IP, или по DEC-net. Поэтому Xсервер может крутиться на одноймашине, а X-клиент - на другой. То есть, картинка рисуется на одной машине, а программа, которая ее обеспечивает - крутится на другой.

X-сервер способен обслуживать сразу много клиентов, причем всех - одновременно. На нашем графическом экране может быть открыто сразу много окон - каждое окно порождается его собственным X клиентом. Клиенты эти могут быть запущены и на нашей машине (к которой подключена графическая подсистема), и на удаленных машинах, соединеннных с нами по сети.

Источники

  1. Windows X// Wikipedia [2001–2018]. URL: https://ru.wikipedia.org/wiki/X_Window_System (Дата обращения: 17.04.2018).
  2. Графический интерфейс X-Window, часть 1 // Институт Ядерной Физики имени Г.И.Будкера [2018]. Дата изменения: 01.01.1999. URL: http://www.inp.nsk.su/~bolkhov/teach/inpunix/x11.ru.html (Дата обращения: 24.05.2018).
  3. Windows X // LIB.ru - информационный портал [2008–2018]. URL: http://www.lib.ru/unixhelp/xwindows.txt (Дата обращения: 17.04.2018).