headermask image

Notice: Undefined variable: t in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15

Notice: Undefined variable: r in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15
Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

LPI 101: X Window System. Установка и настройка X

История X Window System

X Window System называемая также просто X или X11 – оконная среда для графических (растровых) дисплеев. Начало X было положено в Массачусетском технологическом институте (MIT) в 1984 году. X была реализована как часть проекта Афина (Project Atthena), предоставлявшего вычислительную среду, функционирующую на разнотипном оборудовании. В X-среде за вывод информации отвечает сервер экрана (display server), а логику приложения предоставляют клиенты. Взаимодействие между ними является “прозрачным” для сети, поэтому сервер и клиент могут работать на разных машинах. Следует отметить, что термины “клиент” и “сервер” несколько отличаются от обыденного представления. Помимо вывода информации, сервер обрабатывает ввод информации от различных устройств, таких как клавиатуры, мыши, графических планшетов и сенсорных экранов.

X-среда предоставляет набор средств для приложений с графическим интерфейсом, но не определяет конкретный интерфейс пользователя. В Linux обычно можно выбирать между графическими оболочками KDE и GNOME, а также несколькими другими оконными менеджерами. Поскольку X не определяет интерфейс пользователя, то эти среды и оконные менеджеры выглядят по-разному.

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

XFree86 and X.Org

К 1987 году MIT решил передать управление разработкой X отдельной организации. В результате был создан MIT X Consortium – некоммерческая группа по надзору за разработкой X-среды. После ещё нескольких изменений в управлении Open Group в 1999-м сформировал X.Org. С 1992 года большая часть разработки X выполнялась в XFree86, первоначально перенесшей X на платформу Intel® 386, откуда и название. Организация XFree86 присоединилась к X.Org в качестве члена, освобожденного от уплаты взносов.

Хотя первоначально XFree86 был создан для платформы 386, последующие версии поддерживали несколько различных платформ и стали наиболее широко используемым вариантом X-среды в Linux. После ряда споров о новых условиях лицензирования и модели разработки XFree86 была создана X.Org Foundation. Отталкиваясь от последней версии XFree86 с предыдущей лицензией X.Org создала X11R6.7 и X11R6.8. Многие дистрибутивы до сих пор используют XFree86, в то время как многие выбрали X.Org.

Поддержка видео оборудования

Оба пакета XFree86 и X.Org поддерживают широкий спектр современных видеокарт. Обратитесь к онлайновой документации по вашему релизу. Некоторые производители не выпускают драйверы с открытым исходным кодом для всех целей использования, так что вам может потребоваться интегрировать драйвер от производителя в вашу Xfree86-среду. За усовершенствованными или обновленными драйверами для Linux обратитесь на Web-сайт производителя. Это часто необходимо для 3D ускорителей. Но даже если аппаратные возможности вашей видеокарты не могут быть использованы XFree86, вероятно, вы сможете запустить её в режиме VESA (Video Electronics Standards Association ассоциация по стандартизации в области видеотехники) с буфером кадров.

Современные мониторы реализуют протокол VESA Display Data Channel (DDC) (Канал Отображения Данных), который позволяет программно определять информацию о мониторе и его характеристиках. Средства конфигурации XFree86 (отличные от xf86config) используют эту информацию для настройки вашей X- среды.

Одним из способов посмотреть на то, как X-среда работает на вашем оборудовании является загрузка с live CD, например Knoppix или Ubuntu. Эти дистрибутивы имеют хорошие возможности по определению и использованию вашего оборудования. Многие дистрибутивы предлагают графический интерфейс установки, что также требует корректного определения и использования вашего оборудования.

XFree86

Большинство дистрибутивов включают XFree86 или X.Org. Если нужных пакетов нет, то вы можете найти RPM или .deb пакеты и установить их, пользуясь знаниями, полученными в теме 102 “Подготовка к экзамену LPI 101: установка Linux и управление пакетами.”

Установка XFree86

Если у вас нет пакета XFree86, то вам придётся загрузить файлы с Web-сайта проекта XFree86 (см. Ресурсы). Имеются собранные пакеты для Linux для нескольких популярных платформ или вы можете произвести установку из исходных кодов. В этом руководстве предполагается, что вы устанавливаете текущий релиз (версия 4.5.0) из скомпилированного пакета.

Вам потребуется загрузить несколько двоичных пакетов. Для проверки загруженных файлов воспользуйтесь контрольными суммами md5 или ключами GPG. В таблице 3 приведен список файлов, необходимых для XFree86.

