Глава 5. X Window System - Проект Документации Freebsd   руководство

^ Глава 5. X Window System
Обновил для сервера X.Org's X11 Ken Tom, Marc Fonvieille. Перевод на русский язык: Андрей Захватов.
5.1. Обзор
FreeBSD использует X11 для того, чтобы дать пользователям мощный графический интерфейс. X11 является открытой реализацией X Window System, включая Xorg и XFree86. В версиях FreeBSD до и включая FreeBSD 4.10-RELEASE и FreeBSD 5.2.1-RELEASE сервером X11 по умолчанию был XFree86, выпускаемый The XFree86 Project, Inc. Начиная с FreeBSD 5.3-RELEASE, официальной версией X11 по умолчанию стал Xorg, разработанный X.Org Foundation.

Эта глава посвящена установке и настройке X11 в системе FreeBSD, с акцентом на Xorg.

За дополнительной информацией по видео оборудованию, поддерживаемому X11, обратитесь к веб сайтам Xorg (http://www.x.org/) или XFree86 (http://www.XFree86.org/).

После чтения этой главы вы будете знать:

• Как установить и настроить X11.

• Различные компоненты X Window System и их взаимодействие.

• Как установить и использовать различные оконные менеджеры.

• Как использовать шрифты TrueType® в X11.

• Как настроить вашу систему на графический интерфейс входа (XDM).

Перед чтением этой главы вы должны:

• Знать, как устанавливать дополнительное программное обеспечение сторонних разработчиков (Гл. 4).

Замечание: В этой главе описана установка и настройка серверов X11 и Xorg и XFree86. По большей части файлы настройки, команды и синтаксис идентичны. Там, где есть различия, приводится синтаксис и Xorg и XFree86.
^ 5.2. Основы X
Первое знакомство с X может оказаться чем-то вроде шока для тех, кто работал с другими графическими системами, такими, как Microsoft Windows или Mac OS.

Хотя нет необходимости вникать во все детали различных компонентов X и их взаимодействия, некоторые базовые знания делают возможным использование сильных сторон X.
^ 5.2.1. Почему именно X?
X не является первой оконной системой для UNIX, но она является самой популярной из них. До работы над X команда ее разработчиков трудилась над другой оконной системой. Та система называлась “W” (от “Window”). X была просто следующей буквой в романском алфавите.

X можно называть “X”, “X Window System”, “X11” и множеством других терминов. Факт использования названия “X Windows” для X11 может задеть интересы некоторых людей; дополнительную информацию по этому поводу можно найти на странице справочной системы X(7).
^ 5.2.2. Модель клиент/сервер в X
X изначально разрабатывалась, чтобы быть системой, ориентированной на работу в сети с использованием модели “клиент-сервер”.

В модели работы X “X-сервер” работает на компьютере с клавиатурой, монитором и мышью. Ответственность сервера включает управление дисплеем, обработку ввода с клавиатуры и мыши и так далее. Каждое X-приложение (например, XTerm или Netscape) является “клиентом”. Клиент посылает сообщения серверу, такие, как “Пожалуйста, нарисуй окно со следующими координатами”, а сервер посылает в ответ сообщения типа “Пользователь только что щёлкнул мышью на кнопке OK”.

В случае использования дома или в офисе, сервер и клиенты X будут скорее всего работать на том же самом компьютере. Однако реально возможно запускать X-сервер на менее мощном настольном компьютере, а приложения X (клиенты) на, скажем, мощной и дорогой машине, обслуживающей целый офис. В этом сценарии X-клиент и сервер общаются через сеть.

Некоторых это вводит в заблуждение, потому что терминология X в точности обратна тому, что они ожидают. Они полагают, что “X-сервер” будет большой мощной машиной, стоящей на полу, а “X-клиентом” является машина, стоящая на их столах.

Важно помнить, что X-сервером является машина с монитором и клавиатурой, а X-клиенты являются программами, выводящими окна.

В протоколе нет ничего, что заставляет машины клиента и сервера работать под управлением одной и той же операционной системы, или даже быть одним и тем же типом компьютера. Определённо возможно запускать X-сервер в Microsoft Windows или Mac OS от Apple, и есть множество свободно распространяемых и коммерческих приложений, которые это реализуют.

Начиная с FreeBSD 5.3-RELEASE, X-сервер, поставляемый с FreeBSD, называется Xorg, и он распространяется свободно под лицензией, очень похожей на условия распространения FreeBSD. Имеются и коммерческие X-серверы для FreeBSD.
^ 5.2.3. Оконный менеджер
Философия построения X очень похожа на философию построения UNIX, “инструменты, не политика”. Это значит, что X не пытаются диктовать то, как должна быть выполнена работа. Вместо этого пользователю предоставляются инструменты, а за пользователем остается принятие решения о том, как использовать эти инструменты.

Этот подход расширен в X тем, что не задается, как окна должны выглядеть на экране, как их двигать мышью, какие комбинации клавиш должны использоваться для переключения между окнами (то есть Alt+Tab, в случае использования Microsoft Windows), как должны выглядеть заголовки окон, должны ли в них быть кнопки для закрытия, и прочее.

Вместо этого X делегирует ответственность за это приложению, которое называется “Window Manager” (Менеджер Окон). Есть десятки оконных менеджеров для X: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, WindowMaker и другие. Каждый из этих оконных менеджеров предоставляет различные внешние виды и удобства; некоторые из них поддерживают “виртуальные рабочие столы”; некоторые из них позволяют изменять назначения комбинаций клавиш, используемых для управления рабочим столом; в некоторых есть кнопка “Start” или нечто подобное; некоторые поддерживают “темы”, позволяя изменять внешний вид, поменяв тему. Эти оконные менеджеры, а также множество других, находятся в категории x11-wm коллекции Портов.

Кроме того, оболочки ^ KDE и GNOME обе имеют собственные оконные менеджеры, которые интегрированы с оболочкой.

Каждый оконный менеджер также имеет собственный механизм настройки; некоторые предполагают наличие вручную созданного конфигурационного файла; некоторые предоставляют графические инструменты для выполнения большинства работ по настройке; по крайней мере один (Sawfish) имеет конфигурационный файл, написанный на диалекте языка Lisp.

^ Политика фокусирования: Другой особенностью, за которую отвечает оконный менеджер, является “политика фокусирования” мыши. Каждая оконная система должна иметь некоторый способ выбора окна для активации получения нажатий клавиш, а также визуальную индикацию того, какое окно активно.

Широкоизвестная политика фокусировки называется “click-to-focus”. Эта модель используется в Microsoft Windows, когда окно становится активным после получения щелчка мыши.

X не поддерживает никакой конкретной политики фокусирования. Вместо этого менеджер окон управляет тем, какое окно владеет фокусом в каждый конкретный момент времени. Различные оконные менеджеры поддерживают разные методы фокусирования. Все они поддерживают метод щелчка для фокусирования, и большинство из них поддерживают некоторые другие методы.

Самыми популярными политики фокусирования являются:

focus-follows-mouse (фокус следует за мышью)

  Фокусом владеет то окно, что находится под указателем мыши. Это не обязательно будет окно, которое находится поверх всех остальных. Фокус меняется при указании на другое окно, при этом также нет нужды щёлкать на нём.

sloppy-focus (нечеткий фокус)

  С политикой focus-follows-mouse если мышь помещается поверх корневого окна (или заднего фона), то никакое окно фокус не получает, а нажатия клавиш просто пропадают. При использовании политики нечёткого фокуса он меняется только когда курсор попадает на новое окно, но не когда уходит с текущего окна.

щелчок для выбора фокуса

  Активное окно выбирается щелчком мыши. Затем окно может быть “поднято” и появиться поверх всех других окон. Все нажатия клавиш теперь будут направляться в это окно, даже если курсор переместится к другому.

Многие оконный менеджер поддерживают и другие политики, а также вариации перечисленных. Обязательно обращайтесь к документации по оконному менеджеру.
5.2.4. Виджеты
Подход X, заключающийся в предоставлении инструментов, а не политики, распространяется и на виджеты, которые располагаются на экране в каждом приложении.

“Виджет” (widget) является термином для всего в пользовательском интерфейсе, на чём можно щёлкать или каким-то образом управлять; кнопки, зависимые (radio buttons) и независимые (check boxes) кнопки, иконки, списки и так далее. В Microsoft Windows это называется “элементами управления” (“controls”).

Microsoft Windows и Mac OS от Apple обе имеют очень жёсткую политику относительно виджетов. Предполагается, что разрабатываемые приложения обязательно должны иметь похожий внешний вид. Что касается X, то было решено, что не нужно требовать обязательного использования какого-то определённого графического стиля или набора виджетов.

В результате не стоит ожидать от X-приложений похожести во внешнем виде. Существует несколько популярных наборов виджетов и их разновидностей, включая оригинальный набор виджетов Athena от MIT, Motif® (по образу которого был разработан набор виджетов в Microsoft Windows, все эти скошенные углы и три разновидности серого цвета), OpenLook и другие.

В большинстве появляющихся в настоящее время приложений для X будет использоваться современно выглядящий набор виджетов, либо Qt, используемый в KDE, либо GTK+, используемый проектом GNOME. В этом отношении наблюдается унификация внешнего вида рабочего стола в UNIX, что определённо облегчает жизнь начинающему пользователю.
^ 5.3. Установка X11
На FreeBSD могут быть установлены Xorg или XFree86. Начиная с FreeBSD 5.3-RELEASE, Xorg является для FreeBSD версией X11 по умолчанию. Xorg это сервер X11 дистрибутива X11R6.7, выпущенный X.Org Foundation. X11R6.7 основан на коде XFree86 4.4RC2 и X11R6.6. X.Org Foundation выпустил X11R6.7 в апреле 2004 года.

Для сборки и установки Xorg из коллекции портов, выполните:

# cd /usr/ports/x11/xorg

# make install clean

Замечание: Перед сборкой полной версии Xorg удостоверьтесь в наличии хотя бы 4 GB свободного места.

Для сборки и установки XFree86 из коллекции портов:

# cd /usr/ports/x11/XFree86-4

# make install clean

Кроме того, X11 может быть установлен непосредственно из пакетов. Бинарные пакеты, устанавливаемые pkg_add(1), доступны и для X11. Когда pkg_add(1) используется для удаленной загрузки пакетов, номер версии пакета необходимо удалить. pkg_add(1) автоматически установит последнюю версию приложения.

Таким образом, для загрузки и установки пакета ^ Xorg, просто наберите:

# pkg_add -r xorg

Пакет XFree86 4.X может быть установлен командой:

# pkg-add -r XFree86

Замечание: В примерах выше будет установлен полный дистрибутив X11, включая серверы, клиенты, шрифты и так далее. Также доступны и отдельные пакеты и порты для различных частей X11.

В оставшейся части главы будет рассказано о том, как сконфигурировать X11 и настроить рабочее окружение.
^ 5.3.1. Замена XFree86™ на Xorg
Как и с любым портом, вам необходимо проверить файл /usr/ports/UPDATING на наличие изменений. Инструкции по переходу с XFree86 на Xorg включены в этот файл.

Используйте CVSup для обновления дерева портов перед любой переустановкой. Для замены X11 вам также потребуется установить sysutils/portupgrade.

В файл /etc/make.conf необходимо добавить переменную X_WINDOW_SYSTEM=xorg. Это необходимо, чтобы система знала, какой X11 используется. Старая переменная XFREE86_VERSION не используется, она заменена переменной X_WINDOW_SYSTEM.

Затем используйте следующие команды:

# pkg_delete -f /var/db/pkg/imake-4* /var/db/pkg/XFree86-*

# cd /usr/ports/x11/xorg

# make install clean

# pkgdb -F

Команда pkgdb(1) является частью программы portupgrade, она обновит различные зависимости пакетов.

Замечание: Перед сборкой полной версии Xorg удостоверьтесь в наличии хотя бы 4 GB свободного места.
^ 5.4. Конфигурация X11
Текст предоставил Christopher Shumway.
5.4.1. Перед тем, как начать
Перед настройкой X11 необходима следующая информация о конфигурируемой системе:

• Характеристики монитора

• Набор микросхем, используемый в видеоадаптере

• Объём видеопамяти

Характеристики монитора используются в X11 для определения рабочего разрешения и частоты. Эти характеристики обычно могут быть получены из документации, которая прилагается к монитору или с сайта производителя. Тут нужны два диапазона значений, для частоты горизонтальной развёртки и для частоты вертикальной синхронизации.

Набор микросхем графического адаптера определяет, модуль какого драйвера использует X11 для работы с графическим оборудованием. Для большинства типов микросхем это может быть определено автоматически, но все же его полезно знать на тот случай, когда автоматическое определение не работает правильно.

Объём видеопамяти графического адаптера определяет разрешение и глубину цвета, с которым может работать система. Это важно, чтобы пользователь знал ограничения системы.
^ 5.4.2. Конфигурирование X11
Процесс настройки X11 является многошаговым. Первый шаг заключается в построении начального конфигурационного файла. Работая с правами суперпользователя, просто запустите:

# Xorg -configure

Для XFree86 запустите:

# ^ XFree86 -configure

При этом в каталоге /root будет создан скелет конфигурационного файла X11 под именем xorg.conf.new (там, куда после su(1) или непосредственного входа будет указывать переменная $HOME). Для XFree86, этот файл называется XF86Config.new. Программа X11 сделает попытку распознать графическое оборудование системы и запишет конфигурационный файл, загружающий правильные драйверы для обнаруженного оборудования в системе.

Следующим шагом является тестирование существующей конфигурации для проверки того, что ^ Xorg может работать с графическим оборудованием в настраиваемой системе. Для этого выполните:

# Xorg -config xorg.conf.new

Пользователям XFree86 необходимо выполнить:

# ^ XFree86 -xf86config XF86Config.new

Если появилась чёрно-белая сетка и курсор мыши в виде X, то настройка была выполнена успешно. Для завершения тестирования просто нажмите одновременно Ctrl+Alt+Backspace.

Замечание: Если мышь не работает, его необходимо настроить. Обратитесь к Разд. 2.9.10 в главе об установке FreeBSD.

Теперь выполните тонкую настройку в файле xorg.conf.new по своему вкусу (или XF86Config.new, если вы работаете с XFree86). Откройте файл в текстовом редакторе, таком, как emacs(1) или ee(1). Сначала задайте частоты для монитора. Они обычно обозначаются как частоты горизонтальной и вертикальной синхронизации. Эти значения добавляются в файл XF86Config.new в раздел "Monitor":

Section "Monitor"

Identifier "Monitor0"

VendorName "Monitor Vendor"

ModelName "Monitor Model"

HorizSync 30-107

VertRefresh 48-120

EndSection

Ключевых слов HorizSync и VertRefresh может и не оказаться в файле конфигурации. Если их нет, то они должны быть добавлены, с указанием корректных значений горизонтальной частоты синхронизации после ключевого слова HorizSync и вертикальной частоты синхронизации после ключевого слова VertRefresh. В примере выше были введены частоты монитора настраиваемой системы.

X позволяет использовать возможности технологии DPMS (Energy Star) с поддерживающими её мониторами. Программа xset(1) управляет временными задержками и может явно задавать режимы ожидания, останова и выключения. Если вы хотите включить использование возможностей DPMS вашего монитора, вы должны добавить следующую строку в раздел, описывающий монитор:

Option "DPMS"

Пока файл конфигурации xorg.conf.new (или XF86Config.new) открыт в редакторе, выберите желаемые разрешение и глубину цвета, которые будут использоваться по умолчанию. Они задаются в секции "Screen":

Section "Screen"

Identifier "Screen0"

Device "Card0"

Monitor "Monitor0"

DefaultDepth 24

SubSection "Display"

Viewport 0 0

Depth 24

Modes "1024x768"

EndSubSection

EndSection

Ключевое слово DefaultDepth описывает глубину цвета, с которой будет работа по умолчанию. Это значение может быть переопределено при помощи параметра командной строки -depth для Xorg(1) (или XFree86(1)). Ключевое слово Modes описывает разрешение, с которым нужно работать при данной глубине цвета. Заметьте, что поддерживаются только те стандартные режимы VESA, что определены графическим оборудованием настраиваемой системы. В примере выше глубина цвета по умолчанию равна двадцати четырём битам на пиксел. При такой глубине цвета принимается разрешение в 1024 на 768 точек.

Наконец, запишите конфигурационный файл и протестируйте его при помощи тестового режима, описанного выше.

Замечание: При решении проблем могут помочь лог файлы X11, в которых находится информация по каждому устройству, к которому подключен сервер X11. Лог файлам Xorg названия даются в формате /var/log/Xorg.0.log (лог файлам XFree86 названия даются в формате XFree86.0.log). Имена лог файлам могут даваться от Xorg.0.log до Xorg.8.log и так далее.

Если все в порядке, то конфигурационный файл нужно установить в общедоступное место, где его сможет найти Xorg(1) (или XFree86(1)). Обычно это /etc/X11/xorg.conf или /usr/X11R6/etc/X11/xorg.conf (для XFree86 это /etc/X11/XF86Config или /usr/X11R6/etc/X11/XF86Config).

# cp xorg.conf.new /etc/X11/xorg.conf

Для XFree86:

# cp XF86Config.new /etc/X11/XF86Config

Теперь процесс настройки X11 завершен. Для запуска XFree86 4.X посредством startx(1) установите порт x11/wrapper. В Xorg уже включен код wrapper, и установка его из порта не требуется. X11 можно также запустить через xdm(1).

Замечание: Имеется также графический инструмент для настройки, xorgcfg(1) (xf86cfg(1) для XFree86), который включён в дистрибутив X11. Он позволяет выполнить настройку в интерактивном режиме посредством выбора соответствующих драйверов и настроек. Эта программа может быть запущена в консоли командой xf86cfg -textmode. Для получения более полной информации обратитесь к странице справочной системы xorgcfg(1) или xf86cfg(1).

Кроме того, существует программа настройки xorgconfig(1) (xf86config(1) для XFree86), это консольная утилита, которая менее дружественна к пользователю, но может работать в ситуациях, в которых другие утилиты не работают.
^ 5.4.3. Тонкие вопросы настройки 5.4.3.1. Конфигурирование при работе с графическими чипсетами Intel® i810
Конфигурирование при работе с интегрированными наборами микросхем Intel i810 требует наличия agpgart, программного интерфейса AGP, посредством которого X11 будет управлять адаптером. Драйвер agp(4) присутствует в ядре GENERIC с момента выпуска 4.8-RELEASE и 5.0-RELEASE. Для предшествующих релизов вам нужно добавлять такую строку:

device agp

в конфигурационный файл вашего ядра и перестраивать новое ядро. Однако вместо этого вы можете подгружать модуль ядра agp.ko автоматически во время загрузки системы при помощи loader(8). Для этого просто добавьте следующую строку в файл /boot/loader.conf:

agp_load="YES"

Затем, в случае использования FreeBSD 4.X или более ранних её версий, для программного интерфейса должен быть создан файл устройств. Для создания файла устройств для AGP запустите MAKEDEV(8) в каталоге /dev:

# cd /dev

# sh MAKEDEV agpgart

Замечание: Во FreeBSD 5.X и более поздних версиях будет использоваться devfs(5) для выделения файлов устройств в прозрачном режиме, поэтому шаг с MAKEDEV(8) не нужен.

Это позволит конфигурировать графическое оборудование точно так же, как и любой другой графический адаптер. Заметьте, что для систем, у которых драйвер agp(4) в ядро не вкомпилирован, попытка погрузить модуль с помощью kldload(8) окончится неудачно. Этот драйвер должен оказаться в ядре во время загрузки, либо вкомпилированным, либо подгруженным посредством /boot/loader.conf.

Если вы используете XFree86 4.1.0 (или более позднюю версию), и выдаются сообщения о неразрешённых ссылках типа fbPictureInit, попробуйте добавить такую строчку после Driver "i810" в конфигурационном файле X11:

Option "NoDDC"
^ 5.5. Использование шрифтов в X11
Текст предоставил Murray Stokely.
5.5.1. Шрифты Type1
Шрифты, используемые по умолчанию и распространяемые вместе с X11, вряд ли можно назвать идеально подходящими для применения в обычных издательских приложениях. Большие презентационные шрифты выглядят рвано и непрофессионально, а мелкие шрифты в Netscape вообще невозможно разобрать. Однако есть некоторое количество свободно распространяемых высококачественных шрифтов Type1 (PostScript®), которые можно без изменений использовать с X11. К примеру, в наборе шрифтов URW (x11-fonts/urwfonts) имеются высококачественные версии стандартных шрифтов type1 (Times Roman®, Helvetica®, Palatino® и другие). В набор Freefonts (x11-fonts/freefonts) включено ещё больше шрифтов, однако большинство из них предназначено для использования в программном обеспечении для работы с графикой, например, Gimp, и они не вполне пригодны для использования в качестве экранных шрифтов. Кроме того, X11 с минимальными усилиями может быть настроена на использование шрифтов TrueType. Более детальная информация находится на странице справочной системы X(7) и в разделе о шрифтах TrueType ниже.

Для установки вышеупомянутых коллекций шрифтов Type1 из коллекции портов выполните следующие команды:

# cd /usr/ports/x11-fonts/urwfonts

# make install clean

То же самое нужно будет сделать для коллекции freefont и других. Чтобы X-сервер обнаруживал этих шрифты, добавьте соответствующую строку в файл настройки X сервера /etc/X11/ (xorg.conf для Xorg и XF86Config для XFree86), которая должна выглядеть так:

FontPath "/usr/X11R6/lib/X11/fonts/URW/"

Либо из командной строки при работе с X выполните:

% xset fp+ /usr/X11R6/lib/X11/fonts/URW

% xset fp rehash

Это сработает, но будет потеряно, когда сеанс работы с X будет закрыт, если эта команда не будет добавлена в начальный файл (~/.xinitrc в случае обычного сеанса через startx или ~/.xsession при входе через графический менеджер типа XDM). Третий способ заключается в использовании нового файла /usr/X11R6/etc/fonts/local.conf: посмотрите раздел об антиалиасинге.
^ 5.5.2. Шрифты TrueType®
Как в XFree86 4.X, так и в Xorg имеется встроенная поддержка шрифтов TrueType. Имеются два модуля, которые могут обеспечить эту функциональность. В нашем примере используется модуль freetype, потому что он в большей степени похож на другие механизмы для работы с шрифтами. Для включения модуля freetype достаточно в раздел "Module" файла /etc/X11/xorg.conf или /etc/X11/XF86Config добавить следующую строчку.

Load "freetype"

В случае XFree86 3.3.X требуется отдельный сервер шрифтов TrueType. Для этого обычно используется ^ Xfstt. Для установки Xfstt просто установите порт x11-servers/Xfstt.

Теперь создайте каталог для шрифтов TrueType (к примеру, /usr/X11R6/lib/X11/fonts/TrueType) и скопируйте все шрифты TrueType в этот каталог. Имейте в виду, что напрямую использовать шрифты TrueType с Macintosh® нельзя; для использования с X11 они должны быть в формате UNIX/MS-DOS/Windows. После того, как файлы будут скопированы в этот каталог, воспользуйтесь утилитой ttmkfdir для создания файла fonts.dir, который укажет подсистеме вывода шрифтов X на местоположение этих новых файлов. ttmkfdir имеется в Коллекции Портов FreeBSD как x11-fonts/ttmkfdir.

# cd /usr/X11R6/lib/X11/fonts/TrueType

# ttmkfdir > fonts.dir

После этого добавьте каталог со шрифтами TrueType к маршруту поиска шрифтов. Это делается точно также, как описано выше для шрифтов Type1, то есть выполните

% xset fp+ /usr/X11R6/lib/X11/fonts/TrueType

% xset fp rehash

или добавьте строку FontPath в файл xorg.conf (или XF86Config).

Это всё. Теперь Netscape, Gimp, StarOffice™ и все остальные X-приложения должны увидеть установленные шрифты TrueType. Очень маленькие (как текст веб-страницы на дисплее с высоким разрешением) и очень большие (в StarOffice) шрифты будут теперь выглядеть гораздо лучше.
^ 5.5.3. Антиалиасинг шрифтов
Обновление выполнил Joe Marcus Clarke.

Анлиалиасинг присутствует в X11 начиная с XFree86, версии 4.0.2. Однако настройка шрифтов была довольно громоздка вплоть до появления XFree86 4.3.0. Начиная с версии XFree86 4.3.0, все шрифты, расположенные в каталогах /usr/X11R6/lib/X11/fonts/ и ~/.fonts/, автоматически становятся доступными для применения антиалиасинга в приложениях, использующих Xft. Не все приложения могут использовать Xft, но во многих его поддержка присутствует. Примерами приложений, использующих Xft, является Qt версий 2.3 и более поздних (это инструментальный пакет для оболочки KDE), GTK+ версий 2.0 и более поздних (это инструментальный пакет для оболочки GNOME), а также Mozilla версий 1.2 и более поздних.

Для управления тем, к каким шрифтам применять антиалиасинг, а также для настройки параметров антиалиасинга, создайте (или отредактируйте, если он уже существует) файл /usr/X11R6/etc/fonts/local.conf. Некоторые мощные возможности системы шрифтов Xft могут быть настроены при помощи этого файла; в этом разделе описаны лишь некоторые простые возможности. Для выяснения всех деталей, пожалуйста, обратитесь к fonts-conf(5).

Этот файл должен быть сформирован в формате XML. Обратите особое внимание на регистр символов, и удостоверьтесь, что все тэги корректно закрыты. Файл начинается обычным заголовком XML, за которым следуют задание DOCTYPE, а потом тэг :




Как и говорилось ранее, все шрифты из каталога /usr/X11R6/lib/X11/fonts/, а также ~/.fonts/ уже доступны для приложений, использующих Xft. Если вы хотите добавить каталог, отличный от этих двух, добавьте строчку, подобную следующей, в файл /usr/X11R6/etc/fonts/local.conf:

/path/to/my/fonts

После добавления новых шрифтов, и особенно новых каталогов со шрифтами, вы должны выполнить следующую команду для перестроения кэшей шрифтов:

# fc-cache -f

Антиалиасинг делает границы несколько размытыми, что делает очень мелкий текст более читабельным и удаляет “лесенки” из текста большого размера, но может вызвать нечёткость при применении к тексту обычного размера. Для исключения размеров шрифтов, меньших 14, из антиалиасинга, добавьте такие строки:





14





false









14





false





Для некоторых моноширинных шрифтов антиалиасинг может также оказаться неприменимым при определении межсимвольного интервала. В частности, эта проблема возникает с KDE. Одним из возможных решений для этого является жесткое задание межсимвольного интервала в 100. Добавьте следующие строки:





fixed





mono









console





mono





(это создаст алиасы для других общеупотребительных имён для шрифтов фиксированного размера как "mono"), а затем добавьте:





mono





100





С некоторыми шрифтами, такими, как Helvetica, могут получиться проблемы при антиалиасинге. Обычно это проявляется в виде шрифта, который наполовину вертикально обрезан. Хуже того, это может привести к сбоям таких приложений, как Mozilla. Во избежание этого следует добавить следующее в файл local.conf:





Helvetica





sans-serif





После того, как вы закончите редактирование local.conf, удостоверьтесь, что вы завершили файл тэгом . Если этого не сделать, то ваши изменения будут проигнорированы.

Набор шрифтов по умолчанию, поставляемый с X11, не очень желателен, если включается антиалиасинг. Гораздо лучший набор шрифтов, используемых по умолчанию, можно найти в порте x11-fonts/bitstream-vera. Этот порт установит файл /usr/X11R6/etc/fonts/local.conf, если такого ещё не существует. Если файл существует, то порт создаст файл /usr/X11R6/etc/fonts/local.conf-vera. Перенесите содержимое этого файла в /usr/X11R6/etc/fonts/local.conf, и шрифты Bitstream автоматически заменят используемые по умолчанию в X11 шрифты Serif, Sans Serif и Monospaced.

Наконец, пользователи могут добавлять собственные наборы посредством персональных файлов .fonts.conf. Для этого каждый пользователь должен просто создать файл ~/.fonts.conf. Этот файл также должен быть в формате XML.

И последнее замечание: при использовании дисплея LCD может понадобиться включение разбиения точек. При этом компоненты красного, зелёного и голубого цветов (разделяемые по горизонтали), рассматриваются как отдельные точки для улучшения разрешения экрана по горизонтали; результат может оказаться потрясающим. Для включения этого механизма добавьте такую строчку где-нибудь в файл local.conf:





unknown





rgb





Замечание: В зависимости от типа дисплея, rgb может потребоваться заменить на bgr, vrgb или vbgr: пробуйте и смотрите, что работает лучше.

Антиалиасинг должен быть включен при следующем запуске X-сервера. Однако программы должны знать, как использовать его преимущества. В настоящее время инструментальный пакет Qt умеет ими пользоваться, так что вся оболочка KDE может использовать шрифты с антиалиасингом (обратитесь к Разд. 5.7.3.2 о KDE для выяснения всех подробностей). GTK+ и GNOME также можно заставить использовать антиалиасинг посредством капплета “Font” (обратитесь к Разд. 5.7.1.3 для выяснения всех подробностей). По умолчанию Mozilla версий 1.2 и выше будет автоматически использовать антиалиасинг. Для отмены этого перестройте Mozilla с флагом -DWITHOUT_XFT.
^ 5.6. Менеджеры Экранов (Display Managers) X
Текст предоставил Seth Kingsley.
5.6.1. Вступление
Менеджер Экранов X (XDM) это необязательный компонент Системы Окон X, который используется для управления login сессиями. Это полезно в ряде ситуаций, например минимальные “X Терминалы”, декстопы, большие сетевые сервера Экранов. Так как Система Окон X не зависит от сетей и протоколов, то существует множество различных конфигураций для X клиентов и серверов запущенных на различных компьютерах подключенных к сети. XDM предоставляет графический интерфейс для выбора сервера к которому Вы желаете подключится и введения информации авторизующей пользователя, например комбинацию логина и пароля.

Представляйте себе, что ^ XDM предоставляет такие же возможности для пользователей, как и программа getty(8) (смотрите Разд. 20.3.2 для подробной информации). И это именно так, XDM производит вход в систему для подключенного пользователя и запускает управляющую сессию для пользователя (обычно это менеджер окон X). После этого XDM ожидает завершения приложения, означающее завершение пользователем работы и отключает управляющую сессию. После этого XDM может снова вывести приглашение к входу в систему и ожидать входа другого пользователя.
^ 5.6.2. Использование XDM
Программой даемона XDM является /usr/X11R6/bin/xdm. Эта программа может быть запущена от пользователя root в любой момент, и она начнёт управлять дисплеем X на локальной машине. Если XDM нужно запускать в фоновом режиме каждый раз при запуске компьютера, то наиболее правильный способ это добавить новую запись в /etc/ttys. Для более подробной информации о формате и использовании этого файла смотрите секцию Разд. 20.3.2.1. Это строка, которую необходимо добавить в файл /etc/ttys для того чтобы запустить даемон XDM на виртуальном терминале:

ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure

По умолчанию эта запись отключена; для её включения нужно заменить пятое поле с off на on и перезапустить init(8), используя метод, описанный в Разд. 20.3.2.2. Первое поле это название терминала, которым будет управлять программа, ttyv8. Это означает, что XDM будет запущен на 9ом виртуальном терминале.
^ 5.6.3. Конфигурирование XDM
Конфигурационные файлы XDM находятся в каталоге /usr/X11R6/lib/X11/xdm. В нём размещаются насколько файлов, которые используются для изменения поведения и внешнего вида XDM. Обычно это следующие файлы:

Файл

Описание

Xaccess

Правила авторизации клиентов.

Xresources

Значения ресурсов X по умолчанию.

Xservers

Список локальных и удаленных экранов.

Xsession

Сценарий сессии по умолчанию.

Xsetup_*

Скрипт для запуска приложений до появления приглашения к входу в систему.

xdm-config

Глобальный конфигурационный файл для всех экранов запущенных на локальной машине

xdm-errors

Ошибки сгенерированные серверной программой.

xdm-pid

ID процесса запущенного XDM.


В этом каталоге также находятся несколько командных сценариев и программ используемых для настройки рабочего стола (desktop), когда запускается XDM. Назначение каждого из этих файлов будет вкратце описано. Точный синтаксис и информацию по их использованию описаны в xdm(1).

В конфигурации по умолчанию это просто прямоугольное окно приглашения ко входу в систему с именем компьютера большим шрифтом написанным сверху и строками ввода “Login:” и “Password:” внизу. Это хорошая отправная точка для изменения внешнего вида экранов XDM.
5.6.3.1. Xaccess
Протокол, по которому происходит подключение дисплеев, управляемых XDM, называется X Display Manager Connection Protocol (XDMCP). Этот файл представляет собой набор правил для управления XDMCP соединениями с удалёнными машинами. По умолчанию он позволяет подключаться любым клиентам, но это не имеет значения, пока стандартный файл xdm-config не содержит указаний по обслуживанию удалённых соединений.
5.6.3.2. Xresources
Это файл содержащий установки по умолчанию для приложений запущенных в экране выбора серверов и экране приглашения к входу в систему. Именно здесь может быть изменён вид программы входа в систему. Формат этого файла идентичен файлу app-defaults описанному в документации к X11.
5.6.3.3. Xservers
Это список удаленных экранов, которые XDM должен предоставить как варианты для входа в систему.
5.6.3.4. Xsession
Этот файл представляет себя командный сценарий по умолчанию для пользователей вошедших в систему с использованием XDM. Обычно каждый пользователь имеет собственный сценарий входа в файле ~/.xsession, который используется вместо этого сценария.
5.6.3.5. Xsetup_*
Они запускаются автоматически перед тем, как показывается экран выбора сервера или экран входа в систему. Для каждого экрана (display) есть свой сценарий с именем Xsetup_, за которым следует локальный номер экрана (например, Xsetup_0). Обычно эти сценарии запускают одну или две программы в фоновом режиме, например xconsole.
5.6.3.6. xdm-config
Здесь содержатся настройки в формате app-defaults, которые применимы ко всем экранам данного компьютера.
5.6.3.7. xdm-errors
Здесь находится выдача X серверов, которые XDM пытается запустить. Если экран, который XDM пытается открыть отключается по некоторым причинам, то это хорошее место для поиска сообщений об ошибках. Эти сообщения также записываются в пользовательский файл ~/.xsession-errors для каждого сеанса.
^ 5.6.4. Использование сетевого сервера дисплеев
Для того, чтобы позволить другим клиентам подключаться к серверу дисплеев, отредактируйте правила контроля доступа и включите обслуживание сетевых соединений. По умолчанию они выключены, что является хорошим решением с точки зрения обеспечения безопасности. Для того, чтобы позволить XDM принимать сетевые соединения, в первую очередь закомментируйте строку в файле xdm-config:

! SECURITY: do not listen for XDMCP or Chooser requests

! Comment out this line if you want to manage X terminals with xdm

DisplayManager.requestPort: 0

и потом перезапустите XDM. Помните, что комментарии в файлах app-defaults начинаются с символа “!”, а не как обычно, “#”. Может потребоваться более жёсткий контроль доступа. Взгляните на примеры из Xaccess и почитайте Справочник о xdm(1).
^ 5.6.5. Замены для XDM
Существует несколько программ, заменяющих XDM. Одна из них, kdm (поставляемая вместе с KDE), описана далее в этой главе. В kdm имеется много визуальных и косметических улучшений, а также функциональность, позволяющая пользователям выбирать собственные оконные менеджеры во время входа в систему.
^ 5.7. Графические оболочки
Текст предоставил Valentino Vaschetto.

В этом разделе описываются различные графические оболочки, доступные в X для FreeBSD. Термин “графическая оболочка” может использоваться для чего угодно, от простого менеджера окон до полнофункционального набора приложений для рабочего стола типа KDE или GNOME.
5.7.1. GNOME ^ 5.7.1.1. О GNOME
GNOME является дружественной к пользователю графической оболочкой, позволяющей пользователям легко использовать и настраивать свои компьютеры. В GNOME имеется панель (для запуска приложений и отображения их состояния), рабочий стол (где могут быть размещены данные и приложения), набор стандартных инструментов и приложений для рабочего стола, а также набор соглашений, облегчающих совместную работу и согласованность приложений. Пользователи других операционных систем или оболочек при использовании такой мощной графической оболочки, какую обеспечивает GNOME, должны чувствовать себя в родной среде. Дополнительную информацию относительно GNOME во FreeBSD можно найти на сайте FreeBSD GNOME Project (http://www.FreeBSD.org/gnome).
^ 5.7.1.2. Установка GNOME
Легче всего установить GNOME через меню “Desktop Configuration” в ходе процесса установки FreeBSD, как описано в Разд. 2.9.13 Главы 2. Её также легко установить из пакета или Коллекции Портов:

Для установки пакета GNOME из сети, просто наберите:

# pkg_add -r gnome2

Для построения GNOME из исходных текстов используйте дерево портов:

# cd /usr/ports/x11/gnome2

# make install clean

После установки ^ GNOME нужно указать X-серверу на запуск GNOME вместо стандартного оконного менеджера. Если файл .xinitrc уже откорректирован, то просто замените строку, в которой запускается используемый менеджер окон, на ту, что вызовет /usr/X11R6/bin/gnome-session. Если в конфигурационном файле нет ничего особенного, то будет достаточно просто набрать:

% echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrc

Теперь наберите startx, и будет запущена графическая оболочка ^ GNOME.

Замечание: Если используется менеджер дисплеев типа XDM, то это не сработает. Вместо этого создайте выполнимый файл .xsession с той же самой командой в нём. Для этого отредактируйте файл, заменив существующую команду запуска оконного менеджера на /usr/X11R6/bin/gnome-session:

% echo "#!/bin/sh" > ~/.xsession

% echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession

% chmod +x ~/.xsession

Ещё одним вариантом является настройка менеджера дисплеев таким образом, чтобы он позволял выбирать оконный менеджер во время входа в систему; в разделе о KDE2 в подробностях описывается, как сделать это для kdm, менеджера дисплеев из KDE.
^ 5.7.1.3. Шрифты с антиалиасингом и GNOME
X11 поддерживает антиалиасинг посредством своего расширения “RENDER”. GTK+ 2.0 и более поздние версии (это инструментальный пакет, используемый GNOME) могут использовать такую функциональность. настройка антиалиасинга описана в Разд. 5.5.3. Таким образом, при наличии современного GNOME. Просто перейдите в ApplicationsDesktop PreferencesFont и выберите либо Best shapes, Best contrast, либо Subpixel smoothing (LCDs). Для приложений GTK+, которые не являются частью оболочки GNOME, задайте в качестве значения переменной окружения GDK_USE_XFT 1 перед запуском программы.
5.7.2. KDE 5.7.2.1. О KDE
KDE является простой в использовании современной графической оболочкой. Вот лишь некоторое из того, что даёт пользователю KDE:

• Прекрасный современный рабочий стол

• Рабочий стол, полностью прозрачный для работы в сети

• Интегрированная система помощи, обеспечивающая удобный и согласованный доступ к системе помощи по использованию рабочего стола KDE и его приложений

• Единообразный внешний вид и управление во всех приложениях KDE

• Стандартизированные меню и панели инструментов, комбинации клавиш, цветовые схемы и так далее.

• Интернационализация: в KDE поддерживается более 40 языков

• Централизованное единообразное конфигурирование рабочего стола в диалоговом режиме

• Большое количество полезных приложений для KDE

Для ^ KDE существует пакет офисных приложений, который выполнен по технологии “KParts” из KDE, состоящий из программы для работы с электронными таблицами, презентационной программы, органайзера, клиента для чтения телеконференций и других программ. С KDE также поставляется веб-браузер под названием Konqueror, который является серьезным соперником другим браузерам для UNIX-систем. Дополнительную информацию о KDE можно найти на веб-сайте KDE (http://www.kde.org/). Для получения информации и информационных ресурсов, специфичных для KDE во FreeBSD, обратитесь к сайту команды FreeBSD-KDE team (http://freebsd.kde.org/).
^ 5.7.2.2. Установка KDE
Как и в случае с GNOME или любой другой графической оболочкой, легче всего установить KDE через меню “Desktop Configuration” во время установки FreeBSD, как это описано в Разд. 2.9.13 Главы 2. Повторимся ещё раз, что программное обеспечение можно легко установить из пакета или из Коллекции Портов:

Для установки пакета KDE из сети, просто наберите:

# pkg_add -r kde

pkg_add(1) автоматически загрузит самую последнюю версию приложения.

Для построения ^ KDE из исходных текстов воспользуйтесь деревом портов:

# cd /usr/ports/x11/kde3

# make install clean

После установки KDE нужно указать X-серверу на запуск этого приложения вместо оконного менеджера, используемого по умолчанию. Это достигается редактированием файла .xinitrc:

% echo "exec startkde" > ~/.xinitrc

Теперь при вызове X Window System по команде startx в качестве оболочки будет использоваться KDE.

При использовании менеджера дисплеев типа XDM настройка несколько отличается. Вместо этого нужно отредактировать файл .xsession. Указания для kdm описаны далее в этой главе.
^ 5.7.3. Более подробно о KDE
Теперь, когда KDE установлена в системе, можно узнать много нового из её справочных страниц или просто указанием и щелканием по различным меню. Пользователи Windows или Mac® будут чувствовать себя как дома.

Лучшим справочником по ^ KDE является онлайновая документация. KDE поставляется с собственным веб-браузером, который называется Konqueror, десятками полезных приложений и подробной документацией. В оставшейся части этого раздела обсуждаются технические вопросы, трудные для понимания при случайном исследовании.
^ 5.7.3.1. Менеджер дисплеев KDE
Администратору многопользовательской системы может потребоваться графический экран входа в систему для приглашения пользователей. Вы можете использовать XDM, как это описано ранее. Однако в KDE имеется альтернативный менеджер kdm, который был разработан для того, чтобы выглядеть более привлекательно и иметь большее количество настраиваемых опций для входа в систему. В частности, пользователи могут легко выбирать (посредством меню), какую оболочку (^ KDE, GNOME или что-то ещё) запускать после входа в систему.

Чтобы начать, запустите панель управления KDE, kcontrol, из-под пользователя root. Вообще говоря, считается небезопасным работать в X пользователем root. Вместо этого запустите менеджер окон как обычный пользователь, откройте окно терминала (такого, как xterm или konsole) из KDE, станьте пользователем root по команде su (для этого нужно быть членом группы wheel из /etc/group), а затем наберите kcontrol.

Щёлкните на иконке слева с надписью System, затем на Login manager. Справа имеется много различных параметров настройки, которые более детально описаны в руководстве по KDE. Щёлкните на sessions справа. Щёлкните на кнопку New type для того, чтобы добавить различные оконные менеджеры и графические оболочки. Это просто названия, так что они могут именоваться KDE или GNOME, а не startkde или gnome-session.) Включите название failsafe.

Поэкспериментируйте также и с другими меню, они в основном носят косметический характер и самоописательны. Когда закончите, щёлкните на Apply внизу и завершите работу панели управления.

Чтобы kdm понимал, что значат эти названия (^ KDE, GNOME и так далее), отредактируйте файлы, которые использует XDM.

Замечание: В KDE 2.2 это изменилось: в kdm теперь используются собственные конфигурационные файлы. Пожалуйста, обратитесь к документации по KDE 2.2 для получения подробной информации.

В окне терминала, работая как пользователь root, отредактируйте файл /usr/X11R6/lib/X11/xdm/Xsession. В середине есть раздел, выглядящий вот так:

case $# in

1)

case $1 in

failsafe)

