Помощь в написании студенческих работ
Антистрессовый сервис

Графическая оболочка X-Windows System

РефератПомощь в написанииУзнать стоимостьмоей работы

Можно писать X-овые программы, используя библиотеку Xlib. Многие так и пишут, хотя это весьма тяжело — уж больно невысок уровень Xlib «а. В помощь программистам было создано несколько toolkit «ов — библиотек более высокого уровня, в которых реализованы различные widget «ы. Widget — непереводимый термин X Windows. Склеен из двух слов — Window и Gadget (приспособление), является графическим… Читать ещё >

Графическая оболочка X-Windows System (реферат, курсовая, диплом, контрольная)

Графическая оболочка X-Windows System

Основная идея X Windows.

Итак, повторим.

Что мы с этого имеем.

Чего нам это стоит.

Как это запускается.

Библиотеки, Motif, и война круглых и квадратных кнопок.

Конфигурирование X Windows.

Запуск X Windows.

Настройки пользовательского окружения X Windows.

Настройки window-manager «a.

Для начала немного истории и общих мест. Представим, что нам нужно написать программу, которая будет работать в графическом режиме. Нам потребуется: опрашивать клавиатуру, снимать события и координаты мыши, рисовать на экране, … Как это делалось на MS-DOSе? Очень просто. Пишем одну большую программу, в ней — все: и логика, и обработка событий, и слежение за перемещениями мыши, ну, а когда требуется что-то нарисовать, мы даем команду на запись в порты EGA контроллера, рисуем пиксель… Через год появляется контроллер VGA, еще через год SVGA 800×600, 16 цветов, вслед за ним UVGA 1024×768, 256 цветов, затем XGA 1280×1024, 16Мб цветов…

Основная идея X Windows.

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

Итак, повторим.

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

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 Programming Interface) — средство программирования графических приложений. Пользовательские графические программы при этом полностью отвязаны от железа, от конкретного графконтроллера. О железе пусть беспокоится 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. Для этого на нашем компьютере нужно выполнить команду:

xtermdisplay pcat107:0.0 &.

Библиотеки, 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:

Установите переменные окружения:

OPENWINHOME=/usr/openwin export OPENWINHOME.

LD_LIBRARY_PATH=/usr/openwin/lib export LD_LIBRARY_PATH.

PATH=/usr/openwin/bin:$PATH export PATH.

XAPPLERESDIR=/usr/openwin/lib/app-defaults export XAPPLERESDIR.

Запустите X Windows командой.

openwin.

" Нормальные «Unix «ы:

Установите переменные окружения:

PATH=/usr/bin/X11:$PATH.

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.

Показать весь текст
Заполнить форму текущей работой