Таблица 3. Необходимые файлы для XFree86

Файл Описание
Xinstall.sh Скрипт установки
extract Утилита распаковки Tarball
Xbin.tgz X-клиенты, утилиты и библиотеки времени выполнения (run-time libraries)
Xlib.tgz Файлы данных, необходимых во время выполнения
Xman.tgz Интерактивное справочное руководство (ман страницы)
Xdoc.tgz Документация по XFree86
Xfnts.tgz Базовый набор шрифтов
Xfenc.tgz Данные о кодировках шрифтов
Xetc.tgz Файлы конфигурации времени выполнения – часть 1
Xrc.tgz Файлы конфигурации времени выполнения – часть 2
Xvar.tgz Данные времени выполнения
Xxserv.tgz XFree86 X-сервер
Xmod.tgz Модули X-сервера

Для определения версии необходимых файлов, используйте Xinstall.sh с параметром -check из того пакета, который вам кажется наиболее подходящим как показано в листинге 1.

Листинг 1. Определение правильного двоичного пакета XFree86

root@pinguino:~/xfree86# sh Xinstall.sh -check
Checking which OS you're running...
uname reports 'Linux' version '2.6.12-10-386', architecture 'i686'.
libc version is '6.3.5' (6.3).
Binary distribution name is 'Linux-ix86-glibc23'
If you don't find a binary distribution with this name, then
binaries for your platform are not available from XFree86.org.

В этом примере вы должны выбрать пакет с названием “Linux-ix86-glibc23″.

В таблице 4 перечислены дополнительные файлы для XFree86. При работе с учебником вам потребуется сервер шрифтов и любые другие компоненты, которые вы захотите установить.

Таблица 4. Дополнительные файлы для XFree86
Файл Описание
Xdrm.tgz Исходные коды модулей ядра менеджера прямого рендеринга (DRM)
Xfsrv.tgz Сервер шрифтов
Xnest.tgz Вложенный X-сервер
Xprog.tgz X заголовочные файлы, конфигурационные файлы и библиотеки для разработки X- приложений
Xprt.tgz X сервер печати
Xvfb.tgz X-сервер виртуального буфера кадров
Xtinyx.tgz TinyX сервера
Xf100.tgz Шрифты с разрешением 100dpi
Xfcyr.tgz Кириллические шрифты
Xfscl.tgz Масштабируемые шрифты (Speedo, Type1, and TrueType)
Xhtml.tgz Документация в формате HTML
Xps.tgz Документация в формате PostScript
Xpdf.tgz Документация в формате PDF

Перед установкой XFree86 сделайте резервные копии каталогов /usr/X11R6, /etc/X11, и /etc/fonts поскольку их содержимое может измениться в ходе установки. Для этого вы можете воспользоваться командами tar, cp или zip. Когда вы будете готовы к установке XFree86 перейдите в каталог, в который вы загрузили файлы XFree86 и запустите скрипт Xinstall.sh как показано в листинге 2. Вас попросят ответить на несколько вопросов, перечень которых может варьироваться в зависимости от того была ли установлена X-среда ранее или нет. После установки основных компонентов вас спросят об установке дополнительных компонентов индивидуально.


Листинг 2. Установка XFree86

root@pinguino:~/xfree86# sh Xinstall.sh

Вас попросят ответить на несколько вопросов, перечень которых может варьироваться в зависимости от того была ли установлена X-среда ранее или нет. После установки основных компонентов вас спросят об установке дополнительных компонентов индивидуально.

После установки файлов скрипт выполнит команду ldconfig и предложит вам установить несколько символических ссылок.

Простейший способ установки XFree86 – установка всех желаемых компонентов используя Xinstall.sh. В противном случае, вам придётся либо переустанавливать весь пакет, что может привести к потере любых сделанных вами изменений в настойках, либо вручную устанавливать остальные компоненты.

Настройка XFree86

Исторически конфигурирование XFree86 включало создание файла XF86Config, который содержал информацию о видеокарте, мыши, клавиатуре и мониторе наряду с настроечными параметрами, например, желаемом разрешении экрана. Первоначальное средство конфигурирования xf86config требовало от пользователя знания и ввода подробной информации о частотах синхронизации видеокарты и монитора. Последние версии XFree86 способны динамически определять доступное аппаратное обеспечение и могут работать с небольшим количеством конфигурационной информации или без неё.