exec xterm -geometry 80x24-0-0

;;

esac

esac

Нужно добавить к этому разделу несколько строк. Полагая, что ранее использовались названия “KDE” и “GNOME”, сделаем следующее:

case $# in

1)

case $1 in

kde)

exec /usr/local/bin/startkde

;;

GNOME)

exec /usr/X11R6/bin/gnome-session

;;

failsafe)

exec xterm -geometry 80x24-0-0

;;

esac

esac

Чтобы выбор KDE в качестве оболочки на момент входа в систему был принят, нужно добавить такую строку в /usr/X11R6/lib/X11/xdm/Xsetup_0:

/usr/local/bin/kdmdesktop

Теперь проверьте, что kdm перечислена в файле /etc/ttys для запуска при следующей загрузке. Для этого просто следуйте инструкциям из предыдущего раздела о XDM, заменив отсылки к программе /usr/X11R6/bin/xdm на /usr/local/bin/kdm.
^ 5.7.3.2. Шрифты с антиалиасингом
X11 поддерживает антиалиасинг через своё расширение “RENDER”, а начиная с версии 2.3, Qt (инструментарий, используемый в KDE) поддерживает это расширение. Настройка этого описана в Разд. 5.5.3 по антиалиасингу с шрифтами X11. Таким образом, при работе с современным программным обеспечением в оболочке KDE возможно использование антиалиасинга. Просто перейдите в меню KDE, затем к PreferencesLook and FeelFonts и поставьте галочку рядом с Use Anti-Aliasing for Fonts and Icons. Для работы с приложением Qt, которое не является частью KDE, перед его запуском нужно устанавливать переменную окружения QT_XFT в значение true.
5.7.4. XFce ^ 5.7.4.1. О XFce
XFce является графической оболочкой, построенной на основе инструментального пакета GTK+, используемого в GNOME, но гораздо легче и предназначен для тех, кому нужен простой, эффективно работающий рабочий стол, который легко использовать и настраивать. Визуально он выглядит очень похоже на CDE, который есть в коммерческих UNIX-системах. Вот некоторые из достоинств XFce:

