Диспетчер окон

Работа в графическом режиме осуществляется с помощью пользовательского интерфейса X Window’s.Для этого интерфейса разработано множество программ управления окнами, например, Window Maker, IceWM, KDE, GNOME и другие. Последние два из них очень напоминают привычный рабочий стол MS-Windows. Оконная система Х сегодня является стандартом для графического интерфейса UNIX-совместимых систем.

Работа в ОС Linux возможна в двух режимах: в текстовом (консольном) и графическом. Первый режим используется в тех случаях, когда аппаратура компьютера не позволяет использовать графический дружественный интерфейс, например, отсутствие аппаратной поддержки какой-либо видеокарты, малый объем винчестера, оперативной памяти и т.п. Ввод команд осуществляется с командной строки, по аналогии с ДОС. Этот режим является более «гибким» инструментом для управления системой и позволяет лучше понять основные принципы работы системы. Первые версии UNIX работали только в этом режиме.

***

Реализация графического режима

В отличие от Windows графическая подсистема Linux устроена гораздо сложнее и в то же время является более гибкой в настройке под индивидуальные вкусы пользователя. В ОС Linux графический режим базируется на 3-х элементах: Х-сервер, диспетчер окон, рабочий стол.

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

Клиент передает серверу X-запросы любым доступным способом. Во многих случаях запросы передаются по сети; при этом неважно, какой именно транспортный уровень будет использован для соединения клиента с сервером (в современных системах это, чаще всего, протокол TCP/IP). Кстати сказать, другое имя X Window System – это X11 (или X11R6) – это просто номер версии X-протокола, стандартизующего X-запросы, при этом "R6" обозначает номер подверсии.

X-сервер, к которому не присоединен ни один X-клиент, можно запустить из командной строки – для этого достаточно выполнить команду "X" (одна заглавная латинская буква X). При этом на черном экране появится только крест, который можно перемещать мышкой и больше ничего (т.е. казалось бы вещь бесполезная). Переключиться обратно на любую виртуальную консоль можно нажав сочетание клавиш <Ctrl+Alt+F№>, где № – номер консоли от 1 до 12. Переключиться обратно на экран, управляемый X-сервером, можно, нажав комбинацию клавиш Ctrl+Alt+F7.

Итак, X-сервер запускается на одном компьютере, а X-клиенты вполне могут работать на других (причем на нескольких!), посылая ему запросы. С точки зрения человека, сидящего за X-сервером, каждый такой клиент представлен в виде окна. Требования к аппаратуре на машинах, запускающих X-клиенты, будут изрядно отличаться от требований к аппаратуре машины для X-сервера. Типичная машина с X-сервером – это рабочее место (workstation). Она должна быть оборудована качественными устройствами ввода-вывода – монитором, видеокартой, клавиатурой и мышью. Что же касается ее вычислительных способностей, то их должно быть достаточно для выполнения X-запросов, и только лишь. В принципе, такой компьютер не обязан работать под управлением Linux.

X-клиент - программа, выполняющая ввод и вывод графических данных при помощи X-запросов, обрабатываемых X-сервером.

Для запуска отправки запроса от Х-клиента серверу нужно знать и указать адрес последнего, а также указать № экрана для отображения результата. Это делается путем присвоения определенных параметров переменной DISPLAY (естественно, в командной строке). Когда параметры указаны, то запускается какое-либо графическое приложение, например, XCALC (калькулятор). В данном случае это приложение и есть Х-клиент. На экране отобразится примерно следующее: (*** слайд 49)


Рис. 16.4. Запуск X-клиента

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

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

Выбор диспетчера окон на свой вкус – очень непростое и вдумчивое занятие. Нужно просто соблюдать меру, т.к. обилие ярких декораций отвлекает от работы (а если они вдобавок шевелятся?). Имейте в виду, что чем причудливее и многообразнее возможности диспетчера окон («окновода»), тем труднее будет его полностью настроить именно под себя. Скорее всего, вы просто согласитесь пользоваться уже настроенными возможностями, не доводя их до совершенства. С запуском диспетчера окон, например “KDE”, экран X-сервера примет наиболее привлекательный и функциональный вид. (*** слайд 50)


Рис. 16.9. Работа в KDE

***

Текстовый режим в Linux, как и ДОСе реализован на основе специальной программы-оболочки, называемой Shell. Эта оболочка использует интерфейс в виде командной строки. По сути дела оболочка Shell представляет собой интерпретатор команд (командный процессор), который интерпретирует команды пользователя в машинный язык. Например в ОС ДОС эти функции исполняет командный процессор COMMAND.COM.

В ОС Linux может использоваться одна 3-х Shell: Bourne Again, Public Domain Korn и TCSH. По умолчанию используется Bourne Again Shell (BASH). При входе в систему на экране рядом с логином отображается один из следующих знаков приглашения: $ - если пользователь вошел в систему как гость, и # - если пользователь вошел в систему, как администратор (ROOT).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: