diff --git a/ru_RU.KOI8-R/books/handbook/ports/chapter.sgml b/ru_RU.KOI8-R/books/handbook/ports/chapter.sgml
index 39fba4a3b8..cf85d91ec2 100644
--- a/ru_RU.KOI8-R/books/handbook/ports/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/ports/chapter.sgml
@@ -1,1347 +1,1351 @@
АндрейЗахватовПеревод на русский язык: Установка приложений: порты и пакетыОбзорпортыпакетыВместе с FreeBSD в составе базового комплекта системы поставляется
богатый набор системный утилит. Однако для выполнения какой-то
реальной работы очень скоро возникает необходимость в установке
дополнительных приложений сторонних разработчиков. FreeBSD даёт две
взаимодополняющих технологии для установки программного обеспечения
сторонних разработчиков в вашу систему: Коллекция Портов FreeBSD и
бинарные пакеты с программным обеспечением. Любая из этих систем может
быть использована для установки самых последних версий ваших любимых
приложений с локальных носителей или прямо из сети.После чтения этой главы вы будете знать:Как устанавливать бинарные пакеты с программным обеспечением
сторонних разработчиков.Как строить программное обеспечение сторонних разработчиков при
помощи коллекции портов.Как удалять ранее установленные пакеты или порты.Как переопределить значения, используемые по умолчанию в
коллекции портов.Как обновить ваши порты.Обзор установки программного обеспеченияЕсли вы использовали &unix;-системы ранее, то знаете, что
стандартная процедура установки программного обеспечения сторонних
разработчиков выглядит примерно так:Загрузка программного обеспечения, которое может распространяться
в форме исходных текстов или двоичных файлов.Распаковка программного обеспечения из дистрибутивного формата
(обычно tar-архива, сжатого при помощи &man.compress.1;,
&man.gzip.1; или &man.bzip2.1;).Поиск документации (возможно, подойдут файлы
INSTALL, README
или несколько файлов из подкаталога doc/) и её
чтение в поиске описания установки программного обеспечения.Если программное обеспечение распространялось в форме исходных
текстов, его компиляция. Сюда может быть включено редактирования
файла Makefile, запуск скрипта
configure и другие работы.Тестирование и установка программного обеспечения.И это только всё проходит нормально. Если вы устанавливаете
программный пакет, который был специально перенесён на FreeBSD, то вам
может даже потребоваться редактировать код для того, чтобы он нормально
заработал.Если вы хотите, то можете продолжать устанавливать программное
обеспечение во FreeBSD традиционным способом. Однако
FreeBSD предоставляет две технологии, которые могут сохранить вам много
усилий: пакеты и порты. На момент написания таким образом были
доступны более &os.numports; сторонних приложений.Для любого конкретно взятого приложения пакет FreeBSD для такого
приложения является одним файлом, который вы должны загрузить. Пакет
содержит уже откомпилированные копии всех команд приложения, а также
все конфигурационные файлы и документацию. Загруженным файлом пакета
можно управлять командами управления пакетами FreeBSD, такими, как
&man.pkg.add.1; &man.pkg.delete.1;, &man.pkg.info.1; и так далее.
Установка нового приложения может выполняться единственной
командой.Порт FreeBSD для приложения является набором файлов, предназначенных
для автоматизации процесса компиляции приложения из исходного
кода.Вспомните, что обычно вы должны выполнить некоторое количество
шагов, если компилируете программу самостоятельно (загрузка, распаковка,
изменение кода, компиляция, установка). Файлы, составляющие порт,
содержат всю информацию, необходимую для того, чтобы система сделала это
за вас. Вы задаёте пару простых команд, и исходный код приложения
автоматически загружается, распаковывается, модифицируется, компилируется
и устанавливается.Действительно, система портов может также использоваться для
генерации пакетов, которые позже могут управляться командой
pkg_add и другими командами управления пакетами, о
которых скоро будет рассказано.Как пакеты, так и порты принимают во внимание
зависимости. Предположим, что вы хотите установить
приложение, которое зависит от некоторой установленной библиотеки. И
приложение, и библиотека доступны во FreeBSD в виде портов и пакетов.
Если вы используете команду pkg_add или систему
портов для добавления приложений, то в обоих случаях будет обнаружено,
что библиотека не была установлена, и сначала будет автоматически
выполнена установка библиотеки.Видя, что обе технологии весьма похожи, вы можете удивиться, почему
во FreeBSD используются обе. И пакеты, и порты имеют свои
преимущества, так что выбор используемой вами системы зависит от ваших
собственных предпочтений.Преимущества пакетовСжатый tar-архив обычно меньше, чем сжатый tar-архив, содержащий
исходный код приложения.Пакеты не требуют никакой дополнительной компиляции. Для таких
больших приложений, как Mozilla,
KDE или GNOME,
это может быть важно, в частности, если вы работаете на медленной
системе.Пакеты не требуют понимания процесса компиляции
программного обеспечения во FreeBSD.Преимущества портовПакеты обычно компилируются с консервативными параметрами,
потому что они должны работать на максимальном количестве систем.
При установке из порта вы можете изменять параметры компиляции для
того, чтобы (к примеру) генерировался код, специфичный для
процессора Pentium IV или Athlon.Некоторые приложения имеют опции времени компиляции, связанные с
тем, что они могут или не могут делать. К примеру,
Apache может быть настроен с широким
набором различных опций. При построении из порта вы можете не
принимать параметры по умолчанию, и задать их самостоятельно.В некоторых случаях для одного и того же приложения будут
иметься несколько пакетов для указания конкретных настроек.
Например, Ghostscript имеется как пакет
ghostscript и как пакет
ghostscript-nox11, в зависимости от того,
установили вы сервер X11 или нет. Такой тип грубой настройки
возможен при использовании пакетов, но быстро становится
недостижим, если приложение имеет более одного или двух параметров
времени компиляции.Условия лицензирования некоторых дистрибутивов программного
обеспечения запрещает распространение в двоичном виде. Они должны
распространяться в виде исходного кода.Некоторые не доверяют дистрибутивам в двоичном виде. При
использовании исходного кода вы по крайней мере (теоретически)
можете прочесть его и попытаться найти потенциальные проблемы
самостоятельно.Если у вас есть собственные патчи, вам нужен исходный код для
того, чтобы их применять.Некоторым нравится иметь исходный код, чтобы его можно было
смотреть и хакать, заимствовать из него (конечно, при разрешающей
лицензионном соглашении) и тому подобное.Чтобы отслеживать обновления портов, подпишитесь на
&a.ports; и &a.ports-bugs;.Перед установкой любого приложения необходимо зайти на , где находится информация
по вопросам безопасности приложений.Вы можете также установить security/portaudit, который автоматически
проверит все установленные приложения на наличие известных
уязвимостей, проверка также будет выполняться перед сборкой
какого-либо порта. Вы можете использовать portaudit
-F -a и после установки пакетов.В оставшейся части главы будет рассказано, как использовать пакеты
и порты для установки и управления программным обеспечением сторонних
разработчиков во FreeBSD.Поиск нужного вам приложенияПеред тем, как устанавливать какое-либо приложение, вам нужно знать,
что вы хотите и как называется нужное вам приложение.Список имеющихся для FreeBSD приложений постоянно растёт. К счастью,
есть несколько способов найти то, что вам нужно:На сайте FreeBSD поддерживается обновляемый список имеющихся
приложений для FreeBSD, в котором можно выполнять поиск, по адресу
http://www.FreeBSD.org/ports/. Порты разбиты на категории,
и вы можете либо выполнить поиск приложения по имени (если его
знаете), либо просмотреть список всех приложений, относящихся к
определённой категории.FreshPortsDan Langille поддерживает сайт FreshPorts по адресу .
На нём отслеживаются изменения в приложениях из дерева портов, как
только они происходят, он позволяет вам отслеживать
один или несколько портов, и может высылать оповещение по электронной
почте при их обновлении.FreshMeatЕсли вы не знаете названия нужного вам приложения, попытайтесь
воспользоваться сайтом типа FreshMeat ()
для поиска приложения, а затем возвратитесь на сайт FreeBSD, чтобы
проверить, есть ли порт для этого приложения.Если вы знаете точное имя порта, и хотите определить, в какой
категории он находится, используйте команду &man.whereis.1;.
Просто наберите в приглашении whereis
file,
где file - программа,
которую вы хотите установить. И если она имеется в системе,
об этом будет сообщено, как показано ниже:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofЭто говорит о том, что lsof (системная
утилита) находится в каталоге
/usr/ports/sysutils/lsof.Ещё одним способом поиска некоторого порта является
использование встроенной возможности поиска в коллекции портов.
Чтобы ею воспользоваться, вы должны находиться в каталоге
/usr/ports. Очутившись в этом каталоге,
выполните команду make search
name=program-name, где
program-name – это
название программы, которую вы хотите найти. Например, если
вы ищете lsof:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps:Вам следует обратить особое внимание на строчку
Path:, так как в ней указывается, где найти порт.
Остальная сообщаемая информация для установки порта не
нужна, поэтому здесь она описываться не будет.Для выполнения более глубокого поиска вы можете также использовать
make search key=string,
где string
представляет собой некоторый текст, который ищется. При этом будет
выполнен поиск в именах портов, комментариях, описаниях и
зависимостях, и его можно использовать для поиска портов, связанных с
некоторой темой, если вы не знаете названия программы, которую вы
ищете.В обоих этих случаях строка поиска нечувствительна к регистру.
Поиск LSOF приводит к тому же самому результату, что и
поиск lsof.ChernLeeТекст предоставил Использование системы пакетовУстановка пакетапакетыустановкаpkg_addДля установки пакетов программного обеспечения для FreeBSD из
локальных файлов или с сервера в сети вы можете использовать утилиту
&man.pkg.add.1;.Загрузка пакета вручную и его локальная установка&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzЕсли у вас нет исходных текстов локальных пакетов (например,
набор CD-ROM с FreeBSD), то проще всего, наверное, воспользоваться
опцией для &man.pkg.add.1;. Это приведёт к тому,
что утилита автоматически определит правильный формат объектных файлов
и релиз, а затем загрузит и установит пакет с сервера FTP.pkg_add&prompt.root; pkg_add -r lsofВ примере выше нужный пакет будет загружен и установлен без всякого
дополнительного взаимодействия с пользователем.
Если вместо основного сайта вы хотите указать другое зеркало пакетов
&os;, то для переопределения используемых по умолчанию значений вам
необходимо задать соответствующим образом значение переменной
PACKAGESITE.
Для загрузки файлов утилита &man.pkg.add.1; использует функцию
&man.fetch.3;, которая принимает во внимание различные переменные
окружения, включая FTP_PASSIVE_MODE,
FTP_PROXY и FTP_PASSWORD. Если вы
находитесь за сетевым экраном или для работы с работы с FTP/HTTP вам
необходимо использовать прокси, то определите соответствующие
переменные. Обратитесь к справочной странице по &man.fetch.3; для
получения полного списка переменных.
Заметьте, что в примере выше вместо
lsof-4.56.4 используется lsof.
При использовании функций загрузки с сети номер версии в имени пакета
должен быть опущен. Утилита &man.pkg.add.1; автоматически загрузит
последнюю версию приложения.Файлы пакетов распространяются в форматах
.tgz и .tbz. Вы можете найти
их по адресу или
взять с дистрибутива FreeBSD на CD-ROM. Каждый CD из комплекта
FreeBSD на 4 дисках (а также PowerPak и тому подобное) содержит
пакеты в каталоге /packages. Расположение
пакетов похоже на то, как организовано дерево
/usr/ports. Каждая категория имеет собственный
каталог, и каждый пакет помещается в каталог
All.Структура каталогов системы пакетов соответствует структуре
системы портов; они взаимодействуют друг с другом для формирования
единой системы пакетов/портов.Управление пакетамипакетыуправление&man.pkg.info.1; является утилитой для вывода списка и описаний
различных установленных пакетов.pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...&man.pkg.version.1; является утилитой для вывода отчёта о версиях
всех установленных пакетов. Она сравнивает версию имеющегося пакета
с текущей версией, находящейся в дереве портов.pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...Символы во второй колонке указывают сравнительную разницу в
возрасте установленной версии и версии, находящейся в локальном дереве
портов.СимволЗначение=Версия установленного пакета соответствует версии,
находящейся в локальном дереве портов.<Установленная версия старее, чем та, что имеется в
дереве портов.>Установленная версия новее чем та, что есть в дереве
портов. (Скорее всего, локальное дерево портов
устарело.)?В индексном файле портов установленный пакет не может быть
найден. (Это может случиться, например, если установленный
порт был удалён из коллекции портов или переименован.)*Имеется несколько версий пакета.Удаление пакетаpkg_deleteпакетыудалениеДля удаления ранее установленных пакетов с программным
обеспечением используйте утилиту &man.pkg.delete.1;.&prompt.root; pkg_delete xchat-1.7.1РазноеВся информация о пакете хранится в каталоге
/var/db/pkg. Список установленных файлов и
описания всех пакетов могут быть найдены среди файлов этого
каталога.Использование Коллекции ПортовВ этих разделах описаны основные приемы использования коллекции
портов для установки и удаления программ из вашей системы.Получение Коллекции ПортовПеред тем, как вы сможете устанавливать порты, вы сначала должны
установить коллекцию портов—она представляет собой в основном
набор файлов Makefile, патчей, файлов описаний, и
она размещается в каталоге /usr/ports.При установке вашей системы FreeBSD утилита
sysinstall запрашивает, требуется ли вам
установка коллекции портов. Если вы ответили отрицательно, то можете
следовать следующим указаниям для установки коллекции портов:Метод с использованием SysinstallВ этом методе повторно используется
- sysinstall для ручной установки коллекции
+ sysinstall
+ (/stand/sysinstall в &os;
+ версий ниже, чем 5.2) для ручной установки коллекции
портов.Работая как пользователь root, запустите
- /stand/sysinstall так, как это показано
+ sysinstall так, как это показано
ниже:
- &prompt.root; /stand/sysinstall
+ &prompt.root; sysinstallОпуститесь вниз и выберите
Configure, нажмите
EnterОпуститесь вниз и выберите
Distributions,
затем нажмите EnterОпуститесь вниз к пункту ports,
нажмите клавишу ПробелПоднимитесь вверх к Exit, нажмите
EnterВыберите желаемый носитель для установки, например, CDROM,
FTP и так далее.Перейдите на пункт меню Exit и
нажмите Enter.Нажмите X для выхода из
sysinstall.Альтернативный метод получения и постоянной актуализации
вашей коллекции портов заключается в использовании
CVSup. Посмотрите на файл
CVSup из портов,
/usr/share/examples/cvsup/ports-supfile.
Прочтите раздел Использование CVSup
() для получения более полной информации об
использовании CVSup и этого файла.Метод с использованием CVSupЭто быстрый способ для получения коллекции портов при помощи
CVSup. Если вы хотите поддерживать ваше
дерево портов в актуальном состоянии, или узнать больше о
CVSup, то прочтите вышеотмеченные
разделы.Установите порт net/cvsup. Обратитесь к разделу
Установка CVSup () для получения более подробной
информации.Работая как пользователь root, скопируйте
/usr/share/examples/cvsup/ports-supfile в
новое место, например, в каталог /root или в
ваш домашний каталог.Отредактируйте ports-supfile.Измените CHANGE_THIS.FreeBSD.org на
близкий к вам сервер CVSup. Посмотрите
Зеркала CVSup () для получения полного списка
зеркалирующих сайтов.Запустите
cvsup&prompt.root; cvsup -g -L 2 /root/ports-supfileПри повторных запусках этой команды все последние изменения
(кроме реального перестроения портов для вашей системы) будут
загружаться и переноситься в вашу коллекцию портов.Установка портовпортыустановкаКогда речь заходит о коллекции портов, то первым делом вы должны
понять, что именно подразумевается под словом скелет.
По сути скелетом порта является минимальный набор файлов, который
указывает вашей системе FreeBSD, как корректно откомпилировать и
установить программу. Скелет каждого порта включает:Makefile. Makefile
содержит различные директивы, которые определяют, как приложение
должно быть откомпилировано и куда в вашей системе оно должно быть
установлено.Файл distinfo. Этот файл содержит
информацию о файлах, которые должны существовать на вашей
системе для успешной сборки порта, и их контрольные суммы, для
проверки при помощи &man.md5.1; того, что файлы в процессе загрузки
не были повреждены.Каталог files. Этот каталог
содержит патчи, использование которых необходимо для компиляции и
установки программы в вашей системе FreeBSD. Патчи - это, как
правило, маленькие файлы, в которых содержатся изменения, которые
нужно внести в какой-то конкретный файл. Они имеют обычный
текстовый формат и в основном содержат указания типа Удалить
строку 10 или Заменить строку 26 на
такую .... Патчи также называются
diff-файлами или просто диффами,
потому что они генерируются программой &man.diff.1;.Этот каталог также может содержать другие файлы, используемые
для построения порта.pkg-descr. Это более подробное,
зачастую многострочное описание программы.pkg-plist. Это список всех файлов,
которые будут установлены портом. В нем также содержатся
указания системе портов на удаление определенных файлов во
время удаления порта.В некоторых портах присутствуют и другие файлы, такие, как
pkg-message. Система портов использует эти файлы
для обработки особых ситуаций. Если вы хотите узнать более подробно
об этих файлах и о портах вообще, то обратитесь к Руководству по созданию
портов для FreeBSD.В порт включаются инструкции
относительно того, как выполнять построение из исходного кода, но не
сам код. Вы можете получить исходный код с CD-ROM или из Интернет.
Исходный код распространяется в том виде, какой предпочёл выбрать
разработчик. Зачастую это tar-файл, обработанный утилитой gzip, но он
может также быть упакованным каким-то другим инструментом или быть
не сжатым. Исходный код программы, в каком бы то виде он ни был,
называется дистрибутивным (distfile). Два метода
установки портов &os; описаны ниже.Для установки портов вы должны войти в систему как пользователь
root.Перед установкой любого порта необходимо убедиться в
наличии свежей коллекции портов и заглянуть на , где могут
освещаться вопросы безопасности, связанные с этим портом.Проверка на наличие уязвимостей может быть автоматически
выполнена portaudit перед установкой
нового приложения. Эту программу можно найти в коллекции портов
(security/portaudit).
Запустите portaudit -F перед установкой
нового порта для загрузки свежей базы данных уязвимостей.
Проверка безопасности и обновление базы данных должны
выполняться при повседневной проверке безопасности системы.
За дальнейшей информацией обращайтесь к страницам справочника
&man.portaudit.1; и &man.periodic.8;.Установка портов с CD-ROMпортыустановка с CD-ROMОфициальные образы CD-ROM Проекта FreeBSD больше не содержат
дистрибутивные файлы. На них есть достаточно места, которое лучше
использовать для предкомпилированных пакетов. Продукты на CD-ROM,
такие, как FreeBSD PowerPak, включают дистрибутивные файлы, и вы
можете заказать их от таких поставщиков, как FreeBSD Mall. В этом
разделе предполагается, что у вас есть такой набор CD-ROM с
FreeBSD.Вставьте ваш CD-ROM с FreeBSD в привод. Смонтируйте его в
каталог /cdrom. (Если вы используете другую
точку монтирования, то установка работать не будет.) Чтобы начать,
перейдите в каталог с портом, который вы хотите установить:&prompt.root; cd /usr/ports/sysutils/lsofОказавшись в каталоге lsof, вы увидите
структуру порта. Следующим шагом является компиляция, или построение
(build) порта. Это выполняется простой выдачей
команды make в ответ на приглашение командного
процессора. Как только вы это сделаете, то увидите выдачу,
выглядящую примерно так:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> Extracting for lsof-4.57
...
[выдача при распаковке опущена]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[выдача при конфигурации опущена]
...
===> Building for lsof-4.57
...
[выдача при компиляции опущена]
...
&prompt.root;Заметьте, что, как только компиляция закончится, вы снова
вернётесь к приглашению вашего командного процессора. Следующим
шагом является установка порта. Чтобы это сделать, вам нужно просто
добавить одно слово к команде make, а именно слово
install:&prompt.root; make install
===> Installing for lsof-4.57
...
[выдача при установке опущена]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Как только вы вернулись к приглашению вашей оболочки, вы должны
суметь запустить приложение, которое только что установили. Так как
lsof является программой, которая запускается с
повышенными правами, то выдаётся предупреждение о безопасности. Во
время построения и установки портов вы должны принимать во внимание
все выдаваемые предупреждения.Вы можете сэкономить лишний шаг, просто выдав команду
make install вместо make и
последующей make install в двух отдельных
шагах.Некоторые командные процессоры для ускорения поиска выполнимых
файлов и команд кэшируют имена таких программ, которые доступны для
вызова из каталогов, перечисленных в переменной окружения
PATH. Если вы используете один из таких командных
процессоров, то перед использованием только что добавленных команд
вам может понадобиться вызвать директиву rehash
после установки порта. Это верно как для оболочек, являющихся
частями базового системного набора (например,
tcsh), так и командных процессоров, доступных в
виде портов (например, shells/zsh).Пожалуйста, будьте готовы к тому, что лицензии некоторых
портов не позволяют помещать их на CD-ROM. Это может
делаться из-за обязательности заполнения регистрационной формы
перед загрузкой или запрета на дальнейшее распространение, либо по
какой-то другой причине. Если вы хотите установить порт, которого
нет на CD-ROM, вам нужно иметь подключение к Интернет, чтобы это
сделать (обратитесь к следующему разделу).Установка портов из ИнтернетКак и в предыдущем разделе, здесь предполагается, что у вас
имеется работающее подключение к Интернет. Если это не ваш случай,
вам нужно выполнять установку с
CD-ROM либо поместить копию дистрибутивного файла в каталог
/usr/ports/distfiles вручную.Установка порта из Интернет производится точно так же, как если
бы делали её с CD-ROM. Единственным отличием между ними
является тот факт, что дистрибутивный файл загружается из Интернет, а
не считывается с CD-ROM.Выполняются те же самые шаги:&prompt.root; make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> Extracting for lsof-4.57
...
[выдача при распаковке опущена]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[выдача процесса конфигурации опущена]
...
===> Building for lsof-4.57
...
[выдача компиляции опущена]
...
===> Installing for lsof-4.57
...
[выдача процедуры установки опущена]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Как вы видите, единственным отличием является строка, в которой
указывается, откуда система загружает дистрибутивный файл
порта.Для загрузки файлов система портов использует утилиту
&man.fetch.1;, которая принимает во внимание различные переменные
окружения, включая FTP_PASSIVE_MODE,
FTP_PROXY и FTP_PASSWORD. Если вы
находитесь за сетевым экраном или для работы с работы с FTP/HTTP вам
необходимо использовать прокси, то определите соответствующие
переменные. Обратитесь к справочной странице по &man.fetch.3; для
получения полного списка переменных.Пользователям, которые не могут быть постоянно подключенными
к сети, поможет команда make
fetch. Просто запустите эту
команду в каталоге самого верхнего уровня
(/usr/ports), и требуемые файлы будут загружены.
Эта команда будут работать также и с вложенными категориями,
например: /usr/ports/net.
Заметьте, что если порт имеет зависимости от библиотек или других
портов, то он не будет также загружать
дистрибутивные файлы этих портов. Замените
fetch на
fetch-recursive, если вы хотите выполнить
загрузку также и всех этих зависимостей порта.Вы можете построить все порты в категории за раз, запустив
команду make в каталоге верхнего уровня, как и
в вышеописанном методе с make
fetch. Однако это опасно, так как
некоторые порты не могут сосуществовать. В других случаях
некоторые порты могут устанавливать два различных файла с одним и
тем же именем.В некоторых редких случая пользователям необходимо получить
tar-архивы с сайтов, отличающихся от MASTER_SITES
(это место, откуда файлы обычно загружаются). Вы можете
переопределять значение MASTER_SITES посредством
следующей команды:&prompt.root; cd /usr/ports/directory
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchВ этом примере мы изменили значение переменной
MASTER_SITES на
ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.Некоторые порты позволяют (или даже требуют) задавать
параметры, которые включают или выключают построение отдельных
частей приложения, которые не нужны, некоторые параметры
безопасности, а также прочие настройки. К некоторым из них, часто
упоминаемым, относятся
пакеты www/mozilla,
security/gpgme и
mail/sylpheed-claws. При
наличии подобных параметров будет выдано сообщение.Переназначение каталогов с портами по умолчаниюИногда бывает полезным (или необходимым) использование
других каталогов с портами и дистрибутивными файлами. Для
переопределения каталогов, используемых по умолчанию, используются
переменные PORTSDIR и PREFIX.
К примеру:&prompt.root; make PORTSDIR=/usr/home/example/ports installбудет компилировать порт в каталоге
/usr/home/example/ports, а установит всё в
/usr/local.&prompt.root; make PREFIX=/usr/home/example/local installбудет компилировать его в каталоге
/usr/ports, а установит в
/usr/home/example/local.И, конечно,&prompt.root; make PORTSDIR=../ports PREFIX=../local installиспользует обе возможности (полная команда слишком длинна для
написания на этой странице, однако вы должны уловить общую
идею).Альтернативным способом является задание значений этих переменных
в параметрах вашего окружения. Обратитесь к страницам справки по
вашему командному процессору для получения инструкций о том, как это
сделать.Работа с imakeНекоторые порты, использующие imake (часть
X Window System) нормально не работают с PREFIX,
и будут пытаться установиться в дерево
/usr/X11R6. Аналогично некоторые Perl-порты
игнорируют значения PREFIX и устанавливаются в
дерево Perl. Заставить такие порты воспринимать переменную
PREFIX является сложной или невыполнимой
задачей.Удаление установленных портовпортыудалениеТеперь, когда вы знаете, как устанавливать порты, вы наверное, уже
задумывались о том, как же их удалять, просто даже на тот случай, если
вы установили один из них, а позже решили, что установили не тот порт.
Мы удалим порт из нашего предыдущего примера (а это была программа
lsof, если вы обратили внимание). Как и при
установке портов, первым делом вы должны перейти в каталог с портом,
/usr/ports/sysutils/lsof. После смены каталога вы
готовы к удалению xchat. Это делается командой
make deinstall:&prompt.root; cd /usr/ports/sysutils/lsof
&prompt.root; make deinstall
===> Deinstalling for lsof-4.57Это было достаточно легко. Вы удалили lsof из
вашей системы. Если вам захочется переустановить эту программу, то это
можно будет сделать, выдав команду make reinstall
из каталога /usr/ports/sysutils/lsof.Последовательность команд make deinstall и
make reinstall не сработает, если вы запустите
команду make clean. Если вы хотите убрать порт из
системы после зачистки каталога, используйте команду
&man.pkg.delete.1;, как это описано в разделе о пакетах Руководства.Порты и дисковое пространствопортыдисковое пространство
- Использование коллекции портов может определённо стоить вам
+ Использование коллекции портов со временем требует все больше
дискового пространства. По этой причине вы не должны забывать о
- зачистке рабочих каталогов при помощи команды make
+ очистке каталогов work
+ при помощи команды make
clean. При этом будет удаляться каталог
- work, возникающий после построения и установки
- порта. Вы можете также удалить tar-файлы из каталога
- distfiles, а позже удалить установленные порты,
- если они не используются.
+ work, возникающий после
+ построения и установки порта. Вы можете также удалить исходные
+ файлы программы из каталога distfiles, а позже удалить
+ установленные порты, если они более не используются.
- Некоторые пользователи ограничивают набор категорий портов,
+ Некоторые пользователи ограничивают набор доступных категорий портов,
помещая в файл refuse соответствующую запись.
- В этом случае при запуске программы CVSup
+ В этом случае, при запуске программы CVSup
она не будет загружать файлы из указанных категорий. Дополнительную
информацию, относящуюся к файлу refuse, можно
найти в .Обновление портовportupgradeпортыобновлениеПосле обновления коллекции портов, и перед тем, как обновить
приложение из порта, сверьтесь с файлом
/usr/ports/UPDATING. В нем дана информация
по различным вопросам и дополнительным шагам, которые
могут быть необходимы для обновления порта.Поддержание ваших портов в актуальном состоянии может оказаться
нудным занятием. К примеру, чтобы обновить порт, вам нужно перейти в
каталог с портами, построить порт, удалить старый порт, установить
новый, а затем вычистить его после построения. Представьте, сколько
действий (пять) нужно сделать! Скучно, да? Это было большой
проблемой для системных администраторов, но теперь есть утилиты,
выполняющие эти действия за нас. Например, утилита
sysutils/portupgrade сделает всё за
вас сама! Просто установите её, как обычный порт, при помощи команды
make install clean.Теперь создайте базу данных командой pkgdb -F.
Она выяснит перечень установленных портов и создаст файл базы данных
в каталоге /var/db/pkg. Теперь при вызове
команды portupgrade -a, она будет использовать эту
базу данных и файл портов INDEX. Наконец,
portupgrade загрузит, построит, сделает
резервную копию, установит и очистит порты, которые были обновлены.
portupgrade имеет массу параметров для
использования в разных ситуациях, из которых наибольшего внимания
заслуживает описываемая далее.Если вы хотите обновить только определённое приложение, но не
полностью базу данных, используйте portupgrade
pkgname, с флагом
, если portupgrade
должен отработать все пакеты, которые зависят от указанного, и
использовать флаг для отработки всех пакетов,
которые требуют указанные пакеты.Для использования при установке пакетов, а не портов, укажите
флаг . С этим параметром
portupgrade будет искать пакеты в
локальных каталогах, указанных в переменной окружения
PKG_PATH, или, если не найдет их, загрузит с
удаленного сайта. Если пакеты не могут быть найдены локально
или загружены удаленно, portupgrade
использует порты. Чтобы запретить использование портов,
укажите .Для простой
загрузки дистрибутивных файлов без построения или установки чего бы то
ни было, задайте флаг . Дополнительную информацию
можно получить на странице справки по
утилите &man.portupgrade.1;.Важно регулярно обновлять базу данных пакетов при помощи
команды pkgdb -F для восстановления целостности,
особенно когда portupgrade запрашивает
вас это сделать. Не прерывайте работы
portupgrade при обновлении базы данных
пакетов, это может привести к рассогласованию данных.Существуют и другие утилиты, которые делают подобные вещи,
посмотрите в каталоге ports/sysutils и выберите
то, что вам подходит.Действия после установкиПосле установки нового приложения вам обычно требуется прочесть
какую-либо документацию, если она есть, отредактировать нужные
конфигурационные файлы, проверить, что приложение запускается во время
загрузки системы (если это даемон), и так далее.Очевидно, что в шаги, в точности требуемые для конфигурации каждого
приложения, отличаются. Однако, если если вы только что установили
новое приложение и вам интересно, Что же дальше?, то вам
могут помочь следующие советы:Воспользуйтесь командой &man.pkg.info.1; для определения того,
куда и какие файлы были установлены. К примеру, если вы только что
установили FooPackage версии 1.0.0, то по команде&prompt.root; pkg_info -L foopackage-1.0.0 | lessбудут выведен список всех файлов, установленных пакетов.
Обратите особое внимание на файлы в каталогах
man/, которые являются справочными страницами,
etc/, которые будут являться конфигурационными
файлами, и doc/, которые будут являться более
подробной документацией.Если вы не уверены, какая версия приложения была только что
установлена, то по команде типа&prompt.root; pkg_info | grep -i foopackageбудут выведен список всех установленных пакетов, в названии
которых присутствует foopackage Замените
foopackage в командной строке на то, что вам
нужно.Как только вы определите, куда были установлены справочные
страницы приложения, просмотрите их при помощи команды &man.man.1;.
Подобным же образом просмотрите примеры конфигурационных файлов и
всю дополнительную документацию, которая была поставлена.Если у приложения имеется веб-сервер, поищите там дополнительную
документацию, ответы на часто задаваемые вопросами и так далее. Если
вы не уверены, каков адрес веб-сайта, он может быть указан в выводе
команды&prompt.root; pkg_info foopackage-1.0.0Строка WWW:, если она есть, должна содержать
URL Web-сайта приложения.Порты, которые должны запускаться при загрузке системы (такие,
как серверы Internet), как правило, устанавливают примерный скрипт в
каталог /usr/local/etc/rc.d. Вы должны
просмотреть скрипт на предмет его корректности и отредактировать или
переименовать его, если это нужно. Обратитесь к разделу о Запуске сервисов для
получения более полной информации.Обработка нерабочих портовЕсли вы встретили порт, который у вас не работает, есть несколько
вещей, которые вы можете сделать, а именно:Исправьте его! В Руководстве по созданию
портов содержится подробная информация об инфраструктуре
Портов, так что вы сможете исправить иногда
встречающиеся порты с ошибками или даже создать собственные!Надавите—только по электронной
почте! Сначала пошлите письмо человеку, сопровождающему
порт. Наберите команду make maintainer или
прочтите Makefile, чтобы найти его адрес. Не
забудьте указать имя и версию порта (скопировав строчку
$FreeBSD: из файла
Makefile) и включите в письмо весь
вывод, предшествующий возникновению ошибки.
Если вы не получили ответа от этого человека, то можете
воспользоваться командой &man.send-pr.1; для посылки
сообщения об ошибке.Загрузите пакет с ближайшего к вам FTP-сервера.
Основная коллекция пакетов находится на сервере
ftp.FreeBSD.org в каталоге
с пакетами, но первым делом проверьте
местное зеркало! Это, скорее всего, будет работать, и сделать это,
кроме того, будет гораздо быстрее, чем пытаться компилировать порты
из исходного кода. Воспользуйтесь программой &man.pkg.add.1; для
установки пакета в вашей системе.
diff --git a/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml b/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml
index 13277f52ad..d4e69e796b 100644
--- a/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/x11/chapter.sgml
@@ -1,1894 +1,1896 @@
KenTomОбновил для сервера X.Org's X11 MarcFonvieilleАндрейЗахватовПеревод на русский язык: X Window SystemОбзорFreeBSD использует X11 для того, чтобы дать пользователям мощный
графический интерфейс. X11 является открытой реализацией
X Window System, включая &xorg; и
&xfree86;. В версиях &os; до и включая
&os; 4.10-RELEASE и &os; 5.2.1-RELEASE сервером X11
по умолчанию был &xfree86;, выпускаемый
The &xfree86; Project, Inc. Начиная с &os; 5.3-RELEASE,
официальной версией X11 по умолчанию стал
&xorg;, разработанный
X.Org Foundation.Эта глава посвящена установке и настройке
X11 в системе FreeBSD, с акцентом на
&xorg;.За дополнительной информацией по видео оборудованию, поддерживаемому
X11, обратитесь к веб сайтам
&xorg; или
&xfree86;.После чтения этой главы вы будете знать:Как установить и настроить X11.Различные компоненты X Window System и их
взаимодействие.Как установить и использовать различные оконные менеджеры.Как использовать шрифты &truetype; в X11.Как настроить вашу систему на графический интерфейс входа
(XDM).Перед чтением этой главы вы должны:Знать, как устанавливать дополнительное программное обеспечение
сторонних разработчиков ().В этой главе описана установка и настройка серверов X11 и
&xorg; и
&xfree86;. По большей части
файлы настройки, команды и синтаксис идентичны.
Там, где есть различия, приводится синтаксис и
&xorg; и
&xfree86;.Основы XПервое знакомство с X может оказаться чем-то вроде шока для тех, кто
работал с другими графическими системами, такими, как µsoft.windows;
или &macos;.Хотя нет необходимости вникать во все детали различных компонентов X и
их взаимодействия, некоторые базовые знания делают возможным
использование сильных сторон X.Почему именно X?X не является первой оконной системой для &unix;, но она является
самой популярной из них. До работы над X команда ее разработчиков трудилась
над другой оконной системой. Та система называлась W
(от Window). X была просто следующей
буквой в романском алфавите.X можно называть X, X Window System,
X11 и множеством других терминов. Факт использования названия
X Windows для X11 может задеть интересы некоторых
людей; дополнительную информацию по этому поводу можно найти на
странице справочной системы &man.X.7;.Модель клиент/сервер в XX изначально разрабатывалась, чтобы быть системой, ориентированной
на работу в сети с использованием модели
клиент-сервер.В модели работы X X-сервер работает на компьютере с
клавиатурой, монитором и мышью. Ответственность сервера включает управление
дисплеем, обработку ввода с клавиатуры и мыши и так далее. Каждое
X-приложение (например, XTerm или
&netscape;) является
клиентом. Клиент посылает сообщения серверу, такие,
как Пожалуйста, нарисуй окно со следующими координатами,
а сервер посылает в ответ сообщения типа Пользователь только что
щёлкнул мышью на кнопке OK.В случае
использования дома или в офисе, сервер и клиенты X как правило будут работать на
том же самом компьютере. Однако реально возможно запускать X-сервер
на менее мощном настольном компьютере, а приложения X (клиенты) на,
скажем, мощной и дорогой машине, обслуживающей целый офис. В этом
сценарии X-клиент и сервер общаются через сеть.Некоторых это вводит в заблуждение, потому что терминология X
в точности обратна тому, что они ожидают. Они полагают, что
X-сервер будет большой мощной машиной, стоящей на полу,
а X-клиентом является машина, стоящая на их
столах.Важно помнить, что X-сервером является машина с монитором и
клавиатурой, а X-клиенты являются программами, выводящими окна.В протоколе нет ничего, что заставляет машины клиента и сервера
работать под управлением одной и той же операционной системы, или
даже быть одним и тем же типом компьютера. Определённо возможно
запускать X-сервер в µsoft.windows; или &macos; от Apple, и есть
множество свободно распространяемых и коммерческих приложений, которые
это реализуют.Начиная с &os; 5.3-RELEASE, X-сервер, поставляемый с FreeBSD, называется
&xorg;, и он распространяется свободно
под лицензией, очень похожей на условия распространения FreeBSD.
Имеются и коммерческие X-серверы для FreeBSD.Оконный менеджерФилософия построения X очень похожа на философию построения &unix;,
инструменты, не политика. Это значит, что X не пытаются
диктовать то, как должна быть выполнена работа. Вместо этого
пользователю предоставляются инструменты, а за пользователем остается
принятие решения о том, как использовать эти инструменты.Этот подход расширен в X тем, что не задается, как окна должны
выглядеть на экране, как их двигать мышью, какие комбинации клавиш
должны использоваться для переключения между окнами (то есть
AltTab, в случае использования µsoft.windows;), как должны
выглядеть заголовки окон, должны ли в них быть кнопки для закрытия, и
прочее.Вместо этого X делегирует ответственность за это приложению,
которое называется Window Manager (Менеджер Окон). Есть
десятки оконных менеджеров для X: AfterStep,
Blackbox, ctwm,
Enlightenment,
fvwm, Sawfish,
twm,
WindowMaker и другие. Каждый из этих
оконных менеджеров предоставляет различные внешние виды и удобства;
некоторые из них поддерживают виртуальные рабочие столы;
некоторые из них позволяют изменять назначения комбинаций
клавиш, используемых для управления рабочим столом; в некоторых есть
кнопка Start или нечто подобное; некоторые поддерживают
темы, позволяя изменять внешний вид, поменяв тему.
Эти оконные менеджеры, а также множество
других, находятся в категории x11-wm коллекции
Портов.Кроме того, оболочки KDE и
GNOME обе имеют собственные оконные
менеджеры, которые интегрированы с оболочкой.Каждый оконный менеджер также имеет собственный механизм настройки;
некоторые предполагают наличие вручную созданного конфигурационного
файла; некоторые предоставляют графические инструменты для выполнения
большинства работ по настройке; по крайней мере один
(Sawfish) имеет конфигурационный файл,
написанный на диалекте языка Lisp.Политика фокусированияДругой особенностью, за которую отвечает оконный менеджер,
является политика фокусирования мыши. Каждая оконная
система должна иметь некоторый способ выбора окна для активации
получения нажатий клавиш, а также визуальную индикацию того, какое
окно активно.Широкоизвестная политика фокусировки называется
click-to-focus. Эта модель используется в
µsoft.windows;, когда окно становится активным после получения
щелчка мыши.X не поддерживает никакой конкретной политики фокусирования.
Вместо этого менеджер окон управляет тем, какое окно владеет фокусом
в каждый конкретный момент времени. Различные оконные менеджеры
поддерживают разные методы фокусирования. Все они поддерживают метод
щелчка для фокусирования, и большинство из них поддерживают некоторые
другие методы.Самыми популярными политики фокусирования являются:focus-follows-mouse (фокус следует за мышью)Фокусом владеет то окно, что находится под
указателем мыши. Это не обязательно будет окно, которое
находится поверх всех остальных. Фокус меняется при
указании на другое окно, при этом также нет нужды щёлкать на
нём.sloppy-focus (нечеткий фокус)С политикой focus-follows-mouse если мышь помещается
поверх корневого окна (или заднего фона), то никакое окно
фокус не получает, а нажатия клавиш просто пропадают.
При использовании политики нечёткого фокуса он меняется
только когда курсор попадает на новое окно, но не когда
уходит с текущего окна.щелчок для выбора фокусаАктивное окно выбирается щелчком мыши. Затем окно
может быть поднято и появиться поверх всех
других окон. Все нажатия клавиш теперь будут направляться
в это окно, даже если курсор переместится к другому.Многие оконный менеджер поддерживают и другие политики, а также
вариации перечисленных. Обязательно обращайтесь к документации по
оконному менеджеру.ВиджетыПодход X, заключающийся в предоставлении инструментов, а не
политики, распространяется и на виджеты, которые располагаются на
экране в каждом приложении.Виджет (widget) является термином для всего в
пользовательском интерфейсе, на чём можно
щёлкать или каким-то образом управлять; кнопки, зависимые (radio
buttons) и независимые (check boxes) кнопки, иконки, списки и так
далее. В µsoft.windows; это называется элементами
управления (controls).µsoft.windows; и &macos; от Apple обе имеют очень жёсткую
политику относительно виджетов. Предполагается, что разрабатываемые
приложения обязательно должны иметь похожий внешний вид. Что касается
X, то было решено, что не нужно требовать обязательного использования
какого-то определённого графического стиля или набора виджетов.В результате не стоит ожидать от X-приложений
похожести во внешнем виде. Существует несколько популярных наборов
виджетов и их разновидностей, включая оригинальный набор виджетов
Athena от MIT, &motif; (по
образу которого был разработан набор виджетов в µsoft.windows;,
все эти скошенные углы и три разновидности серого цвета),
OpenLook и другие.В большинстве появляющихся в настоящее время приложений для X будет
использоваться современно выглядящий набор виджетов, либо Qt,
используемый в KDE, либо
GTK+, используемый проектом
GNOME. В этом отношении наблюдается
унификация внешнего вида рабочего стола в &unix;, что определённо
облегчает жизнь начинающему пользователю.Установка X11На &os; могут быть установлены &xorg;
или &xfree86;. Начиная с
&os; 5.3-RELEASE, &xorg; является
для &os; версией X11 по умолчанию. &xorg;
- это сервер X11 дистрибутива X11R6.7, выпущенный X.Org
- Foundation. X11R6.7 основан на коде
+ это сервер X дистрибутива открытой реализации X Window System,
+ выпущенной X.Org Foundation. &xorg; основан на коде
&xfree86 4.4RC2 и X11R6.6.
- X.Org Foundation выпустил X11R6.7 в апреле 2004 года.
+ X.Org Foundation выпустил X11R6.7 в апреле 2004 года, а
+ X11R6.8.1 в сентябре 2004; эта версия доступна из коллекции
+ портов &os;.
Для сборки и установки &xorg; из
коллекции портов, выполните:&prompt.root; cd /usr/ports/x11/xorg
&prompt.root; make install cleanПеред сборкой полной версии &xorg;
удостоверьтесь в наличии хотя бы 4 GB свободного места.Для сборки и установки &xfree86;
из коллекции портов:&prompt.root; cd /usr/ports/x11/XFree86-4
&prompt.root; make install cleanКроме того, X11 может быть установлен непосредственно из
пакетов. Бинарные пакеты, устанавливаемые &man.pkg.add.1;,
доступны и для X11. Когда &man.pkg.add.1; используется для удаленной
загрузки пакетов, номер версии пакета необходимо удалить.
&man.pkg.add.1; автоматически установит последнюю версию
приложения.Таким образом, для загрузки и установки пакета
&xorg;, просто наберите:&prompt.root; pkg_add -r xorgПакет &xfree86; 4.X может быть
установлен командой:
- &prompt.root; pkg-add -r XFree86
+ &prompt.root; pkg_add -r XFree86В примерах выше будет установлен полный дистрибутив
X11, включая серверы, клиенты, шрифты
и так далее. Также доступны и отдельные пакеты и порты для
различных частей X11.В оставшейся части главы будет рассказано о том, как сконфигурировать
X11 и настроить рабочее окружение.Замена &xfree86; на
&xorg;Как и с любым портом, вам необходимо проверить файл
/usr/ports/UPDATING на наличие изменений.
Инструкции по переходу с &xfree86;
на &xorg; включены в этот
файл.Используйте CVSup для обновления
дерева портов перед любой переустановкой. Для замены
X11 вам также потребуется установить sysutils/portupgrade.В файл /etc/make.conf необходимо
добавить переменную X_WINDOW_SYSTEM=xorg.
Это необходимо, чтобы система знала, какой X11 используется.
Старая переменная XFREE86_VERSION не используется,
она заменена переменной X_WINDOW_SYSTEM.Затем используйте следующие команды:&prompt.root; pkg_delete -f /var/db/pkg/imake-4* /var/db/pkg/XFree86-*
&prompt.root; cd /usr/ports/x11/xorg
&prompt.root; make install clean
&prompt.root; pkgdb -FКоманда &man.pkgdb.1; является частью программы
portupgrade, она обновит
различные зависимости пакетов.Перед сборкой полной версии &xorg;
удостоверьтесь в наличии хотя бы 4 GB свободного места.ChristopherShumwayТекст предоставил Конфигурация X11&xfree86; 4.X&xfree86;&xorg;X11Перед тем, как начатьПеред настройкой X11
необходима следующая информация о конфигурируемой системе:Характеристики монитораНабор микросхем, используемый в видеоадаптереОбъём видеопамятичастота горизонтальной разверткичастота вертикальной разверткиХарактеристики монитора используются в
X11 для определения рабочего
разрешения и частоты. Эти характеристики обычно могут быть получены из
документации, которая прилагается к монитору или с сайта производителя.
Тут нужны два диапазона значений, для частоты горизонтальной развёртки
и для частоты вертикальной синхронизации.Набор микросхем графического адаптера определяет, модуль какого
драйвера использует X11 для работы с
графическим оборудованием.
Для большинства типов микросхем это может быть определено
автоматически, но все же его полезно знать на тот случай, когда
автоматическое определение не работает правильно.Объём видеопамяти графического адаптера определяет разрешение и
глубину цвета, с которым может работать система. Это важно, чтобы
пользователь знал ограничения системы.Конфигурирование X11Процесс настройки X11 является
многошаговым. Первый шаг заключается в построении начального
конфигурационного файла. Работая с правами суперпользователя,
просто запустите:&prompt.root; Xorg -configureДля &xfree86; запустите:&prompt.root; XFree86 -configureПри этом в каталоге /root будет создан скелет
конфигурационного файла X11 под именем
xorg.conf.new (там, куда после &man.su.1; или
непосредственного входа будет указывать переменная
$HOME). Для &xfree86;,
этот файл называется XF86Config.new. Программа
X11 сделает попытку распознать графическое оборудование системы и
запишет конфигурационный файл, загружающий правильные драйверы для
обнаруженного оборудования в системе.Следующим шагом является тестирование существующей конфигурации для
проверки того, что &xorg; может работать
с графическим оборудованием в настраиваемой системе. Для этого
выполните:&prompt.root; Xorg -config xorg.conf.newПользователям &xfree86; необходимо
выполнить:&prompt.root; XFree86 -xf86config XF86Config.newЕсли появилась чёрно-белая сетка и курсор мыши в виде
X, то настройка была выполнена успешно. Для завершения тестирования
просто нажмите одновременно
CtrlAltBackspace.Если мышь не работает, его необходимо настроить.
Обратитесь к в главе об установке
&os;.Тонкая настройка X11Теперь выполните тонкую настройку в файле
xorg.conf.new по своему вкусу (или
XF86Config.new, если вы работаете с
&xfree86;).
Откройте файл в текстовом редакторе, таком, как &man.emacs.1; или
&man.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)
с поддерживающими её мониторами. Программа &man.xset.1; управляет
временными задержками и может явно задавать режимы ожидания, останова
и выключения. Если вы хотите включить использование возможностей
DPMS вашего монитора, вы должны добавить следующую строку в раздел,
описывающий монитор:Option "DPMS"xorg.confXF86ConfigПока файл конфигурации 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 описывает
глубину цвета, с которой будет работа по умолчанию. Это значение
может быть переопределено при помощи параметра командной строки
для &man.Xorg.1; (или &man.XFree86.1;).
Ключевое слово
Modes описывает разрешение, с которым нужно
работать при данной глубине цвета. Заметьте, что поддерживаются
только те стандартные режимы VESA, что определены графическим
оборудованием настраиваемой системы. В примере выше глубина цвета по
умолчанию равна двадцати четырём битам на пиксел. При такой глубине
цвета принимается разрешение в 1024 на 768 точек.Наконец, запишите конфигурационный файл и
протестируйте его при помощи тестового режима, описанного выше.При решении проблем могут помочь лог файлы X11, в которых
находится информация по каждому устройству, к которому
подключен сервер X11. Лог файлам
&xorg; названия даются в формате
/var/log/Xorg.0.log (лог файлам
&xfree86; названия даются в формате
XFree86.0.log). Имена лог файлам
могут даваться от Xorg.0.log до
Xorg.8.log и так далее.Если все в порядке, то конфигурационный файл нужно установить в
общедоступное место, где его сможет найти &man.Xorg.1; (или
&man.XFree86.1;).
Обычно это /etc/X11/xorg.conf или
/usr/X11R6/etc/X11/xorg.conf
(для &xfree86; это
/etc/X11/XF86Config или
/usr/X11R6/etc/X11/XF86Config).&prompt.root; cp xorg.conf.new /etc/X11/xorg.confДля &xfree86;:&prompt.root; cp XF86Config.new /etc/X11/XF86ConfigТеперь процесс настройки X11 завершен. Для запуска
&xfree86; 4.X посредством &man.startx.1;
установите порт x11/wrapper.
В &xorg; уже включен код wrapper, и
установка его из порта не требуется. X11 можно также запустить через
&man.xdm.1;.Имеется также графический инструмент для настройки,
&man.xorgcfg.1; (&man.xf86cfg.1; для
&xfree86;), который включён в
дистрибутив X11. Он позволяет выполнить
настройку в интерактивном режиме посредством выбора соответствующих
драйверов и настроек. Эта программа может быть запущена в консоли
командой xf86cfg -textmode. Для получения более
полной информации обратитесь к странице справочной системы
&man.xorgcfg.1; или &man.xf86cfg.1;.Кроме того, существует программа настройки &man.xorgconfig.1;
(&man.xf86config.1; для &xfree86;),
это консольная утилита, которая менее дружественна к пользователю,
но может работать в ситуациях, в которых другие утилиты не
работают.Тонкие вопросы настройкиКонфигурирование при работе с графическими чипсетами &intel;
i810графический чипсет Intel i810Конфигурирование при работе с интегрированными наборами микросхем
&intel; i810 требует наличия agpgart,
программного интерфейса AGP, посредством которого
X11 будет управлять адаптером.
Драйвер &man.agp.4; присутствует в ядре GENERIC
с момента выпуска 4.8-RELEASE и 5.0-RELEASE. Для предшествующих
релизов вам нужно добавлять такую строку:device agpв конфигурационный файл вашего ядра и перестраивать новое ядро.
Однако вместо этого вы можете подгружать модуль ядра
agp.ko автоматически во время загрузки системы
при помощи &man.loader.8;. Для этого просто добавьте следующую
строку в файл /boot/loader.conf:agp_load="YES"Затем, в случае использования FreeBSD 4.X или более ранних
её версий, для программного интерфейса должен быть создан файл
устройств. Для создания файла устройств для AGP запустите
&man.MAKEDEV.8; в каталоге /dev:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV agpgartВо FreeBSD 5.X и более поздних версиях будет
использоваться &man.devfs.5; для выделения файлов устройств в
прозрачном режиме, поэтому шаг с &man.MAKEDEV.8; не нужен.Это позволит конфигурировать графическое оборудование точно так
же, как и любой другой графический адаптер. Заметьте, что для
систем, у которых драйвер &man.agp.4; в ядро не вкомпилирован,
попытка погрузить модуль с помощью &man.kldload.8; окончится
неудачно. Этот драйвер должен оказаться в ядре во время загрузки,
либо вкомпилированным, либо подгруженным посредством
/boot/loader.conf.Если вы используете &xfree86; 4.1.0
(или более позднюю версию), и выдаются сообщения о неразрешённых
ссылках типа fbPictureInit, попробуйте добавить
такую строчку после Driver "i810" в
конфигурационном файле X11:Option "NoDDC"MurrayStokelyТекст предоставил Использование шрифтов в X11Шрифты Type1Шрифты, используемые по умолчанию и распространяемые вместе с
X11, вряд ли можно назвать идеально
подходящими для применения в обычных издательских приложениях. Большие
презентационные шрифты выглядят рвано и непрофессионально, а мелкие
шрифты в &netscape; вообще невозможно
разобрать. Однако есть некоторое количество свободно распространяемых
высококачественных шрифтов Type1 (&postscript;), которые можно без
изменений использовать с X11. К примеру, в наборе шрифтов URW
(x11-fonts/urwfonts) имеются
высококачественные версии стандартных шрифтов type1 (Times Roman, Helvetica, Palatino и другие). В набор Freefonts
(x11-fonts/freefonts) включено ещё
больше шрифтов, однако большинство из них предназначено для
использования в программном обеспечении для работы с графикой,
например, Gimp, и они не вполне пригодны
для использования в качестве
экранных шрифтов. Кроме того, X11 с
минимальными усилиями может быть настроена на использование шрифтов
&truetype;. Более детальная информация находится на странице
справочной системы &man.X.7; и в разделе о
шрифтах &truetype; ниже.Для установки вышеупомянутых коллекций шрифтов Type1 из коллекции
портов выполните следующие команды:&prompt.root; cd /usr/ports/x11-fonts/urwfonts
&prompt.root; make install cleanТо же самое нужно будет сделать для коллекции freefont и других.
Чтобы X-сервер обнаруживал
этих шрифты, добавьте соответствующую строку в
файл настройки X сервера /etc/X11/
(xorg.conf для
&xorg; и
XF86Config для
&xfree86;),
которая должна выглядеть так:FontPath "/usr/X11R6/lib/X11/fonts/URW/"Либо из командной строки при работе с X выполните:&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/URW
&prompt.user; xset fp rehashЭто сработает, но будет потеряно, когда сеанс работы с X будет
закрыт, если эта команда не будет добавлена в начальный файл
(~/.xinitrc в случае обычного сеанса через
startx
или ~/.xsession при входе через графический
менеджер типа XDM). Третий способ
заключается в использовании нового файла
/usr/X11R6/etc/fonts/local.conf: посмотрите
раздел об антиалиасинге.Шрифты &truetype;Шрифты TrueTypeшрифты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.&prompt.root; cd /usr/X11R6/lib/X11/fonts/TrueType
&prompt.root; ttmkfdir > fonts.dirПосле этого добавьте каталог со шрифтами &truetype;
к маршруту поиска шрифтов. Это делается точно также, как описано выше
для шрифтов Type1, то есть
выполните&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
&prompt.user; xset fp rehashили добавьте строку в файл
xorg.conf (или
XF86Config).Это всё. Теперь &netscape;,
Gimp,
&staroffice; и все остальные X-приложения
должны увидеть установленные шрифты &truetype;. Очень маленькие (как
текст веб-страницы на дисплее с высоким разрешением) и очень большие (в
&staroffice;) шрифты будут теперь выглядеть
гораздо лучше.Joe MarcusClarkeОбновление выполнил Антиалиасинг шрифтовшрифты с антиалиасингомшрифтыантиалиасингАнлиалиасинг присутствует в 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 могут быть настроены при помощи этого
файла; в этом разделе описаны лишь некоторые простые возможности. Для
выяснения всех деталей, пожалуйста, обратитесь к
&man.fonts-conf.5;.XMLЭтот файл должен быть сформирован в формате XML. Обратите особое
внимание на регистр символов, и удостоверьтесь, что все тэги корректно
закрыты. Файл начинается обычным заголовком XML, за которым следуют
задание DOCTYPE, а потом
тэг <fontconfig>:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
Как и говорилось ранее, все шрифты из каталога
/usr/X11R6/lib/X11/fonts/, а также
~/.fonts/ уже доступны для приложений,
использующих Xft. Если вы хотите добавить каталог, отличный от этих
двух, добавьте строчку, подобную следующей, в файл
/usr/X11R6/etc/fonts/local.conf:<dir>/path/to/my/fonts</dir>После добавления новых шрифтов, и особенно новых каталогов со
шрифтами, вы должны выполнить следующую команду для перестроения
кэшей шрифтов:&prompt.root; fc-cache -fАнтиалиасинг делает границы несколько размытыми, что делает очень
мелкий текст более читабельным и удаляет лесенки из
текста большого размера, но может вызвать нечёткость при применении к
тексту обычного размера. Для исключения размеров шрифтов, меньших 14, из
антиалиасинга, добавьте такие строки: <match target="font">
<test name="size" compare="less">
<double>14</double>
</test>
<edit name="antialias" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="pixelsize" compare="less" qual="any">
<double>14</double>
</test>
<edit mode="assign" name="antialias">
<bool>false</bool>
</edit>
</match>шрифтымежсимвольное расстояниеДля некоторых моноширинных шрифтов антиалиасинг может также
оказаться неприменимым при определении межсимвольного интервала. В
частности, эта проблема возникает с KDE.
Одним из возможных решений для этого
является жесткое задание межсимвольного интервала в 100. Добавьте
следующие строки: <match target="pattern" name="family">
<test qual="any" name="family">
<string>fixed</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>
<match target="pattern" name="family">
<test qual="any" name="family">
<string>console</string>
</test>
<edit name="family" mode="assign">
<string>mono</string>
</edit>
</match>(это создаст алиасы для других общеупотребительных имён для
шрифтов фиксированного размера как "mono"), а затем
добавьте: <match target="pattern" name="family">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="spacing" mode="assign">
<int>100</int>
</edit>
</match> С некоторыми шрифтами, такими, как Helvetica, могут получиться
проблемы при антиалиасинге. Обычно это проявляется в виде шрифта,
который наполовину вертикально обрезан. Хуже того, это может
привести к сбоям таких приложений, как
Mozilla. Во избежание этого следует
добавить следующее в файл local.conf: <match target="pattern" name="family">
<test qual="any" name="family">
<string>Helvetica</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match> После того, как вы закончите редактирование
local.conf, удостоверьтесь, что вы завершили файл
тэгом </fontconfig>. Если этого не сделать,
то ваши изменения будут проигнорированы.Набор шрифтов по умолчанию, поставляемый с
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-дисплейШрифтыLCD-дисплейИ последнее замечание: при использовании дисплея LCD может
понадобиться включение разбиения точек. При этом компоненты красного,
зелёного и голубого цветов (разделяемые по горизонтали),
рассматриваются как отдельные точки для улучшения разрешения экрана
по горизонтали; результат может оказаться потрясающим. Для включения
этого механизма добавьте такую строчку где-нибудь в файл
local.conf:
<match target="font">
<test qual="all" name="rgba">
<const>unknown</const>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>
В зависимости от типа дисплея, rgb может
потребоваться заменить на bgr,
vrgb или vbgr: пробуйте и
смотрите, что работает лучше.Mozillaвеб-браузерыMozillaMozillaАнтиалиасинг должен быть включен при следующем запуске X-сервера.
Однако программы должны знать, как использовать его преимущества.
В настоящее время инструментальный пакет Qt умеет ими пользоваться,
так что вся оболочка KDE может
использовать шрифты с антиалиасингом (обратитесь к о KDE для
выяснения всех подробностей). GTK+ и GNOME
также можно заставить использовать антиалиасинг посредством капплета
Font (обратитесь к для выяснения всех подробностей).
По умолчанию Mozilla версий 1.2 и выше
будет автоматически использовать антиалиасинг. Для отмены этого
перестройте Mozilla с флагом
-DWITHOUT_XFT.SethKingsleyТекст предоставил Менеджеры Экранов (Display Managers) XВступлениеX Display ManagerМенеджер Экранов X (XDM) это
необязательный компонент
Системы Окон X, который используется для управления login сессиями.
Это полезно в ряде ситуаций, например минимальные
X Терминалы,
декстопы, большие сетевые сервера Экранов. Так как Система Окон X
не зависит от сетей и протоколов, то существует множество различных
конфигураций для X клиентов и серверов запущенных на различных
компьютерах подключенных к сети. XDM
предоставляет графический
интерфейс для выбора сервера к которому Вы желаете подключится и
введения информации авторизующей пользователя, например комбинацию
логина и пароля.Представляйте себе, что XDM
предоставляет такие же
возможности для пользователей, как и программа &man.getty.8;
(смотрите для подробной информации).
И это именно так, XDM производит вход в
систему для подключенного
пользователя и запускает управляющую сессию для пользователя (обычно
это менеджер окон X). После этого XDM
ожидает завершения
приложения, означающее завершение пользователем работы и
отключает управляющую сессию. После этого
XDM может снова вывести
приглашение к входу в систему и ожидать входа другого пользователя.
Использование XDMПрограммой даемона XDM является
/usr/X11R6/bin/xdm. Эта программа может быть
запущена от пользователя root в любой момент, и
она начнёт управлять дисплеем X на локальной машине.
Если XDM нужно запускать
в фоновом режиме каждый раз при запуске компьютера, то наиболее
правильный способ это добавить новую запись в
/etc/ttys. Для более подробной информации о
формате и использовании этого файла смотрите раздел . Это строка, которую необходимо добавить
в файл /etc/ttys для того чтобы запустить
даемон XDM на виртуальном терминале:ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureПо умолчанию эта запись отключена; для её включения
нужно заменить пятое поле с off на
on и перезапустить &man.init.8;, используя метод,
описанный в . Первое поле это название
терминала, которым будет управлять программа, ttyv8.
Это означает, что XDM будет запущен на 9ом
виртуальном терминале.Конфигурирование XDMКонфигурационные файлы XDM находятся в
каталоге
/usr/X11R6/lib/X11/xdm. В нём размещаются
насколько файлов, которые используются для изменения
поведения и внешнего вида XDM.
Обычно это следующие файлы:ФайлОписаниеXaccessПравила авторизации клиентов.XresourcesЗначения ресурсов X по умолчанию.XserversСписок локальных и удаленных экранов.XsessionСценарий сессии по умолчанию.Xsetup_*Скрипт для запуска приложений до появления приглашения
к входу в систему.xdm-configГлобальный конфигурационный файл для всех экранов
запущенных на локальной машинеxdm-errorsОшибки сгенерированные серверной программой.xdm-pidID процесса запущенного XDM.В этом каталоге также находятся несколько командных сценариев
и программ используемых для настройки рабочего стола (desktop),
когда запускается XDM. Назначение
каждого из этих файлов будет вкратце описано. Точный синтаксис и
информацию по их использованию описаны в &man.xdm.1;.В конфигурации по умолчанию это просто прямоугольное окно
приглашения ко входу в систему с именем компьютера большим шрифтом
написанным сверху и строками ввода Login: и
Password: внизу. Это хорошая отправная точка
для изменения внешнего вида экранов
XDM.XaccessПротокол, по которому происходит подключение дисплеев,
управляемых XDM, называется X Display
Manager Connection
Protocol (XDMCP). Этот файл представляет собой
набор правил для управления XDMCP соединениями с
удалёнными машинами. По умолчанию он позволяет подключаться
любым клиентам, но это не имеет значения, пока
стандартный файл xdm-config не содержит
указаний по обслуживанию удалённых соединений.XresourcesЭто файл содержащий установки по умолчанию для
приложений запущенных в экране выбора серверов и экране
приглашения к входу в систему. Именно здесь может быть
изменён вид программы входа в систему. Формат этого файла
идентичен файлу app-defaults описанному
в документации к X11.XserversЭто список удаленных экранов, которые XDM должен предоставить
как варианты для входа в систему.XsessionЭтот файл представляет себя командный сценарий по умолчанию
для пользователей вошедших в систему с использованием
XDM.
Обычно каждый пользователь имеет собственный сценарий входа в файле
~/.xsession, который используется
вместо этого сценария.Xsetup_*Они запускаются автоматически перед тем, как показывается экран
выбора сервера или экран входа в систему. Для каждого экрана
(display) есть свой сценарий с именем Xsetup_,
за которым следует локальный номер экрана (например,
Xsetup_0).
Обычно эти сценарии запускают одну или две программы в
фоновом режиме, например xconsole.xdm-configЗдесь содержатся настройки в формате app-defaults,
которые применимы ко всем экранам данного компьютера.xdm-errorsЗдесь находится выдача X серверов, которые
XDM пытается запустить. Если экран,
который XDM пытается
открыть отключается по некоторым причинам, то это хорошее
место для поиска сообщений об ошибках. Эти сообщения также
записываются в пользовательский файл
~/.xsession-errors для каждого сеанса.Использование сетевого сервера дисплеевДля того, чтобы позволить другим клиентам подключаться к серверу
дисплеев, отредактируйте правила
контроля доступа и включите обслуживание сетевых соединений.
По умолчанию они выключены, что является хорошим решением
с точки зрения обеспечения безопасности. Для того, чтобы
позволить 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 и почитайте Справочник о
&man.xdm.1;.Замены для XDMСуществует несколько программ, заменяющих
XDM. Одна из них,
kdm (поставляемая вместе с
KDE), описана далее в этой главе. В
kdm имеется много визуальных и
косметических улучшений, а также функциональность, позволяющая
пользователям выбирать собственные оконные менеджеры во время
входа в систему.ValentinoVaschettoТекст предоставил Графические оболочкиВ этом разделе описываются различные графические оболочки, доступные
в X для FreeBSD. Термин графическая оболочка может
использоваться для чего угодно, от простого менеджера окон до
полнофункционального набора приложений для рабочего стола типа
KDE или
GNOME.GNOMEО GNOMEGNOMEGNOME является дружественной к
пользователю графической
оболочкой, позволяющей пользователям легко использовать и настраивать
свои компьютеры. В GNOME имеется панель
(для запуска приложений и
отображения их состояния), рабочий стол (где могут быть размещены
данные и приложения), набор стандартных инструментов и приложений для
рабочего стола, а также набор соглашений, облегчающих совместную
работу и согласованность приложений. Пользователи других
операционных систем или оболочек при использовании такой мощной
графической оболочки, какую обеспечивает
GNOME, должны чувствовать
себя в родной среде. Дополнительную информацию относительно
GNOME во FreeBSD можно найти на сайте
FreeBSD GNOME
Project.Установка GNOMEЛегче всего установить GNOME через
меню Desktop Configuration в ходе процесса установки
FreeBSD, как описано в
Главы 2. Её также легко установить из пакета или Коллекции
Портов:Для установки пакета GNOME из сети,
просто наберите:&prompt.root; pkg_add -r gnome2Для построения GNOME из
исходных текстов используйте дерево портов:&prompt.root; cd /usr/ports/x11/gnome2
&prompt.root; make install cleanПосле установки GNOME нужно указать
X-серверу на запуск GNOME вместо
стандартного оконного менеджера. Если файл
.xinitrc уже откорректирован, то просто
замените строку, в которой запускается используемый менеджер окон,
на ту, что вызовет
/usr/X11R6/bin/gnome-session.
Если в конфигурационном файле нет ничего особенного, то будет
достаточно просто набрать:&prompt.user; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrcТеперь наберите startx, и будет запущена
графическая оболочка GNOME.Если используется менеджер дисплеев типа
XDM, то это не сработает. Вместо этого
создайте выполнимый файл .xsession с той
же самой командой в нём. Для этого отредактируйте файл,
заменив существующую команду запуска оконного
менеджера на
/usr/X11R6/bin/gnome-session:&prompt.user; echo "#!/bin/sh" > ~/.xsession
&prompt.user; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession
&prompt.user; chmod +x ~/.xsessionЕщё одним вариантом является настройка менеджера дисплеев таким
образом, чтобы он позволял выбирать оконный менеджер во время входа в
систему; в разделе о KDE2 в
подробностях описывается, как сделать это для
kdm, менеджера дисплеев из
KDE.Шрифты с антиалиасингом и GNOMEGNOMEантиалиасинг шрифтовX11 поддерживает антиалиасинг посредством своего расширения
RENDER. GTK+ 2.0 и более поздние версии (это
инструментальный пакет, используемый
GNOME) могут использовать такую
функциональность. настройка антиалиасинга описана в
. Таким образом, при наличии современного
GNOME. Просто перейдите в
ApplicationsDesktop PreferencesFont
и выберите либо
Best shapes,
Best contrast, либо
Subpixel smoothing (LCDs). Для приложений
GTK+, которые не являются частью оболочки
GNOME, задайте в качестве значения
переменной окружения GDK_USE_XFT1 перед запуском программы.KDEKDEО KDEKDE является простой в использовании
современной графической оболочкой. Вот лишь некоторое из того, что
даёт пользователю KDE:Прекрасный современный рабочий столРабочий стол, полностью прозрачный для работы в сетиИнтегрированная система помощи, обеспечивающая удобный и
согласованный доступ к системе помощи по использованию рабочего
стола KDE и его приложенийЕдинообразный внешний вид и управление во всех приложениях
KDEСтандартизированные меню и панели инструментов, комбинации
клавиш, цветовые схемы и так далее.Интернационализация: в KDE
поддерживается более 40 языковЦентрализованное единообразное конфигурирование рабочего
стола в диалоговом режимеБольшое количество полезных приложений для
KDEДля KDE существует пакет офисных
приложений, который выполнен по технологии KParts из
KDE, состоящий из программы для работы с
электронными таблицами, презентационной программы, органайзера,
клиента для чтения телеконференций и других программ. С
KDE также поставляется веб-браузер под
названием Konqueror, который
является серьезным соперником другим браузерам для &unix;-систем.
Дополнительную информацию о KDE можно
найти на веб-сайте
KDE. Для получения информации и информационных ресурсов,
специфичных для KDE во FreeBSD, обратитесь
к сайту команды FreeBSD-KDE
team.Установка KDEКак и в случае с GNOME или любой
другой графической оболочкой, легче всего установить
KDE через меню Desktop
Configuration во время установки FreeBSD, как это описано в
Главы 2. Повторимся ещё
раз, что программное обеспечение можно легко установить из пакета
или из Коллекции Портов:Для установки пакета KDE из сети,
просто наберите:&prompt.root; pkg_add -r kde&man.pkg.add.1; автоматически загрузит самую последнюю версию
приложения.Для построения KDE из исходных
текстов воспользуйтесь деревом портов:&prompt.root; cd /usr/ports/x11/kde3
&prompt.root; make install cleanПосле установки KDE нужно
указать X-серверу на запуск этого приложения вместо оконного
менеджера, используемого по умолчанию. Это достигается
редактированием файла .xinitrc:&prompt.user; echo "exec startkde" > ~/.xinitrcТеперь при вызове X Window System по команде
startx в качестве оболочки будет использоваться
KDE.При использовании менеджера дисплеев типа
XDM настройка несколько отличается.
Вместо этого нужно отредактировать файл
.xsession. Указания для
kdm описаны далее в этой главе.Более подробно о KDEТеперь, когда KDE установлена в
системе, можно узнать много нового из её справочных страниц или просто
указанием и щелканием по различным меню. Пользователи &windows; или
&mac; будут чувствовать себя как дома.Лучшим справочником по KDE является
онлайновая документация. KDE
поставляется с собственным веб-браузером, который называется
Konqueror,
десятками полезных приложений и подробной документацией. В оставшейся
части этого раздела обсуждаются технические вопросы, трудные для
понимания при случайном исследовании.Менеджер дисплеев KDEKDEменеджер дисплеевАдминистратору многопользовательской системы может
потребоваться графический экран входа в систему для
приглашения пользователей. Вы можете использовать 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.Шрифты с антиалиасингомKDEантиалиасинг шрифтовX11 поддерживает антиалиасинг через своё расширение
RENDER, а начиная с версии 2.3, Qt (инструментарий,
используемый в KDE) поддерживает это
расширение. Настройка этого описана в по
антиалиасингу с шрифтами X11. Таким образом, при работе с
современным программным обеспечением в оболочке
KDE возможно использование
антиалиасинга. Просто перейдите в меню KDE, затем к
PreferencesLook and FeelFonts
и поставьте галочку рядом с
Use Anti-Aliasing for Fonts and Icons. Для
работы с приложением Qt, которое не является частью
KDE, перед его запуском нужно
устанавливать переменную окружения QT_XFT в
значение true.XFceО XFceXFce является графической оболочкой,
построенной на основе инструментального пакета GTK+, используемого в
GNOME, но гораздо легче и предназначен
для тех, кому нужен простой, эффективно работающий рабочий стол,
который легко использовать и настраивать. Визуально он выглядит
очень похоже на CDE, который есть в
коммерческих &unix;-системах. Вот некоторые из достоинств
XFce:Простой, лёгкий в обращении рабочий столПолностью настраиваемый при помощи мыши, с
интерфейсом drag and drop и так далееГлавная панель похожа на CDE, с
меню, апплетами и возможностями по быстрому запуску
приложенийИнтегрированный оконный менеджер, менеджер файлов,
управление звуком, модуль совместимости с
GNOME и прочееВозможность использования тем (так как использует
GTK+)Быстрый, легкий и эффективный: идеален для
устаревших/слабых машин или для машин с ограниченной
памятьюДополнительную информацию о XFce
можно найти на сайте
XFce.Установка XFceДля XFce имеется (на момент написания
этого текста) бинарный пакет. Для его установки просто
наберите:&prompt.root; pkg_add -r xfce4Либо в случае построения из исходных текстов используйте
Коллекцию Портов: &prompt.root; cd /usr/ports/x11-wm/xfce4
&prompt.root; make install cleanТеперь укажите X-серверу на запуск
XFce при следующем
запуске X. Просто наберите вот что:&prompt.user; echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrcПри следующем запуске X в качестве рабочего стола
будет использоваться XFce.
Как это сказано выше, если используется
менеджер дисплеев, такой, как XDM, создайте
файл .xsession так, как это
описано в разделе о GNOME, но
с командой /usr/X11R6/bin/startxfce4, либо
настройте менеджер дисплеев так, чтобы он разрешил выбор рабочего
стола во время входа в систему, как это описано в разделе о kdm.