Доступны следующие средства конфигурирования.

XFree86 -autoconfig
Запуск XFree86 с параметром -autoconfig приведет к попытке автоматически настроить X-сервер. Если настройки определены правильно, то у вас появится возможность перемещать X-курсор по экрану. Удерживая одновременно клавиши Ctrl и Alt нажмите Backspace для выхода из экрана. Этим вы подтверждаете, что автоконфигурация будет работать. Конфигурационный файл не записывается.
XFree86 -configure
Запуск XFree86 c параметром -configure может работать если не работает -autoconfig. Этот параметр может вызвать проблемы в некоторых системах.
xf86cfg
Команда xf86cfg пытается запустить драйверы дисплея и устройств ввода. Если это удастся, то вы увидите окно с диаграммой вашей системы. Для просмотра и изменения настроек конкретного элемента щелкните по нему правой кнопкой мыши. В некоторых системах вам потребуется использовать цифровую клавиатуру вместо мыши, поскольку мышь не была корректно определена. Перед запуском xf86cfg вы можете захотеть создать символическую ссылку на /dev/mouse с вашего устройства ввода – мышь. Например,
ln -s /dev/input/mice /dev/mouse.
Когда вы нажмёте Quit(Выход), вам предложат сохранить конфигурационные файлы /etc/X11R6/lib/X11/XF86Config и /etc/X11R6/lib/X11/xkb/X0-config.keyboard.
xf86config
Команда xf86config использует текстовый интерфейс для интерактивного запроса информации о вашей мыше, клавиатуре, видеокарте и дисплее. Вам потребуется информация о частотах горизонтальной и вертикальной развёртки вашего монитора. Вы можете выбрать большинство видеокарт и базы данных по известным видеокартам. Если сделать это не удалось, то вам может потребоваться специфическая информация о наборе микросхем и частотах синхронизации вашей видеокарты.

Замечания:

  • Если ваша система включает XFree86, то, возможно, ваш поставщик включил средство типа sax2, используемое в SUSE или redhat-config-xfree86 для некоторых систем Red Hat®. Всегда просматривайте документацию по вашей системе о подобных средствах.
  • Другое средство конфигурирования XF86Setup более не распространяется с Xfree86.

X.Org

Большинство дистрибутивов включают пакеты XFree86 или X.Org. Если в вашем дистрибутиве их нет, то вы можете отыскать RPM или .deb пакет и установить его.

Установка X.Org

Если необходимый пакет X.org недоступен, то вам потребуется загрузить и собрать его из исходных кодов доступных на Web-сайте X.Org или его зеркалах. В момент написания учебника, эти сайты не содержали собранных двоичных пакетов для X11R6.9.0 или X11R7.0. Исходный код доступен из репозитория CVS(система управления версиями) или архивов, сжатых gzip либо bzip2. Вам необходимо получить файлы gz или bz2, но не то и другое одновременно. Вы обнаружите, что X.Org Modular Tree Developer’s Guide является неоценимым помощником при загрузке и самостоятельной сборке X.Org. Обратите внимание на то, что для полнофункциональной сборки рекомендуется использовать дополнительные пакеты такие как freetype, fontconfig, и Mesa.

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

Пакет X.Org основан на последней версии XFree86 и имеет похожие конфигурационные возможности, включая динамическое определение доступного аппаратного обеспечения. Конфигурационный файл предпочтительнее именовать xorg.conf, а не XF86Config. Вы можете его найти в нескольких местах /etc/xorg.conf, /etc/X11/xorg.conf, /usr/X11R6/etc/xorg.conf, /usr/X11R6/lib/X11/xorg.conf.hostname, или /usr/X11R6/lib/X11/xorg.conf.

Доступны следующие средства конфигурирования:

X -configure
Запуск X с параметром -configure заставляет X-сервер загружать каждый драйверный модуль, пробовать драйвер и создавать конфигурационный файл, который сохраняется в домашнем каталоге пользователя, запустившего сервер (обычно /root). Файл называется xorg.conf.new.
xorgcfg
Это средство подобно xf86cfg
xorg86config
Команда xorgconfig текстовый интерфейс для интерактивного закрашивания информации о вашей мыши, клавиатуре, видеоадаптере и дисплее. Как и при использовании xf86config вам необходимо знать частоты горизонтальной и вертикальной развертки вашего дисплея. Вы можете выбрать большинство видеоадаптеров из базы данных известных видеокарт. Если этого не удаётся сделать, то вам потребуется информация о наборе микросхем и частотах синхронизации для вашего видеоадаптера.