• Простой, лёгкий в обращении рабочий стол

• Полностью настраиваемый при помощи мыши, с интерфейсом drag and drop и так далее

• Главная панель похожа на CDE, с меню, апплетами и возможностями по быстрому запуску приложений

• Интегрированный оконный менеджер, менеджер файлов, управление звуком, модуль совместимости с GNOME и прочее

• Возможность использования тем (так как использует GTK+)

• Быстрый, легкий и эффективный: идеален для устаревших/слабых машин или для машин с ограниченной памятью

Дополнительную информацию о XFce можно найти на сайте XFce (http://www.xfce.org/).
^ 5.7.4.2. Установка XFce
Для XFce имеется (на момент написания этого текста) бинарный пакет. Для его установки просто наберите:

# pkg_add -r xfce4

Либо в случае построения из исходных текстов используйте Коллекцию Портов:

# cd /usr/ports/x11-wm/xfce4

# make install clean

Теперь укажите X-серверу на запуск ^ XFce при следующем запуске X. Просто наберите вот что:

% echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrc

При следующем запуске X в качестве рабочего стола будет использоваться XFce. Как это сказано выше, если используется менеджер дисплеев, такой, как XDM, создайте файл .xsession так, как это описано в разделе о GNOME, но с командой /usr/X11R6/bin/startxfce4, либо настройте менеджер дисплеев так, чтобы он разрешил выбор рабочего стола во время входа в систему, как это описано в разделе о kdm.




1837849770142658.html
1837902709296639.html
1837988242709699.html
1838183972687272.html
1838260939870515.html