Популярные статьи
Реклама
|
Новости
|
11/5 Графический пользовательский интерфейс |
11/5 Графический адаптер |
|
11/5 Шрифты |
11/5 Растровые изображения |
| Система X Window |
|
Может показаться странным, что Х-сервер всегда находится внутри пользовательских компьютеров, а Х-клиент может быть вне его, на удаленном вычислительном сервере, но стоит лишь подумать об основной задаче Х-сервера — отображении битов на экране, как сразу становится понятно, почему нужно держать его ближе к пользователю. С точки зрения программы именно клиент предписывает серверу какие-то действия, вроде отображения текста и геометрических фигур. А сервер (в локальном персональном компьютере) делает, как и все серверы, лишь то, что ему сказано. При запуске Gnome или KDE на одной машине в роли клиента выступает какая-нибудь прикладная программа, использующая X-библиотеку, которая общается с Х-сервером на той же самой машине (но использующая TCP-подключение через сокеты, аналогичные тому, как это делалось бы в случае использования удаленного компьютера). Смысл предоставления возможности запуска X Window System в качестве надстройки над UNIX (или над другой операционной системой) на отдельной машине или с использованием сети заключается в том, что Х-система фактически определяет протокол обмена данными между Х-клиентом и Х-сервером. И неважно, где именно находятся клиент и сервер — на одной машине, отделены друг от друга на 100 метров и связаны по сети или их разделяют тысячи километров и они связаны через Интернет. Во всех случаях протокол и работа системы имеют идентичный характер. Х-система — это всего лишь система организации многооконного интерфейса. Она не является полноценной системой графического интерфейса пользователя. Для получения полноценного графического интерфейса пользователя поверх нее запускается другое программное обеспечение. Один из его уровней — это Xlib, представляющий собой библиотеку процедур для доступа к функциональности Х-системы. Эти процедуры формируют основу X Window System и станут предметом нашего дальнейшего рассмотрения, но они слишком примитивны для непосредственного доступа к ним пользовательских программ. К примеру, ими посылается отдельное сообщение о каждом щелчке мыши, поэтому определение того, какие два щелчка на самом деле формируют двойной щелчок, должно быть сделано на уровне, находящемся выше Xlib. Для облегчения программирования в среде Х-системы в качестве ее составной части предоставляется инструментарий под названием Intrinsics. На этом уровне осуществляется управление кнопками, полосами прокрутки и другими элементами графического интерфейса, именуемыми виджетами (widgets). Для создания настоящего графического интерфейса пользователя с универсальным восприятием и поведением необходим другой уровень (или несколько уровней). Один из примеров — Motif, является основой для общей среды рабочего стола — Common Desktop Environment, используемой в Solaris и других коммерческих UNIX-системах. Во многих приложениях используются вызовы к Motif, а не к Xlib. В Gnome и KDE имеется структура, похожая на ту, только в них используются другие библиотеки. В Gnome используется библиотека GTK+, а в KDE — библиотека Qt. |