Настройка X

Современные многочастотные ЭЛТ мониторы обычно имеют элементы управления для задания размера изображения и его позиции на экране. Если ваш монитор не имеет этой возможности, то вы можете использовать команду xvidtune для настройки размера и положения вашего X-экрана. При запуске xvidtune из сеанса виртуального терминала, вы увидите окно, похожее на изображенное на рисунке 1. Откорректируйте настройки и нажмите Test (Тест) для того, чтобы посмотреть как они работают или Apply (Применить) для изменения параметров. Если ва нажмёте Show (Показать) текущие настройки будут выведены в ваше терминальное окно в том формате, который вы можете использовать как настройку Modeline в файлах CF86Config или xorg.conf.

fig11.gif
За более подробной информацией обратитесь к интерактивной справке.

Общая информация о шрифтах в X.

Долгие годы за работу со шрифтами отвечала встроенная система шрифтов X11 (core X11 fonts system). Последние версии X-серверов XFree86 (и X.Org) включают систему шрифтов Xft. Встроенная система шрифтов первоначально поддерживала монохромные растровые шрифты, но с течением времени была усовершенствована. Система Xft была разработана с учетом современных требований, включая сглаживание и субпиксельное растрирование (sub-pixel rasterization) и позволяет приложениям иметь всесторонний контроль над рендерингом глифов. Основное отличие между этими двумя системами шрифтов состоит в том, что встроенная система работает на сервере, а Xft шрифты обрабатываются клиентами, которые отсылают необходимые глифы серверу.

X первоначально использовала шрифты Type 1 (или Adobe Type 1) – формат описания шрифтов, разработанный Adobe. Система Xft может работать с ними наряду со шрифтами OpenType, TrueType, Speedo и CID.

Сервер шрифтов xfs

Со встроенной системой шрифтов X11 X Server получает шрифты и информацию о них от сервера шрифтов. Сервер шрифтов xfs обычно запускается как демон при старте системы, хотя возможно запустить его как обычную задачу. Как правило вы будете устанавливать сервер шрифтов в ходе установки X. Тем не менее, поскольку X является сетевым протоколом, имеется возможность получать шрифты и информацию о них через сеть, а не с вашей локальной машины.

X-сервер шрифтов использует обычно конфигурационный файл /usr/X11R6/lib/X11/fs/config. Пример файла конфигурации шрифтов показан в листинге 3. Конфигурационный файл может быть также расположен в или связан с /etc/X11/fs.

Листинг 3. Пример /usr/X11R6/lib/X11/fs/config

# allow a max of 10 clients to connect to this font server
client-limit = 10
# when a font server reaches its limit, start up a new one
clone-self = on
# alternate font servers for clients to use
#alternate-servers = foo:7101,bar:7102
# where to look for fonts
#
catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/misc,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/X11R6/lib/X11/fonts/cyrillic,
/usr/X11R6/lib/X11/fonts/TTF,
/usr/share/fonts/default/Type1
# in 12 points, decipoints
default-point-size = 120
# 100 x 100 and 75 x 75
default-resolutions = 75,75,100,100
# how to log errors
use-syslog = on
# don't listen to TCP ports by default for security reasons
no-listen = tcp

Этот пример типичен для установки Linux на рабочую станцию где сервер шрифтов не предоставляет шрифты по TCP-соединениям (no-listen = tcp).

Библиотека Xft

Библиотека Xft предоставляет функции, позволяющие клиентским приложениям выбирать шрифты по заданному образцу и генерировать глифы для отправки их на сервер. Образцы учитывают семейство шрифтов (Helvetica, Times и тд.), кегль, начертание и множество других характеристик. В то время как встроенная система шрифтов позволяет клиенту найти лишь первый подходящий шрифт на сервере, Xft находит лучший шрифт по всем критериям и затем отсылает информацию о глифах на сервер. Xft взаимодействует с FreeType для создания картинки из глифа и расширением Render сервера X, ускоряющим процесс рендеринга. Xft входит в состав текущих версий как XFree86 так и X.Org.

