Графическаяоболочка X-Windows System Основная идея X Windows Итак, повторим Что мы с этого имеем Чего нам это стоит Как это запускается Библиотеки, Motif, и война круглых и квадратных кнопок Конфигурирование X Windows Запуск X Windows Настройки пользовательского окружения X Windows Настройки window-manager a Для начала немного истории и общих мест.
Представим, что нам нужно написатьпрограмму, которая будет работать в графическом режиме. Нам потребуется опрашивать клавиатуру, снимать события и координаты мыши, рисовать на экране Как это делалось на MS-DOSе? Очень просто. Пишем одну большую программу, вней - все и логика, и обработка событий, и слежение за перемещениями мыши, ну,а когда требуется что-то нарисовать, мы даем команду на запись в порты EGAконтроллера, рисуем пиксель Через год появляется контроллер
VGA, еще через годSVGA 800x600, 16 цветов, вслед за ним UVGA 1024x768, 256 цветов, затем XGA1280x1024, 16Мб цветов Основная идея X Windows. Имеем две независимых программы. Одна умеет рисовать на графическоммониторе, и вообще, обслуживать все это железо. Она называется X-сервер. Втораяпрограмма - называем ее клиент
X Windows, рисовать физически не умеет. Зато оназнает, что именно надо рисовать, и умеет командовать. Команды типа нарисовать прямоугольник , провести линию , открытьокно , вывести символ в заданном фонте , опроситькоординаты мыши , и т.п. передаются X-серверу, а тот их исполняет -рисует. Формат и спецификации этих команд опубликованы, стандартизованы, ишироко известны. Все вместе они называются Протокол X Windows . Итак, повторим.
X-сервер. Программа, которая написана специально под конкретное физическоеустройство имеется в виду - монитор, графконтроллер, мышь и клавиатура , умеетна нем рисовать, и умеет понимать команды рисования по протоколу X WindowsSystem. X-клиент. Прикладная программа, обеспечивающая графический интерфейс спользователем. Команды для рисования на экране передает X серверу по протоколуX Windows System. X-терминал. Ящик монитор, графконтроллер, мышь, клавиатура, ну и,естественно, процессор
и оперативная память , на котором запущена программаX-сервер. X-терминалом может служить самая обыкновенная графическаяUnix-рабочая станция, на которой X сервер выполняется, как одна из многихприкладных задач. Специализированный X-terminal - ящик, на котором запускаетсятолько X сервер, и ничего кроме. Можно использовать PC под
MS-DOSом, на которомзапущена DOSовская программа, реализующая X сервер. Xlib - библиотека C-ишных функций, реализующих протокол X Windows System. Спомощью этой библиотеки можно писать графические программы - X-клиенты. Что мы с этого имеем. Мы получаем универсальный GAPI - Graphical Application ProgrammingInterface - средство программирования графических приложений.
Пользовательскиеграфические программы при этом полностью отвязаны от железа, от конкретногографконтроллера. О железе пусть беспокоится X-сервер. Протокол X Windows умеет ездить по сети например по TCP IP, илипо DEC-net. Поэтому Xсервер может крутиться на одной машине, а X-клиент - надругой. То есть, картинка рисуется на одной машине, а программа, которая ееобеспечивает - крутится на другой. X-сервер способен обслуживать сразу много клиентов, причем всех -одновременно.
На нашем графическом экране может быть открыто сразу много окон -каждое окно порождается его собственным X клиентом. Клиенты эти могут бытьзапущены и на нашей машине к которой подключена графическая подсистема , и наудаленных машинах, соединенных с нами по сети. Чего нам это стоит. Понятно чего. Ресурсов. X Windows очень любит ресурсы - память, процессор,диск. Способен съесть их в неограниченных количествах. А еще ведь надопрограммировать.
К счастью, не всем надо . Кто видел, как выглядят программыдля MS Windows или Mac, может представить себе внешний вид исходных текстовX-овой программы. Как это запускается. Пусть в нашей сети есть машина с графической подсистемой и X сервером, исетевой адрес этой машины pcat107.foms.msk.ruна pcat107 нужно выполнить команду xhost разрешить X-овым программам с ЛЮБОЙ машины рисовать на экране машины pcat107Запускаем на нашем компьютере
X-овую программу, так, чтобы ее окошкорисовалось на мониторе pcat107. Для этого на нашем компьютере нужно выполнитькоманду xterm -display pcat107 0.0 amp Библиотеки, Motif, и война круглых и квадратных кнопок. Можно писать X-овые программы, используя библиотеку Xlib. Многие так ипишут, хотя это весьма тяжело - уж больно невысок уровень
Xlib а. В помощьпрограммистам было создано несколько toolkit ов - библиотек более высокогоуровня, в которых реализованы различные widget ы. Widget - непереводимый терминX Windows. Склеен из двух слов - Window и Gadget приспособление , являетсяграфическим объектом с привязанными к нему свойствами и реакциями на действияпользователя. Примеры widgetow кнопка , менюшка , окошко с текстом , линейка прокрутки
Известны следующие toolkit ы Xaw - Anthena Widgets. Очень черно-белый, очень плоский, весьма небогатый. Зато - бесплатный. Посмотрите, как выглядят программы xterm, xedit, xman. Они сделаны на Xaw. xview - Набор библиотек и объектов, использованных в реализации набора пользовательских утилит Sun-овской версии X Windows - Open Windows .
Весьма симпатично. Круглые кнопки, шприцы-иголки замечательная вещь очень хорошо продуманный интерфейс пользователя, в том числе активно используемая трех-кнопочная мышь. Исходные тексты библиотек xview открыты, предоставляются бесплатно. Однако набор DeskSet - 15 пользовательских утилит входящих в OpenWindows, сделанный на библиотеке xview, SunSoft готов предоставить только за плату.
В бинарном виде - весьма дешево 100 . В исходных текстах - весьма дорого 200K Motif - Библиотека поставляются организацией OSF за не совсем маленькую плату. Исходные тексты библиотек недоступны, либо чрезмерно дороги. Кнопки - квадратные, да и вообще Motif овские приложения до безобразия напоминают MS Windows что, IMHO, является серьезным преступлением
В борьбе BSD и Unix V победил, как известно, System V, а в войне круглых иквадратных кнопок выиграл Motif. Конфигурирование X Windows В Linux используется X11 в реализации XFree86. Чтобы его сконфигурировать,выполните команду xf86config Запуск X Windows. На некоторых машинах он сам запускается.
А также иногда удается запуститьего вручную командами startx и или openwin Solaris Установите переменные окружения 2. OPENWINHOME usr openwin export OPENWINHOME3. LD LIBRARY PATH usr openwin lib export LD LIBRARY PATH4. PATH usr openwin bin PATH export PATH5. XAPPLERESDIR usr openwin lib app-defaults export
XAPPLERESDIR Запустите X Windows командой openwin Нормальные Unix ы Установите переменные окружения 2. PATH usr bin X11 PATH3. XAPPLERESDIR usr lib X11 app-defaults Запустите X Windows командой startx Ненормальные Unix ы Unixware . Когда регистрируете пользователя, ответьте Yes на вопрос
Хотитеграфический DeskTop . Тогда после login а X Windows будет запускатьсяавтоматически. Если вы прозевали, и ответили No, то никаким осмысленнымспособом запустить X Windows для себя вам не удастся. Настройки пользовательского окружения X Windows При наличии пользовательских настроечных файлов, лежащих в домашнем каталогепользователя, используются они. Если их нет, используются стандартные, общественные,обычно лежащие в каталоге usr
lib X11или usr openwin lib Персональные и общественные пользовательские настройки хранятся в файлах HOME .Xdefaults HOME .OWdefaults usr lib X11 Xdefaults usr openwin lib Xdefaults usr openwin lib app-defaults Окружение desktop - т.е. программы, которые стартуют автоматически призапуске X Windows находится в файлах Solaris HOME .openwin-init usr openwin lib openwin-init Нормальнные X windows HOME .xinitrc usr lib X11 xinit xinitrcНастройки window-manager a - т.е поведение
окон, менюшкипользователя, раскладка команд на клавиши мышки, Solaris HOME .openwin-menu HOME .openwin-menu- usr openwin lib openwin-menu usr openwin lib openwin-menu- Linux HOME .fvwmrc usr lib X11 fvwm system.fvwmrc
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |