СОДЕРЖАНИЕ
1. Базовые концепции X Window……………………………………………………..3 стр
2. Компоненты системы X Window…………………………………………………...3 стр
3. Предварительное конфигурирование……………………………………………..3 стр
3.1 Старт XWindow…………………………………………………………………..4 стр
3.2 X ресурсы………………………………………………………………………….4 стр
3.3 Менеджер ресурсов xrdb…………………………………………………………4 стр
4. Имена и классы клиентов…………………………………………………………..4 стр
5. Имена и классы ресурсов……………………………………………………………5 стр
6. Типы ресурсов………………………………………………………………………...5 стр
7. Управление шрифтами……………………………………………………………...5 стр
7.1 Настройка путей поиска шрифтов. Команда xset……………………………5 стр
7.2 Получение списка шрифтов доступных в системе. Команда xlsfont……...6 стр
7.3 Использование Font сервера……………………………………………………6 стр
7.4 Описание шрифтов. XLFD формат……………………………………………6 стр
7.5 XLFD синтаксис………………………………………………………………… 7 стр
7.6 Файл font.alias……………………………………………………………………7 стр
7.7 Администрирование растровых шрифтов…………………………………...7 стр
7.8 Компилирование .BDF шрифтов в .PCF шрифты…………………………..8 стр
1. Базовые концепции X Window
В HP-UX 10.20 Xserver это программа которая стартует автоматически после старта системы непосредственно перед тем как будет запущено окно логина. Она захватывает управление графическим дисплеем, клавиатурой и мышью и все дальнейшее взаимодействия между программами и этими устройствами происходит с участием Х сервера.
Х клиент – это программа которая написана для взаимодействия с Х сервером. Учитывая сетевые возможности сисметы Х Window клиент и сервер могут быть физически разнесены и общаться через сеть.
Несмотря на то что Х сервер использует мультизадачные свойства ОС в заданный интервал времени только одно графическое окно может обрабатывать пользовательский ввод, это окно называется активным.
2. Компоненты системы X Window
Среди компонент системы можно в первую очередь выделить:
· Компьютерное оборудование
· Операционную систему
· Х сервер обеспечивающий взвимодействие меджу клиентами и дисплеем
· Клиентские программы которые включают
· Оконный менеджер для управления поведением окон
· И непосредственно прикладные программы
В системе XWindow очень часто употребительным термином является термин “дисплей”. Чтобы не путать его с монитором (телевизор к которому подкючается компьютер) раскроем его смысл. Дисплей это принципиально устройство вывода информации. Дисплей – это логическое понятие и один дисплей может включать в себя несколько физических мониторов.
Экран это графическое битмап устройство которое после старта Х сервера становиться корневым окном. Оно содержит все остальные окна и прочие визуальные элементы. Одним из вспомагательных но необязательных элементов системы XWindow является FontServer, позволяющий передавать по сети шрифты на Х сервера.
3. Предварительное конфигурирование
Для работы в системе XWindow прежде всего необходимо наличие переменной окружения DISPLAY, файла /etc/X0.host (в системах X11R4/R5) а также работу механизма резолвинга хостов (файл /etc/hosts и/или DNS и/или NIS). Переменная окружения DISPLAY устанавливается в соответствии с правилом:
exportDISPLAY=Host:Display.Screen
Файлы /etc/Xn.hosts представляют собой текстовые файлы содержащие имена хостов которым разрешено подключаться к Х серверу с номером n (запускаемым как /usr/bin/X11/X :n). При попытке подсоединения к Х серверу nнеобходимо в качестве номера screen в переменной окружения DISPLAY использовать n. Конфигурация X серверов храниться в файлах Xnscreens которые соответствуют файлам /etc/Xn.hosts. При не настроенном механизме резолвинга хостов или в случае сетевых проблем возможно возникновение проблем или задержек в работе XWindow. Для контроля доступа к Х серверу используется программа xhost.
xhost + разрешает установку соединения с любым клиентом
xhost - запрещает установку соединения со всеми клиентом
xhost +hostname разрешает установку соединения от хоста host
xhost -hostname запрещает установку соединения от хоста host
Система XWindow использует следующие конфигурационные файлы:
.Xdefaults файл содержит ресурсы общие для всех программ
.x11start файл содержит список клиентов вызывающихся при старте X11
.mwmrc файл определяющий настройки оконного менеджера Motif.
.app-defaults/* индивидуалные настройки клиентов
Если HOME каталог не содердит этих файлов их можно скопировать из системных файлов:
cp /usr/lib/X11/sys.Xdefaults ~/.mwmrc
cp /usr/lib/X11/sys.Xdefaults ~/.Xdefaults
Х сервер вначале ищет файлы в HOME каталоге и лишь не нашев их переходит к системным. По умолчанию конфигурация Х сервера хранится в файле /etc/X11/X*screens. В нем определяются такие параметры как файл устройства, апаратно независимые параметры, глубина цвета, прозрачность окон, а также апаратно зависимые параметры. Полное описание всех параметров можно получить из файла
/usr/lib/X11/Xserver/info/screen/hp
Конфигурациооный файл для устройств ввода Х сервера имеет имя /etc/X11/X*devices.
3.1 Старт X Window
Для старта системы XWindow нужно запустить команду x11start. Он стартует программу xinit которая запускает Х сервер и клиентов а также оконный менеджер в зависимости от конфигурационного файла .x11start.
3.2 X ресурсы
Ресурсы определяют поведение программ (геометрия, цвета, шрифты, поведение клавиатуры, ….). Существует несколько способов позволяющих их изменять:
· Опции командной строки
· .Xdefaults файл
· загрузка ресурсов через менеджер ресурсов
· application resource файлы (app-delaults файлы)
3.3 Менеджер ресурсов xrdb
xrdb [option] filename
основные опции:
-load ресурсы загружаемые из файла перезаписывают сущестивующие
-merge ресурсы загружаемые из файла обьеденяются с сущестивующими
-remove ресурсы указаные в файле удаляются из собственности менеджера
ресурсов.
-edit поместить ресурсы собственности менеджера в файл
Для задания ресурсов используют строку вида:
[client_name] * resource: value
или
[client_сlass] * resource: value
Каждый Х клиент имеет имя и класс. Имя определяет специфического клиента а класс категорию клиента. Ресурсы определенные через имя клиента имеют больший приоритет перед теми что определены через класс клиента. Для лучшего понимания ресурсы определенные через класс пишуться с большорй буквы. Назначить имя клиенту можно при его старте:
xterm –namemyTerminal
чтобы получить к ним доступ достаточно загрузить в ресурс менеджер следующие строки:
Xterm.name: myTerminal
MyTerminal*background: green
Ресурсы как и классы имеют имена и классы. Индивидуальные пишутся с маленькой буквы. Ресурс класса всегда ссылается на класс ресурсов. Поэтому если ресурс *background: red сделает все тоновые цвета красными, то *Background: red сделает красными те ресурсы которые принадлежат к классу Backgroundк которым могут принадлежатьcursorColor, pointerColor…Индивидуальные ресурсы всегда имеют приоритет перед ресурсами классов. Это демонстрирует следующий пример ресурсного файла:
*Foreground: red
Xterm*Foreground: gray
Xterm*foreground: yellow
Xterm*CursorColor: green
В именах ресурсов возможно употребление символа * на первом месте. Нарример ресурс *foreground будет обозначать цвет тона всех приложений, в отличии от xterm*foreground только xterm-a.
Помимо того что каждое приложение может использовать свои собственные ресурсы, существует огромное количество стандартизированых ресурсов. Напрример рассмотренные выше цвета которые можно задавать и в RGB представлении (соответствие между именем цвета и RGB содержится в файле /usr/X11/lib/rgb.txt). Помимо них к стандартным ресурсам относятся геометрические (width, height, column, row), шрифты (Font, FontList, FontSet) и.т.п.
В системе X11 шрифты бывают двух видов: bitmap (растровые) шрифты и scalabletypeface (векторные). Растровый шришт состоит из набора файлов в каждом из которых хранятся символы определенного размера. С растровыми шрифтами напрямую может работать Х сервер и Font сервер. Векторный шрифт перед тем как должен быть выведен на дисплей проходит серию математических обработок после которых он превращается в растровый определенного размера, начертания и.т.п. Если Х сервер желает работать с векторными шрифтами, он должен их получить от Font сервера.
7.1 Настройка путей поиска шрифтов. Команда xset.
В качества источника шрифтов для Х сервера может выступать либо директория, либо Font сервер который принимает соединения на определенный TCP порт (tcp/<hostname>:portnumber). Путь поиска может быть установлен командой xset.
xsetoption
где option может принимать следующие значения:
q выводит информацию о системе X11 включая fontpath
-fpsource[,source …] удаляет источник с начала (-fp) или с конца (fp-) пути
fp- source [,source] поиска шрифтов
+fp source[,source …] добавляет источник к началу (+fp) или к концу (fp+) пути
fp+ source [,source] поиска шрифтов
fp= source [,source] назначает fontpath
fpdefaultсбрасывает fontpath в значение по умолчанию
fprehashзаставляет сервер перечитать базу шрифтов (это нужно в тех
случаях когда изменялось содержимое директорий со
шрифтами)
7.2 Получение списка шрифтов доступных в системе. Команда xlsfont
xlsfont [-option]
Где option
-displayhost:display Х сервер с которого нужно получить листинг шрифтов
-l генерировать маленький листинг
-ll генерировать большой листинг
-lll генерировать очень большой листинг
-n количество колонок для листинга
-w ширина каждой колонки для листинга