Существует «ручной» запуск компонент оконной системы X, что достаточно неудобно, т. к. требует установить правильное значение переменной окружения display, запустить X-сервер «до запуска первого клиента, а завершить после завершения последнего и т. д.
Поэтому для автоматизации запуска X-сервера и всех клиентов X-сеанса пользователя предназначается специальная команда xinit, проиллюстрированная в листинге ниже.
Запуск сеанса iceWM с отображением на сервере Xnest
PID TTY STAT TIME COMMAND 28163 pts/8 Ss 0:00 bash 28218 pts/0 S 0:00 \_ xinit /usr/bin/icewm-session — /usr/bin/Xnest :1 28219 pts/0 Sl 0:00 | \_ /usr/bin/Xnest 1 28226 pts/0 S 0:00 | \_ /usr/bin/icewm-session 28231 pts/0 R+ 0:00 \_ ps f
/.xserverrc, представляющими собой сценарии командного интерпретатора, которые запускают, клиентскую и серверную части оконной системы соответственно.
Запуск сеанса TWM с отображением на сервере «по умолчанию» (Xnest)
$ xinit /usr/bin/twm — :2 & honer@ubuntu:
$ ps f
PID TTY STAT TIME COMMAND 28268 pts/1 Ss 0:00 bash 28322 pts/1 S 0:00 \_ xinit /usr/bin/twm — :2 28323 pts/1 Sl 0:01 | \_/usr/bin/Xnest :2 28330 pts/1 S 0:00 | \_ /usr/bin/twm 30112 pts/1 R+ 0:00 \_ ps f
Запуск локальной X Window System (окружение KDE с отображением на сервере Xnest)
#!/bin/sh exec /usr/bin/Xnest «$@» homer@ubuntu:
#!/btn/sh exec startkde «$@» homer@ubuntu:
$ xinit — :3 &
$ ps f
PID TTY STAT TIME COMMAND 30810 pts/2 Ss 0:00 bash 30996 pts/2 S 0:00 \_ xinit — :3 30997 pts/2 Si 0:04 | \_/usr/bin/Xnest :3
31004 pts/2 S 0:00 | \_ /bin/sh /usr/bin/startkde
31064 pts/2 S 0:00 | \_ kwrapper4 ksmserver 31179 pts/2 R+ 0:00 \_ ps f
Нужно заметить, что все три пользовательских сеанса, запущенных из листингов выше, могут существовать одновременно, т. к. используют разные экземпляры X-сервера.
Дистанционный запуск X-клиентов
Оконная система X изначально: проектировалась для распределенной работы ее компонент на различных узлах сети, что достаточно широко используется на практике, когда нужно запускать графические приложения на удаленном узле, их окна отображать на локальном дисплее.
В большинстве случаев для дистанционного запуска используется ssh. Попытка «прямого» запуска xeyes на узле centos от лица пользователя lich не увенчалась успехом потому, что в большинстве инсталляций аппаратный X-сервер на дисплее :0 не принимает сетевые соединения.
Попытка запуска локального виртуального сервера Xnest на дисплее :1 с перенаправлением ему вывода дистанционного xeyes тоже оказалась неудачной, но уже по другим причинам.
Запуск дистанционного X-клиента
Error: Can’t open display: ubuntu.local:0
$ Xnest :1 &
No protocol specified
Error: Can’t open display: ubuntu.local:1
При сетевом взаимодействии X-клиентов и X-сервера для аутентификации клиентских подключений используется механизм, основанный на предъявлении общего (известного обеим сторонам) «секрета», называемого «волшебной печенькой» (см. W:[magic cookie]), использование которых проиллюстрировано в примере ниже.
Аутентификация дистанционного X-клиента
$ mcookie
8f36c904dc0c9934c506c21ea7860eb2
xauth: file cookie-jar does not exist Using authority file cookie-jar
Необходимость установки общего секрета и переменной окружения display и необходимость запуска дополнительного виртуального X-сервера (или необходимость активации приема сетевых соединений аппаратным сервером) делают «ручной» запуск дистанционных X-клиентов неудобным «чуть более, чем полностью».
Вместе с этим, передача «волшебных печенек» (как и любых других сообщений X-протокола) от X-клиента к X-серверу по сети происходит незащищенным образом, что может быть легко использовано злоумышленником. Именно поэтому на практике используют туннелирующие возможности протокола SSH, позволяющие удобным автоматизированным способом решить все вышеперечисленные задачи и проблемы.
В примере из листинга ниже показано поведение SSH-сервера при туннелировании X-протокола. По запросу (-x) от SSH-клиента SSH-сервер начинает эмулировать поведение X-сервера, устанавливает О переменную окружения display, указывающую на «дисплей» :10 на «том же» узле localhost, и создает «волшебную печеньку» для этого дисплея.
При последующем запуске X-клиента xeyes им будет установлено соединение с «SSH-эмулятором» X-сервера на localhost: 10, а SSH-сервер перенаправит (туннелирует) это соединение X-протокола обратно SSH-клиенту внутри зашифрованного соединения SSH.
SSH-туннелирование X-протокола (SSH-сервер)
Last login: Fri Jan 8 17:48:34 2016 from ubuntu
]$ xauth list centos/unix:10 MIT-MAGIC-C00KIE-1 80c749073282be2001c33bd43e577aa4 [lich@centos
+++ exited with 0 +++ [lich@centos
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Листинг ниже иллюстрирует поведение SSH-клиента в режиме (-X) X-туннелирования, при котором он эмулирует «Х-клиента» и соединяется с аппаратным (!) Х-сервером через локальный сокет /tmp/.x11-unix/X0.
При получении от SSH-сервера перенаправленных соединений X-протокола они ретранслируются SSH-эмулятором «X-клиента» локальному X-серверу, тем самым вывод дистанционных X-клиентов изображается в окнах локального X-сервера.
SSH-туннелирование X-протокола (SSH-клиент)
Так как SSH-туннелирование X-протокола позволяет перенаправлять любое количество X-соединений внутри одного SSH-соединения, то дистанционно можно запускать целые сеансы пользовательских сред, таких как GNOME с использованием xinit и виртуального X-сервера Xnest.
Запуск дистанционного сеанса GNOME с отображением на локальном сервере Xnest
$ ps f
Управление X-дисплеями: XDMCP-менеджер и протокол
В большинстве современных инсталляций Linux работа пользователей в системе осуществляется сразу с использованием оконной системы X и какой-либо пользовательской среды, например GNOME.
Оконная система запускается сразу при старте операционной системы и не требует использования xinit или startx.
Если при работе в автоматически запущенной оконной системе проследить дерево процессов от командного интерпретатора до прародителя процессов init, то обнаружится менеджер дисплеев (например, lightdm), осуществляющий запуск пользовательского сеанса в (gnome-session).
Менеджер дисплеев является специальной компонентой оконной системы, управляющей автоматическим запуском ее X-серверов и X-сеансов. Именно он запускает аппаратные X-серверы для обслуживания дисплеев в указанном количестве (по умолчанию один дисплей :0), а затем «графическим» образом производит аутентификацию пользователя в системе и запускает менеджер сеансов пользовательской среды.
Кроме этого, менеджер дисплеев предназначен и для запуска дистанционных пользовательских X-сеансов, но делает это при помощи специального протокола W:[XDMCP], а не посредством протокола SSH, как при «ручном» дистанционном их запуске.
В листинге ниже показано дистанционное подключение виртуального X-сервера Xnest с узла terminal к узлу ubuntu.local по протоколу XDMCP (-query), в результате чего менеджер дисплеев lightdm (при помощи X-протокола) отобразил экран аутентификации пользователей в системе узла ubuntu. При успешной аутентификации пользователя будет запущен его X-сеанс на узле ubuntu.local так, что вывод всех X-клиентов будет направлен на дистанционный X-сервер узла terminal.
Надо заметить, что при использовании дистанционного XDMCP-запуска данные XDMCP- и X-протоколов при передаче в публичной сети оказываются никак не защищены (включая согласование «волшебной печеньки» и ее последующее использование), поэтому на практике безальтернативно используют SSH-запуск дистанционных сеансов с туннелированием X-протокола внутри криптографически защищенного SSH-соединения.
Источник
Для системного администратора
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
Если у вас нет пакета XFree86, то вам придётся загрузить файлы с Web-сайта проекта XFree86 (см. Ресурсы). Имеются собранные пакеты для Linux для нескольких популярных платформ или вы можете произвести установку из исходных кодов. В этом руководстве предполагается, что вы устанавливаете текущий релиз (версия 4.5.0) из скомпилированного пакета.
Вам потребуется загрузить несколько двоичных пакетов. Для проверки загруженных файлов воспользуйтесь контрольными суммами md5 или ключами GPG. В таблице 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-сервера
Листинг 1. Определение правильного двоичного пакета XFree86
В этом примере вы должны выбрать пакет с названием “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
Листинг 2. Установка XFree86
/xfree86# sh Xinstall.sh
Вас попросят ответить на несколько вопросов, перечень которых может варьироваться в зависимости от того была ли установлена X-среда ранее или нет. После установки основных компонентов вас спросят об установке дополнительных компонентов индивидуально.
После установки файлов скрипт выполнит команду ldconfig и предложит вам установить несколько символических ссылок.
Простейший способ установки XFree86 – установка всех желаемых компонентов используя Xinstall.sh. В противном случае, вам придётся либо переустанавливать весь пакет, что может привести к потере любых сделанных вами изменений в настойках, либо вручную устанавливать остальные компоненты.
Исторически конфигурирование XFree86 включало создание файла XF86Config, который содержал информацию о видеокарте, мыши, клавиатуре и мониторе наряду с настроечными параметрами, например, желаемом разрешении экрана. Первоначальное средство конфигурирования xf86config требовало от пользователя знания и ввода подробной информации о частотах синхронизации видеокарты и монитора. Последние версии XFree86 способны динамически определять доступное аппаратное обеспечение и могут работать с небольшим количеством конфигурационной информации или без неё.
Доступны следующие средства конфигурирования.
X.Org
Установка 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
Современные многочастотные ЭЛТ мониторы обычно имеют элементы управления для задания размера изображения и его позиции на экране. Если ваш монитор не имеет этой возможности, то вы можете использовать команду xvidtune для настройки размера и положения вашего X-экрана. При запуске xvidtune из сеанса виртуального терминала, вы увидите окно, похожее на изображенное на рисунке 1. Откорректируйте настройки и нажмите Test (Тест) для того, чтобы посмотреть как они работают или Apply (Применить) для изменения параметров. Если ва нажмёте Show (Показать) текущие настройки будут выведены в ваше терминальное окно в том формате, который вы можете использовать как настройку Modeline в файлах CF86Config или xorg.conf.
За более подробной информацией обратитесь к интерактивной справке. Общая информация о шрифтах в 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
Текущая технология работы со шрифтами в X использует загружаемые модули для поддержки различных типов шрифтов как показано в таблице 5.
Если у вас возникли проблемы с установкой и использованием шрифта, то проверьте журнал сервера (например /var/log/XFree86.0.log) чтобы убедиться в том, что соответствующий модуль был загружен. Имена модулей чувствительны к регистру. Для просмотра (и изменения) настроек X-сервера, включая путь к шрифтам, расположение конфигурационных файлов и журналов вы можете использовать команду xset как показано в листинге 5.
Листинг 5. Отображение настроек X-сервера командой xset
Если вам требуется дополнительный контроль поведения 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. Установка растровых шрифтов
Обратите внимание на то, что команда mkfontdir создаёт файл fonts.dir
Для установки масштабируемых шрифтов типа TrueType или Type1 требуется дополнительный шаг. После копирования файлов шрифтов в целевой каталог выполните команду mkfontscale а затем mkfontdir. Команда mkfontscale создаст перечень масштабируемых шрифтов в файле fonts.scale.
Теперь, когда вы задали каталог шрифтов и информацию по их масштабированию вы должны указать серверу, где искать новые шрифты. Это делается включением нового каталога в путь поиска шрифтов. Вы можете сделать это на временной (используя xset) или постоянной (включением записи FontPath в файл XF86Config или xorg.conf ) основе. Для того, чтобы добавить новый каталог растрового шрифта в начало списка поиска шрифтов воспользуйтесь параметром +fp команды xset, как показано в листинге 7.
Листинг 7. Обновление пути поиска шрифтов командой xset
Вы можете сделать изменения постоянными, отредактировав 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.
Этот пост November 23, 2007 at 7:07 pm опубликовал molse в категории Экзамен LPI. Желающие могут оформить RSS подписку на комменты. Both comments and trackbacks are currently closed.
Источник
Установка и настройка сервера X.Org (X Window System).
Установка.
Большинство инсталляторов современных дистрибутивов GNU/Linux самостоятельно устанавливают какую либо графическую среду рабочего стола (GNOME,KDE. ) либо, на каком то этапе, предлагают вам сделать выбор (например в инсталляторе Debian для этого предлагается отметить/снять пункт «Окружение рабочего стола»).
Если какая либо графическая среда рабочего стола устанавливается, то оконная система «X Window System», включая сервер «XOrg», будут установлены автоматически, по зависимостям.
Если по каким-то причинам вы установили дистрибутив GNU/Linux без графической среды рабочего стола (только текстовая консоль, для сервера, например), а сейчас она (графическая оболочка) понадобилась, то её несложно установить посредством выполнения нескольких команд в консоли:
Для установки GNOME выполните:
Для установки KDE выполните:
Для установки «чистого» (пустой экран с курсором) сервера X.Org в дистрибутивах Debian/Ubuntu выполните:
Установка драйверов видеокарт
Для начала, их нужно установить или удостовериться чтобы они установлены.
Смотрим тип видеоадаптера и используемый им драйвер.
Драйвера для видеоадаптеров поставляемые вместе с сервером X:
Если у вас видеокарта NVIDIA или ATI, то лучшим выбором будет использование проприетарных (закрытых, но свободно распространяемых) фирменных драйверов. В Ubuntu и Debian все необходимые пакеты есть в официальных репозиториях. Порядок установки описан ниже.
Установка проприетарных драйверов NVIDIA/ATI
Ubuntu
Далее запустите графическое приложение «Главное меню (верхняя панель) → Система → Администрирование → Дополнительные драйвера» и следуйте инструкциям.
Debian NVIDIA
Способ 1: использование DKMS для динамической сборки и установки модулей(драйверов).
Способ 2: установка скомпилированных модулей для конкретных ядер.
Способ 3: использование ModuleAssistant для динамической сборки и установки модулей(драйверов).
После установки модуля ядра, нужно установить ещё несколько пакетов:
Теперь нужно перегрузить сервер X, выйдя из текущего сеанса пользователя или выполнив:
Debian ATI
Настройка.
В современных дистрибутивах Debian (начиная с 6.0 Squeeze) и Ubuntu (начиная с 10.04 Lucid, возможно и более ранних) файла xorg.conf нет. В этом случае X.org стартует с настройками по-умолчанию и этого достаточно в большинстве случаев. Однако для чего-то специфичного, например для объединения 2-х дисплеев через NVIDIA TwinView ( sudo nvidia-settings ) и т.п., создать его всё же придётся.
Итак, если файла xorg.conf нет, то нужно его сгенерировать:
выход из графической оболочки
Оказавшись в текстовой консоли ( ALT+F1 ) войдите в систему заново как суперпользователь root или как обычный пользователь, если root не предусмотрен.