Замечание: Если ваш X-сервер работает через сеть и используется видеокарта не поддерживающая расширение Render, то производительность сети может стать проблемой в данной ситуации и вы можете захотеть отключить сглаживание. Вы можете использовать команду xdpyinfo для просмотра информации о вашем X-сервере. Листинг 4 содержит часть информации выводимой xdpyinfo. Поскольку объём информации, создаваемой xdpyinfo велик, можно воспользоваться командой grep для поиска ‘RENDER’.

Листинг 4. Проверка наличия расширения RENDER программой xdpyinfo

[ian@lyrebird ian]$ xdpyinfo
name of display: :0.0
version number: 11.0
vendor string: The XFree86 Project, Inc
vendor release number: 40300000
XFree86 version: 4.3.0
maximum request size: 4194300 bytes
motion buffer size: 256
bitmap unit, bit order, padding: 32, LSBFirst, 32
image byte order: LSBFirst
number of supported pixmap formats: 7
supported pixmap formats:
depth 1, bits_per_pixel 1, scanline_pad 32
depth 4, bits_per_pixel 8, scanline_pad 32
depth 8, bits_per_pixel 8, scanline_pad 32
depth 15, bits_per_pixel 16, scanline_pad 32
depth 16, bits_per_pixel 16, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
depth 32, bits_per_pixel 32, scanline_pad 32
keycode range: minimum 8, maximum 255
focus: window 0x2000011, revert to Parent
number of extensions: 30
BIG-REQUESTS
DOUBLE-BUFFER
DPMS
Extended-Visual-Information
FontCache
GLX
LBX
MIT-SCREEN-SAVER
MIT-SHM
MIT-SUNDRY-NONSTANDARD
RANDR
RECORD
RENDER
SECURITY
SGI-GLX
SHAPE
SYNC
TOG-CUP
X-Resource
XC-APPGROUP
XC-MISC
XFree86-Bigfont
XFree86-DGA
XFree86-DRI
XFree86-Misc
XFree86-VidModeExtension
XInputExtension
XKEYBOARD
XTEST
XVideo
default screen number: 0
number of screens: 1

Использование Xft вместо встроенной системы шрифтов X требует внесения изменений в приложения, поэтому вы можете обнаружить, что некоторые приложения не используют преимуществ улучшенного рендеринга шрифтов в Xft.В момент написания этого учебника примерами приложений, использующих Xft являются Qt (используется в KDE), GTK+ (используется в GNOME), Mozilla 1.2.

Установка шрифтов

Существует два метода установи шрифтов один для Xft и более сложный для встроенной системы шрифтов X11.

Шрифты для Xft

Xft использует шрифты, расположенные в ряде хорошо известных каталогов шрифтов, также как и в подкаталоге .fonts домашнего каталога пользователя. Хорошо известные каталоги шрифтов включают подкаталоги /usr/X11R6/lib/X11/lib/fonts, как перечислено в разделе каталогов в /usr/X11R6/lib/X11/fs/config. Другие каталоги шрифтов могут быть заданы в разделе FontPath файлов XF86Config или xorg.conf (в зависимости от используемого вами X-сервера).

Просто скопируйте ваши шрифты в пользовательский каталог .fonts или для использования во всей системе в /usr/local/share/fonts. Сервер шрифтов должен выбрать новые шрифты и сделать их доступными при следующем запуске. Вы можете провести обновление без перезапуска сервера командой fc-cache.

Текущая технология работы со шрифтами в X использует загружаемые модули для поддержки различных типов шрифтов как показано в таблице 5.

Таблица 5. Модули работы со шрифтами X-сервера

Модуль Описание
bitmap Растровые шрифты (.bdf, .pcf, and .snf)
freetype TrueType (.ttf and .ttc), OpenType (.otf and .otc) и шрифты Type 1 (.pfa and .pfb)
type1 Альтернативная поддержка Type 1 (.pfa and .pfb) и CID шрифтов.
xtt Альтернативный модуль TrueType (.ttf and .ttc)
speedo Шрифты Speedo(.spd)

Если у вас возникли проблемы с установкой и использованием шрифта, то проверьте журнал сервера (например /var/log/XFree86.0.log) чтобы убедиться в том, что соответствующий модуль был загружен. Имена модулей чувствительны к регистру. Для просмотра (и изменения) настроек X-сервера, включая путь к шрифтам, расположение конфигурационных файлов и журналов вы можете использовать команду xset как показано в листинге 5.

Листинг 5. Отображение настроек X-сервера командой xset

