Используя самые простые термины, можно сказать, что X Windows - завершенный графический интерфейс для Unix-систем, в том числе для Linux. Но это еще не все. X Windows - это окружение, которое обеспечивает множество дополнительных функций как для пользователя, так и для разработчика программного обеспечения.
Основой концепции ядра X Windows является технология "клиент-сервер". На практике это означает, что X Windows обеспечивает среду, которая не связана с единственным процессором. Приложение может выполняться на каком-либо сервере или компьютере сети, но отображается (с помощью X Windows) на терминалах или рабочих станциях в любом другом месте сети.
Различие между местом, где выполняется приложение, и местом, где оно отображается, является характерной особенностью X Windows, не реализованной в среде Windows и Macintosh. Благодаря этой возможности X Windows, в сетевой среде обеспечивается сложное графическое отображение рабочего стола приложения, которое создается на прекрасно оснащенном, мощном, легком в управлении центральном сервере приложений. Эта особенность позволила Unix и X Windows заслужить хорошую репутацию у системных администраторов больших сетей.
С другой стороны, среду X Windows можно разделить на интерфейс и средства работы с окнами. В X Windows для обеспечения завершенного GUI должны быть запущены два приложения. Первое - это X сервер, который устанавливает режимы графического отображения (т.е. разрешение и частоту регенерации изображения, глубину цвета), отображает окна, следит за движением мыши, нажатиями клавиш и окнами. Но X сервер не поддерживает меню, границы окон или механизмы перемещения, переключения, свертывания или развертывания окон. На рис. 6.1 показано,
как
выглядит экран X сервера без диспетчера окон.
Рис. 6.1.
Экран X сервера без диспетчера окон
Обратите внимание на простоту изображения (рис. 6.1). Нет цветного фона, сложных рамок окна и меню, нет других элементов, которые создают завершенный пользовательский графический интерфейс. Эти элементы обеспечиваются вторым приложением -
диспетчером окон.
На рис. 6.2 показан рабочий стол X Windows, реализуемый с использованием диспетчера окон fvwm95. Обратите внимание на особенности рамок окон, кнопки управления, меню, а также на панель задач и систему виртуального рабочего стола. Все это обеспечивается диспетчером окон.
Диспетчер окон взаимодействует с X сервером стандартным, заранее предопределенным образом, как обычно взаимодействует X сервер с X приложением. Это значит, что различные диспетчеры окон с различными деталями интерфейса могут взаимодействовать этим стандартным способом с X сервером. Разнообразные доступные X серверы, которые часто поддерживают графические адаптеры, мониторы и другое оборудование, также стандартным образом могут работать с приложениями.