![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
XFree86 это свободно распространяемая
открытая реализация системы X Window.
XFree86 предоставляет интерфейс
клиент/сервер между аппаратурой отображения (мышь, клавиатура и видеодисплей)
и окружением рабочего стола, а также предоставляет оконную инфраструктуру и
стандартный интерфейс приложений (API).
Адрес (HTTP):
http://gnu.kookel.org/ftp/XFree86/4.4.0/source/
Адрес (FTP):
ftp://ftp.xfree86.org/pub/XFree86/4.4.0/source/
Контрольная сумма:
ftp://ftp.xfree86.org/pub/XFree86/4.4.0/source/SUMS.md5sum
Размер: 52 MB
Требуемое дисковое пространство: 775 MB
Расчетное время сборки: 11.6 SBU
Патч безопасности:
http://www.x.org/pub/X11R6.8.0/patches/xorg-CAN-2004-0687-0688.patch
. Linux-PAM-0.78, следующие пакеты
включены в XFree86, хотя они обновляются
чаще, чем сам пакет XFree86 и очень
рекомендуются: expat-1.95.8,
FreeType-2.1.9,
Fontconfig-2.2.3. Если Вы решите не устанавливать expat,
FreeType2 и
Fontconfig, то файл host.def ниже должен
быть изменен для указания
XFree86 собрать их. Есть несколько файлов, которые надо получить из места скачивания: XFree86-4.4.0-src-1.tgz
XFree86-4.4.0-src-2.tgz XFree86-4.4.0-src-3.tgz XFree86-4.4.0-src-4.tgz XFree86-4.4.0-src-5.tgz XFree86-4.4.0-src-6.tgz XFree86-4.4.0-src-7.tgz Первые три пакета это XFree86-программы,
четвертый и пятый это шрифты, шестой обычная документация, а седьмой жесткая
копия документации. Также есть два пакета
doctools-1.3.1.tgz, содержащий программы генерации жесткой копии
документации, и utils-1.1.0.tgz, содержащий
GNU
TAR и zlib
, которые уже установлены в LFS-системе.
Для проверки целостности файлов скачайте файл
SUMS.md5sum. Затем: Ошибки Вы можете увидеть только для файлов README
, doctools-1.3.1.tgz,
utils-1.1.0.tgz и XFree86-xtest-4.0.x.tar.bz2,
если Вы их не скачивали. Если у Вас установлен Intel P6 (Pentium Pro, Pentium II и позднее),
то рекомендуется вкомпилировать поддержку MTRR
(Memory Type Range Registers) в ядро. Ядро может использовать
процессоры Cyrix и AMD с интерфейсом
MTRR, поэтому выбор этой опции полезен
и для этих процессоров. Эта опция находится в меню "Processor type and
features". Она может увеличить скорость операций записи изображений в 2.5 и
более раза для PCI или
AGP-видеокарт. В разделе "Character Devices" включите поддержку AGP
и выберите поддержку чипсета Вашей материнской платы. Если Вы не
знаете чипсет, то можете выбрать все типы чипов за счет увеличеия размера
ядра. Обычно Вы можете определить чипсет Вашей материнской платы запуском
команды lspci, программы
из пакета PCI Utilities-2.1.11. В разделе "Character Devices" выключите
Direct Rendering Manager, если у Вас нет видеокарты, поддерживающей
Direct Rendering Infrastructure (DRI).
Полный список видеокарт, поддерживающих DRI,
может быть найден на
http://dri.sourceforge.net в разделе "Status".
В настоящий момент поддерживаются следующие видеокарты: 3dfx
(Voodoo, Banshee), 3Dlabs, ATI (Rage Pro, Rage 128, Radeon
7X00, Radeon 2), Intel (i810, i815) и Matrox (G200, G400, G450). Дополнительно NVidia предоставляет их собственные закрытые бинарные
драйверы, которые не используют DRI.
Если Вы захотите использовать эти драйверы, то
не включайте DRI. Если Вы внесете изменения в конфигурацию ядра, перекомпилируйте и
установите новое ядро. Если Вы собираете XFree86 в
среде chroot,
убедитесь, что версии ядра основной и целевой системы одинаковые. Хотя XFree86 может компилироваться без
файла host.def, этот файл рекомендуется
для настройки установки. Начинаем из каталога xc.
Файл host.def это
C-файл, а не обычный файл конфигурации.
Убедитесь, что коментарии, установленные при помощи
/* и
*/ сбалансированы
после модификации файла. Большая часть содержимого этого файла
закомментирована с показом параметров по умолчанию. Отредактируйте файл под Ваше оборудование и требования. Были обнаружены некоторые уязвимости в libXpm.
Удаленный пользователь мог выполнить произвольный код в приложениях,
использующих libXpm.
Команда Xorg выпустила патч для их версии
6.8.0, но он также работает и с
XFree86. Применим патч: Установим XFree86 запуском
следующих команд: А теперь, как пользователь root: sed -i -e "s@^#include
<linux/config.h>@...: Пакет
Linux-Libc-Headers, установленный в
LFS, устанавливает файл
/usr/include/linux/config.h, который несовместим
с пользовательскими приложениями. Рекомендованным решением для приложений,
включающих этот файл, является его удаление (смотрите
linux-libc-headers FAQ).
sed использует
grep -lr для замены всех
случаев. Если хотите, просто удалите (закомментируйте) строчку в подходящем
файле видеодрайвера, если Вы настраиваете host.def.
( make WORLDOPTS="" World 2>&1
| tee xfree-compile.log && exit $PIPESTATUS):
Эта команда запускает многочисленные Makefile
для полной пересборки системы. WORLDOPTS="" отключает
установку по умолчанию для продолжения после возникновения любой ошибки.
2>&1 перенаправляет сообщения об
ошибках в то же место, что и стандартный вывод.
Команда tee позволяет
просматривать вывод во время вывода результата в файл. Скобки вокруг команды
запускают внутреннюю команду в подоболочке, а
exit $PIPESTATUS в конце подтверждает, что общим результатом
будет возвращенный результат команды make
, а не команды tee
. При пересборке XFree86
отдельной командой, которая может быть использована, если были
сделаны только небольшие изменения в исходниках, является
make Everything.
Она автоматически не удаляет сгенерированные файлы, а только
пересобирает более новые. Эти команды нужны, чтобы другие (неправильные) пакеты могли собираться с
XFree86, даже если FHS говорит:
"Обычно программа не дожна быть установлена или управляема через указанные
символические ссылки. Они предназначены только для пользователей." Отредактируйте /etc/ld.so.conf и добавьте
/usr/X11R6/lib. Запустите: Убедитесь, что /usr/X11R6/bin и
/usr/X11R6/lib/pkgconfig добавлены в Ваш
PATH и, соответственно, переменная окружения
PKG_CONFIG_PATH. Инструкции о том, как это
сделать, описаны в разделе
"Стартовые файлы оболочки Bash". Создадим файл XF86Config при помощи: Экран почернеет, и Вы можете услышать небольшие щелчки монитора.
Эта команда создаст файл XF86Config.new
в Вашей домашнем каталоге. Отредактируйте XF86Config.new для настройки
под Вашу систему. Детальная информация по файлу находится на man-странице
по XF86Config. Кое-что из того, что Вы можете захотеть сделать, это: Раздел "Files". Измените порядок следования путей поиска шрифтов.
Вы можете захотеть поместить шрифты 100dpi перед шрифтами 75dpi,
если Ваша система с ними работает нормально. Вы можете захотеть полностью
удалить некоторые каталоги шрифтов. Раздел "Module". Если Вы будете устанавливать драйвер NVidia,
то удалите строчку "dri". Разделы "InputDevice". Установите параметр
Device на "/dev/input/mice" и Protocol
на "auto" для настройки мыши. Вы можете захотеть изменить скорость
автоповтора клавиатуры, добавив Option "Autorepeat"
"250 30". Раздел "Monitor". Установите значения
VertRefresh и HorizSync,
если система автоматически не определила монитор и его параметры. Раздел "Device". Вы можете захотеть установить некоторые из опций,
доступные для Вашего выбранного видеодрайвера. Описание параметров драйвера
находятся на man-странице для этого драйвера. Раздел "Screen". Добавьте элемент DefaultDepth, например:
DefaultDepth 16. В SubSection для Вашей
глубины цвета по умолчанию добавьте строчку Modes, например:
Modes "1280x1024" "1024x768".
Первый указанный режим будет стартовым разрешением экрана. Протестируем систему: Вы увидите только серый задний план с X-подобным курсором мыши,
но это укажет на работоспособность системы. Выйдите при помощи
комбинации клавиш Control-Alt-Backspace. Если система не работает,
то обратитесь в /var/log/XFree86.0.log для
просмотра сообщений о возникших проблемах. Переместим файл конфигурации в его положенное место: Создадим .xinitrc: Это предоставит начальный экран с xterm и часами, которые управляются
простым оконным менеджером, Tab Window Manager. Для большей информации о
twm обратитесь к
его man-странице. Если надо, XFree86 создает каталог
/tmp/.ICE-unix, если его нет. Если он не
принадлежит root, то XFree86 задерживает
запуск на несколько секунд и добавляет предупреждение в лог-файл.
Это также действует на запуск других приложений.
Для увеличения производительности рекомендуется вручную создать этот
каталог перед тем, как XFree86
будет его использовать. Добавим создание файла в
/etc/sysconfig/createfiles, который используется
стартовым скриптом /etc/rc.d/init.d/cleanfs. Запустим X при помощи: для получения базовой функциональности системы В этом месте Вы должны обратиться к разделу
“Компоненты системы X Window”. Пакет XFree86 содержит систему
X Window для Linux
(и других операционных систем). Он включает
X-сервер, шрифты, xterm,
простой оконный менеджер (twm),
различные утилиты, драйверы видеовывода и различные драйверы ввода,
включая клавиатуру и мышь. XFree86 также содержит библиотеки
и файлы заголовков для разработки программ для системы
X Window. Следующий перечень не исчерпывающий. Полный перечень программ находится в
/usr/X11R6/bin. Для дополнительной информации по
этим программам смотрите соответствующие man-страницы. Это X11R6-реализация сервера системы
X Window. Это интерактивная программа для генерирования файла
XF86Config для использования с
XFree86
X-серверами. Это средство настройки XFree86,
которое может быть использовано для записи инициализирующего файла
конфигурации или для внесения изменений в текущую конфигурацию. Это скрипт для инициализации
X-сессии. Он запускает xinit
. Используется для запуска сервера системы
X Window. Tab Window Manager представляет собой оконный менеджер,
включенный в систему X Window. Это эмулятор терминала для X. Это утилита информации об окне для X.
Это программа тестирования быстродействия сервера
X11. Это программа, выводящая список шрифтов, доступных для
X-сервера. Это программа изменения видеорежима для
XFree86. Отображает график загрузки системы для
X. Это научный калькулятор для X. Часы для X. Часы для X. Это утилита для изменения раскладок клавиатуры и кнопок указателей в
X. Последнее обновление 2005-02-22 23:38:15 -0700.
Beyond Linux From Scratch. Версия 6.0
Глава 25. Система X Window
XFree86-4.4.0
Введение в XFree86
Информация о пакете
Дополнительно
Зависимости
XFree86
Требуемые
Опционально
Замечание
Инструкции для скачивания
md5sum -c SUMS.md5sum
Установка XFree86
Параметры компиляции ядра
Замечание
Создание host.def
Замечание
cat > config/cf/host.def << "EOF"
/* Begin XFree86 host.def file */
/* System Related Information.If you read and configure only one
* section then it should be this one.The Intel architecture defaults
* are set for a i686 and higher.Axp is for the Alpha architecture
* and Ppc is for the Power PC.Замечание that there have been reports that
* the Ppc optimization line causes segmentation faults during build.
* If that happens, try building without the DefaultGcc2PpcOpt line. */
/* #define DefaultGcc2i386Opt-O2 -fomit-frame-pointer -march=i686 */
/* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */
/* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */
/* The following definitions are normally set properly by XFree86's
* scripts. You can uncomment them if you want to make sure. *********/
/* #define HasMTRRSupportYES*/ /* Enabled in kernel; */
/* see kernel docs */
/* #define HasMMXSupportNO*/ /* Any i586 or above */
/* #define HasKatmaiSupport NO*/ /* PIII SSE instructions */
/* #define Has3DNowSupportNO*/ /* AMD instructions */
/* This setting reduces compile time a little by omitting rarely used
* input devices. You can find the complete list in
* config/cf/xfree86.cf *********************************************/
#define XInputDrivers mouse void
/* VIDEO DRIVERS ****************************************************/
/* If you are sure you only want the drivers for one or a few video
* cards, you can delete the drivers you do not want. ***************/
#define XF86CardDriversmga glint nv tga s3 s3virge sis rendition \
neomagic i740 tdfx savage \
cirrus vmware tseng trident chips apm \
GlideDriver fbdev i128 nsc \
ati i810 AgpGartDrivers DevelDrivers ark \
cyrix siliconmotion vesa vga \
dummy XF86OSCardDrivers XF86ExtraCardDrivers
/* USER AND SYSTEM DEFAULT PATHS *************************************/
/* These settings set the PATH variables used by xdm. See README for */
/* detailed description and modify the following as per your need. ***/
/* #define DefaultSystemPath \
/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin */
/* #define DefaultUserPath /usr/bin:/bin:/usr/X11R6/bin */
/* FONT SERVER AND LIBRARY SETTINGS **********************************/
/* These settings are the defaults**********************************/
/* #define BuildFontServer YES*/ /*For Ghostscript Print Server*/
/* #define SharedLibFont YES*/
/* #define CompressAllFontsYES*/
/* #define GzipFontCompression YES*/
/* These settings ensure we use our библиотеки ************************/
#define HasFreetype2 YES
#define HasFontconfigYES
#define HasExpat YES
#define HasLibpngYES
#define HasZlibYES
/* The font path can be redefined in the XF86Config file *************/
/*
#define DefaultFontPath$(FONTDIR)/misc/,$(FONTDIR)/75dpi/,\
$(FONTDIR)/100dpi/,$(FONTDIR)/Type1,$(FONTDIR)/local,\
$(FONTDIR)/TrueType,$(FONTDIR)/CID,$(FONTDIR)/Speedo
*/
/* INTERNATIONAL FONTS.Change to YES if you need any of them.These
* are the defaults. **************************************************/
/* #define BuildCyrillicFontsNO*/
/* #define BuildArabicFontsNO*/
/* #define BuildISO8859_6Fonts NO*/
/* #define BuildGreekFonts NO*/
/* #define BuildISO8859_7Fonts NO*/
/* #define BuildHebrewFontsNO*/
/* #define BuildISO8859_8Fonts NO*/
/* #define BuildKOI8_RFontsNO*/
/* #define BuildJapaneseFontsNO*/
/* #define BuildJISX0201FontsNO*/
/* #define BuildKoreanFontsNO*/
/* #define BuildChineseFonts NO*/
/* DOCUMENTATION SETTINGS ********************************************/
/* These setting are the defaults. ***********************************/
/* #define BuildLinuxDocHtmlNO*//* X Docs in Html format */
/* #define BuildLinuxDocPSNO*//* PostScript format */
/* #define BuildAllSpecsDocsNO*//* Various docs */
/* #define BuildHtmlManPagesNO*/
/* GENERAL SETTINGS: You generally want to leave these alone when
* building X on an LFS system ***************************************/
#define GccWarningOptions -pipe /* Speed up compiles */
#define TermcapLibrary-lncurses
#define XprtServerYES /* Needed by realplayer */
#define XnestServer YES
#define XAppLoadDir EtcX11Directory/app-defaults
#define VarLibDir /var/lib
#define XFree86Devel NO
#define FSUseSyslog YES
#define ThreadedX YES
#define HasPam NO
#define SystemManDirectory/usr/share/man /*Instead of /usr/man*/
#define HasLibCrypt YES
#define InstallXinitConfigYES
#define InstallXdmConfigYES
#define ForceNormalLibYES
#define BuildSpecsDocs NO
/* End XFree86 host.def file */
EOF
Команды сборки
patch -Np1 -i ../xorg-CAN-2004-0687-0688.patch
sed -i -e "s@^#include <linux/config.h>@/* & */@" \
`grep -lr linux/config.h *` &&
(make WORLDOPTS="" World 2>&1 | \
tee xfree-compile.log && exit $PIPESTATUS)
make install &&
make install.man &&
ln -sf ../X11R6/bin /usr/bin/X11 &&
ln -sf ../X11R6/lib/X11 /usr/lib/X11 &&
ln -sf ../X11R6/include/X11 /usr/include/X11
Описание команд
Замечание
ln -sf ../X11R6/bin /usr/bin/X11
ln -sf ../X11R6/lib/X11 /usr/lib/X11
ln -sf ../X11R6/include/X11 /usr/include/X11
Конфигурация XFree86
ldconfig
cd ~
XFree86 -configure
XFree86 -xf86config ~/XF86Config.new
mv ~/XF86Config.new /etc/X11/XF86Config
cat > ~/.xinitrc << "EOF"
# Begin .xinitrc file
xterm-g 80x40+0+0 &
xclock -g 100x100-0+0 &
twm
EOF
Замечание
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.ICE-unix dir 1777 root root
EOF
startx
Содержание
Описание
Замечание
Короткое описание
Найди своих коллег! |