[ian@lyrebird ian]$ xset -display 0:0 -q
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
auto repeat delay: 500 repeat rate: 30
auto repeating keys: 00ffffffdffffbbf
fadfffffffdfe5ff
ffffffffffffffff
ffffffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 0
Colors:
default colormap: 0x20 BlackPixel: 0 WhitePixel: 16777215
Font Path:
/home/ian/.gnome2/share/cursor-fonts,unix/:7100,/home/ian/.gnome2/share/fonts
Bug Mode: compatibility mode is disabled
DPMS (Energy Star):
Standby: 7200 Suspend: 7200 Off: 14340
DPMS is Enabled
Monitor is Off
Font cache:
hi-mark (KB): 5120 low-mark (KB): 3840 balance (%): 70
File paths:
Config file: /etc/X11/XF86Config
Modules path: /usr/X11R6/lib/modules
Log file: /var/log/XFree86.0.log

Если вам требуется дополнительный контроль поведения Xft, вы можете использовать либо общесистемный (/etc/fonts/fonts.conf) или пользовательский (.fonts.conf в домашнем каталоге пользователя) конфигурационный файл. Кроме прочего, вы можете включить или отключить сглаживание и управлять субпиксельным рендерингом (используется в ЖК-дисплеях). Это XML файлы поэтому вы должны убедиться в том, что после редактирования они остались корректными. За дополнительной информацией о содержании и формате этих файлов обратитесь к интерактивной справке.

Встроенные шрифты X11

Перед установкой шрифтов в формате Bitmap Distribution Format (.bdf) (двоичный формат распространения) желательно преобразовать их в Portable Compiled Format (.pcf) (переносимый скомпилированный формат) и сжать их, используя gzip. После этого, вы можете скопировать новые шрифты в каталог, например, /usr/local/share/fonts/bitmap/ и затем выполнить команду mkfontdir для создания каталога шрифтов, который будет использоваться сервером. Эти шаги показаны в листинге 6.

Листинг 6. Установка растровых шрифтов

[root@lyrebird root]# bdftopcf courier12.bdf -o courier12.pcf
[root@lyrebird root]# gzip courier12.pcf
[root@lyrebird root]# mkdir -p /usr/local/share/fonts/bitmap
[root@lyrebird root]# cp *.pcf.gz /usr/local/share/fonts/bitmap/
[root@lyrebird root]# mkfontdir /usr/local/share/fonts/bitmap/
[root@lyrebird root]# ls /usr/local/share/fonts/bitmap/
courier12.pcf.gz fonts.dir

Обратите внимание на то, что команда mkfontdir создаёт файл fonts.dir

Для установки масштабируемых шрифтов типа TrueType или Type1 требуется дополнительный шаг. После копирования файлов шрифтов в целевой каталог выполните команду mkfontscale а затем mkfontdir. Команда mkfontscale создаст перечень масштабируемых шрифтов в файле fonts.scale.

Теперь, когда вы задали каталог шрифтов и информацию по их масштабированию вы должны указать серверу, где искать новые шрифты. Это делается включением нового каталога в путь поиска шрифтов. Вы можете сделать это на временной (используя xset) или постоянной (включением записи FontPath в файл XF86Config или xorg.conf ) основе. Для того, чтобы добавить новый каталог растрового шрифта в начало списка поиска шрифтов воспользуйтесь параметром +fp команды xset, как показано в листинге 7.

Листинг 7. Обновление пути поиска шрифтов командой xset

[ian@lyrebird ian]$ xset +fp /usr/local/share/fonts/bitmap/ -display 0:0

Хорошей идеей (хотя это здесь не показано) является включение масштабируемых шрифтов перед растровыми, поскольку это приводит к лучшему их подбору. Для добавления каталогов в конец списка используйте параметр fp+. Аналогично параметры -fp и fp- приводят к удалению каталогов из начала и конца списка соответственно.

Вы можете сделать изменения постоянными, отредактировав XF86Config или xorg.conf. Вы можете добавить столько строк FontPath в раздел Files, сколько необходимо как показано в листинге 8.

Листинг 8. Изменение XF86Config или xorg.conf

Section "Files"
# RgbPath is the location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Red Hat 6.0 and later now use a font server independent of
# the X server to render fonts.
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "unix/:7100"
FontPath "/usr/local/share/fonts/bitmap/"
EndSection
[

Информацию о том, что ещё вы можете изменить в конфигурационных файлах X смотрите в интерактивном руководстве по XF86Config или xorg.conf.

Источник: ibm developerworks