Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

В.А.Костромин

Инсталляция и настройка XFree86[tm] версии 4.0.2

1. Введение

XFree86 - это свободно распространяемая реализация стандарта X11R6.4 графической подсистемы для UNIX-подобных систем. XFree86 работает на целом ряде операционных систем (таких как Linux, разные типы BSD и Solaris x86) для процессоров Intel (а также и на других платформах).

XFree86 4.0.2 - это третий полный релиз 4-ой версии XFree86.

Настоящая статья в значительной части является переводом руководства по установке, поставляемого вместе с XFree86 версии 4.0.2 (это руководство датировано 15 декабря 2000 г.). Я дополнил перевод небольшим количеством собственных комментариев и дополнений, являющихся результатом моего собственного опыта установки данной версии XFree86 (такие дополнения обычно даются от первого лица, так что Вы легко сможете выделить их из остального текста).

2. Скачивание установочных файлов для XFree86 4.0.2

Бинарные файлы для установки XFree86 для различных операционных систем можно скачать с ftp-сайта ftp.xfree86.org (URL: ftp://ftp.xfree86.org/pub/XFree86/4.0.2/binaries/) или одного из его зеркал. Эти файлы организованы по поддиректориям, в соответствии с тем, для какой ОС эти файлы предназначены. Для некоторых ОС (и, в частности, для Linux) нужно еще перейти в подкаталог в соответствии с тем, какая версия библиотеки libc используется в системе. Для того, чтобы выбрать правильную версию установочных файлов, лучше всего предварительно скачать скрипт Xinstall.sh, и запустить его в Вашей системе с опцией -check следующим образом:
     sh Xinstall.sh -check
В результате эта утилита сообщит Вам, какой именно набор установочных файлов Вам необходимо скачать. В результате Вы сэкономите массу времени, не перекачивая файлы, несовместимые с Вашей системой.

Замечания:

Скрипт Xinstall.sh нужно скачивать в режиме "binary", иначе он может отработать некорректно. Если Вы при запуске этого скрипта получите массу сообщений типа "command not found", то скорее всего скрипт был скачан в неправильном режиме и работает с ошибками.
Среди тех установочных файлов, которые Вы должны будете перекачать, имеется еще утилита extract, которую тоже надо перекачивать в режиме "binary". Между тем некоторые браузеры при заданном по умолчанию режиме перекачки могут исказить ее.

Мой Вам совет - воспользуйтесь для перекачки FTP-клиентом, встроенным в такие программы как Midnight Commander (если Вы работатете под Линукс) или FAR или Windows Commander (если Вы выходите в Интернет из-под Windows). При этом очень просто будет выбрать для перекачки только нужные Вам файлы.

После того, как Вы определились с версией установочных файлов, перейдите в соответствующий подкаталог каталога ftp://ftp.xfree86.org/pub/XFree86/4.0.2/binaries/ и скачайте необходимые файлы. Обязательно нужно скачать следующие 12 файлов :

  1.   Xinstall.sh      Инсталляционный скрипт (Вы его уже скачали)
  2.   extract          Утилита для распаковки архивов
  3.   Xbin.tgz         X clients/utilities and run-time libraries
  4.   Xlib.tgz         Some data files required at run-time
  5.   Xman.tgz         Страницы интерактивного руководства 
  6.   Xdoc.tgz         Документация по XFree86
  7.   Xfnts.tgz        Базовый набор фонтов
  8.   Xfenc.tgz        Base set of font encoding data
  9.   Xetc.tgz         Run-time configuration files
  10.  Xvar.tgz         Run-time data
  11.  Xxserv.tgz       XFree86 X server
  12.  Xmod.tgz         XFree86 X server modules

Следующие 13 файлов не являются обязательными. Их Вы можете скачать, если хотите установить соответствующие дополнительные части (но я рекомендую скачать и установить их, кроме разве что документации на японском).

  1.   Xfsrv.tgz        Фонт-сервер
  2.   Xnest.tgz        Nested X server
  3.   Xprog.tgz        X header files, config files and compile-time libs
  4.   Xprt.tgz         X Print server
  5.   Xvfb.tgz         Virtual framebuffer X server
  6.   Xf100.tgz        100dpi fonts
  7.   Xfcyr.tgz        Кириллические фонты
  8.   Xflat2.tgz       Latin-2 fonts
  9.   Xfnon.tgz        Some large bitmap fonts
  10.  Xfscl.tgz        Масштабируемые фонты (Speedo и Type1)
  11.  Xhtml.tgz        HTML-версия документации
  12.  Xps.tgz          PostScript-версия документации
  13.  Xjdoc.tgz        Документация на японском языке
Замечания:
Для некоторых дистрибутивов архив Xvar.tgz не нужен, тогда он отсутствует в соответствующем каталоге. И наоборот, для некоторых дистрибутивов могут потребоваться дополнительные архивы. Если в процессе инсталляции обнаружится, что у Вас не хватает какого-либо из необходимых установочных файлов, скрипт сообщит Вам об этом и предложит скачать их, прежде чем продолжать процесс инсталляции.
Если Вы какие-то из этих файлов не будете иметь к моменту инсталляции, то соответствующие части можно будет установить и позже, но уже не с помощью инсталляционного скрипта, а в ручном режиме (смотри раздел 4 "Ручная инсталляция" ниже).

3. Инсталляция XFree86 версии 4.0.2 с помощью инсталляционного скрипта Xinstall.sh

Разработчики настоятельно рекомендуют пользоваться именно этим вариантом установки (хотя установка "вручную" тоже описана далее в этом руководстве).

До начала процедуры инсталляции следует обязательно сохранить копию предыдущей версии XFree86 (если у Вас она была установлена). При этом, если Вы хотите, чтобы все ранее установленные в Вашей системе графические приложения продолжали работать, то нужно не просто переименовать существующий каталог /usr/X11R6, а сохранить где-нибудь его копию (как Вы понимаете, лучше всего на другом диске). Инсталляцию же надо проводить "поверх" существующей версии.

Кроме каталога /usr/X11R6 инсталляционный скрипт рекомендует еще сохранить каталог /etc/X11 (хотя в руководстве по установке такой совет отсутствует). Если впоследствии Вы столкнетесь с какими-то проблемами, Вы сможете просто заменить измененные версии каталогов /usr/X11R6 и /etc/X11 на сохраненные и вернуть тем самым предыдущую инсталляцию (я проверил это на собственном опыте и убедился, что после такого возвращения все работает нормально, так же как работало до установки XFree86 новой версии).

Еще один совет позволю на основании собственного опыта: позаботьтесь о том, чтобы в файловой системе, в которой расположен каталог /usr, имелось не менее 100 МБ свободного места.

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

Для того, чтобы запустить инсталляционный скрипт, нужно получить права суперпользователя. Так что после сохранения предыдущей версии XFree86 и выхода из графического режима (или еще до этого) выполните команду su.

После того, как все подготовительные операции завершены, разместите все установочные файлы в отдельном каталоге, перейдите в этот каталог (сделайте его текущим) и запустите инсталляционный скрипт:

     sh Xinstall.sh

3.1 Вопросы, которые задает инсталляционный скрипт

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

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

На первом этапе инсталляции поверх ранее установленной версии скрипт удаляет некоторые старые файлы и каталоги. Однако список удаляемых файлов и каталогов будет Вам сообщен. Если такого списка не будет выдано, то значит ничего не удаляется.

На следующем шаге инсталляции поверх ранее установленной версии производится проверка существующих конфигурационных файлов. Начиная с версии 3.9.18 системы XFree86 конфигурационные файлы времени выполнения (the run-time configuration files) по умолчанию устанавливаются в каталог /etc/X11 вместо /usr/X11R6/lib/X11. Если у Вас более ранняя версия XFree86, то инсталлятор переместит существующие конфигурационные файлы в /usr/X11R6/lib/X11, а в /etc/X11 создаст символические ссылки. Если Вы не хотите, чтобы в /etc/X11 создавались такие ссылки, то отвечайте "no", когда Вас об этом спросят. Это будет означать, что конфигурационные файлы будут созданы в каталоге /usr/X11R6/lib/X11, а ссылки создаваться не будут.

Замечание: Ответ по-умолчанию - это лучший выбор для большинства ситуаций. В данном случае по умолчанию предлагается "yes" . В таком случае облегчается обеспечение разделения доступа к каталогу /usr/X11R6 для нескольких хостов и этот каталог может монтироваться только для чтения. Если Вы не нуждаетесь в такой возможности, то можете безопасно отвечать "no", если не хотите, чтобы конфигурационные файлы были перемещены.

Когда Вы осуществляете инсталляцию поверх существующей версии, Вам будет выдаваться запрос перед установкой каждого следующего набора конфигурационных файлов. Если Вы не вносили собственных изменений в Ваши конфигурационные файлы, Вы можете спокойно отвечать "yes" на все такие вопросы. Если Вы вносили какие-то изменения, то Вы можете попытаться отвечать "no". Если позже возникнут какие-то проблемы, Вы можете внести свои изменения в новые версии конфигурационных файлов. Все конфигурационные файлы можно найти в архиве Xetc.tgz. О том, как их извлечь из архива по отдельности, Вы можете прочитать ниже, в разделе о ручной инсталляции (section 4., page 1).

Я спокойно отвечал "yes" на эти вопросы, потому что, следуя приведенному выше совету, сохранил резервную копию каталога /usr/X11R6. Впрочем, поскольку я проводил инсталляцию несколько раз (из-за того, что первые попытки настройки вновь установленной системы X Window были безуспешны), я опробовал разные варианты ответов, но результат всегда был примерно одинаков (по крайней мере, внешне, судя по тому, что все заканчивалось сообщением об успешном завершении инсталляции).

После установки конфигурационных файлов будет осуществлена установка других обязательных компонентов. Этот процесс происходит без какого-либо вмешательства пользователя.

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

На этом основная часть инсталляции завершена. На следующих этапах осуществляется настройка системы. Во-первых, запускается утилита "ldconfig" (в системах, где это требуется), чтобы сделать доступными вновь установленные разделяемые библиотеки. Затем будут обновлены файлы fonts.dir в некоторых каталогах, чтобы обеспечить доступ к фонтам. На следующем этапе инсталлятор проверяет, доступны ли для Вашей системы файл termcap или файлы terminfo. Если будет однаружен файл termcap, то Вам будет выдана подсказка о том, как Вы можете обновить этот файл. Если будут однаружены вторые (т.е. файлы terminfo), то инсталлятор спросит, не хотите ли Вы, чтобы они были автоматически обновлены.

В моем случае обнаружился файл termcap и инсталлятор сообщил, что его надо отредактировать вручную, чтобы изменить записи, касающиеся xterm теми значениями, которые привелены в файле /usr/X11R6/lib/X11/etc/xterm.termcap. При этом дополнительно было сообщено, что новые значения необходимы для того, чтобы воспользоваться новыми возможностями, но при этом могут возникнуть проблемы со старыми версиями xterm. Тип терминала "xterm-r6" включен для совместимости со стандартной для X11R6 версией xterm.

Может быть Вам будет задан вопрос о том, не хотите ли Вы создать ссылки на библиотеки GL и заголовочные файлы (header files). Стандарт OpenGL для некоторых платформ (в частности, Linux) требует, чтобы эти файлы были установлены в определенные каталоги (/usr/lib и /usr/include), поэтому инсталлятор предлагает создать соответствующие ссылки. В Линукс лучше всего ответить "yes". Для других платформ Вы можете сделать любой выбор. Если у Вас уже установлена другая версия libGL в /usr/lib, то при ответе "yes" она будет удалена и заменена ссылкой на ту версию, которая поставляется с XFree86. Инсталлятор сообщит Вам, какая версия у Вас установлена и спросит, можно ли их заменить.

Наконец, инсталлятор спросит Вас, хотите ли Вы создать ссылку на утилиту rstart. На самых современных системах эта ссылка несущественна, так что ответ по умолчанию - "no". Отвечайте "yes" только если Вы знаете, что Вам это нужно. Если Вы потом обнаружите, что такая ссылка Вам нужна, Вы легко создадите ее с помощью команд:

     rm -f /usr/bin/rstartd
     ln -s /usr/X11R6/bin/rstartd /usr/bin/rstartd

3.2 После того, как процесс инсталляции завершен

Следующий этап заключается в конфигурации X-сервера. Подробная инструкция по конфигурации X-сервера еще не написана :-(. Существует 3 способа создать конфигурационный файл для XFree86 4.0.2. Первый способ заключается в запуске утилиты xf86config. Второй способ - запустить утилиту xf86cfg. Третий способ - использовать новую опцию -configure X-сервера:
     XFree86 -configure
Формат конфигурационного файла X-сервера (XF86Config) изменился по сравнению с версией 3.3.x. По умолчанию он располагается теперь в /etc/X11. Кроме того, теперь только один вариант X-сервера для управления аппаратной частью видео-подсистемы и он называется "XFree86". Если Вы удовлетворены работой нового X-сервера, Вы можете удалить все старые бинарники X-серверов с именами XF86_* и/или XF98_* из каталога /usr/X11R6/bin.

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

Это все, что сказано в руководстве о настройке новой версии XFree86. Естественно, что этого мало, так как настройка графической подсистемы всегда была и, по-видимому, остается самой нетривиальной частью инсталляции ОС Линукс. У меня, по крайней мере, пока ничего с настройкой не получилось. Так что я закончу сейчас здесь перевод исходного руководства, а о своих мучениях с новой версией расскажу позже, в разделе 5, какового в исходном руководстве нет.

4. Инсталляция XFree86 4.0.2 вручную

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

Разместите все установочные файлы в одном каталоге (этот каталог нужен только временно). Получите права суперпользователя (root). Все следующие команды должны выполняться от имени суперпользователя и из того каталога, в котором размещены установочные фйлы. Утилита "extract" должна использоваться для распаковки архивов. Она представляет собой модернизированную версию утилиты GNU tar, в которую встроен код функции gzip, и которая используется несколько иначе в том случае, если вызывается под именем "extract". Одно существенное отличие состоит в том, что extract разлинковывет существующие файлы перед тем как записать новые, что большинство версий tar по умолчанию не делают. Это существенно в том случае, когда инсталляция производится поверх существующей версии X. Если Вы будете использовать другую утилиту для распаковки архивов, Вы должны иметь это ввиду.

4.1 Новая инсталляция

Самый простой случай, когда X-ы не были установлены. Процедура инсталляции в этом случае заключается в следующем.
     chmod +x extract
     mkdir /usr/X11R6
     mkdir /etc/X11
     ./extract -C /usr/X11R6 X[a-df-uw-z]*.tgz
     ./extract -C /usr/X11R6 Xvfb.tgz    # Если устанавливается Xvfb
     ./extract -C /etc/X11 Xetc.tgz
     ./extract -C /var Xvar.tgz
     ln -s /etc/X11/app-defaults /usr/X11R6/lib/X11
     ln -s /etc/X11/fs /usr/X11R6/lib/X11
     ln -s /etc/X11/lbxproxy /usr/X11R6/lib/X11
     ln -s /etc/X11/proxymngr /usr/X11R6/lib/X11
     ln -s /etc/X11/rstart /usr/X11R6/lib/X11
     ln -s /etc/X11/twm /usr/X11R6/lib/X11
     ln -s /etc/X11/xdm /usr/X11R6/lib/X11
     ln -s /etc/X11/xinit /usr/X11R6/lib/X11
     ln -s /etc/X11/xsm /usr/X11R6/lib/X11
     ln -s /etc/X11/xserver /usr/X11R6/lib/X11
     /sbin/ldconfig /usr/X11R6/lib       # Для Linux
     /sbin/ldconfig -m /usr/X11R6/lib    # Для FreeBSD, NetBSD, OpenBSD
     /usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc

4.2 Инсталляция поверх старой версии

Если у Вас уже установлена предыдущая версия X-ов, Вы должны сделать резервную копию ее перед установкой новой версии поверх старой.

Прежде чем начать делать что-либо еще, убедитесь, что команда extract исполнима, а также создайте линк на нее с именем "gnu-tar", так что ее можно будет использовать как обычную команду tar:

     chmod +x extract
     rm -f gnu-tar
     ln extract gnu-tar
Первая часть процедуры заключается в том, что старые конфигурационные файлы времени исполнения из /usr/X11R6/lib/X11 перемещаются в /etc/X11. Создайте каталог /etc/X11, если он еще не существует. Для каждого из следующих подкаталогов (app-defaults, fs, lbxproxy, proxymngr, rstart, twm, xdm, xinit, xsm, xserver), которые Вы собираетесь переместить, проверьте, что подкаталог с таким именем существует в /usr/X11R6/lib/X11. Создайте подкаталоги с такими именами в /etc/X11, после чего скопируйте файлы, выполнив следующие команды:
     ./gnu-tar -C /usr/X11R6/lib/X11/subdir -c -f - . | \
       ./gnu-tar -C /etc/X11/subdir -v -x -p -U -f -
Для каждого подкаталога, который перемещается, удалите исходный каталог в /usr/X11R6/lib/X11 и создайте символическую ссылку на его новое местоположение:
     rm -fr /usr/X11R6/lib/X11/subdir
     ln -s /etc/X11/subdir /usr/X11R6/lib/X11
Для тех подкаталогов, которые еще не существуют в /usr/X11R6/lib/X11, создайте их в /etc/X11 и создайте символические ссылки на них:
     mkdir /etc/X11/subdir
     ln -s /etc/X11/subdir /usr/X11R6/lib/X11
После того, как это сделано, извлеките конфигурационные файлы из архива Xetc.tgz во временный каталог:
     mkdir tmpdir
     ./extract -C tmpdir Xetc.tgz
а затем скопируйте каждый подкаталог в его новое положение:
     ./gnu-tar -C tmpdir/subdir -c -f - . | \
       ./gnu-tar -C /usr/X11R6/lib/X11/subdir -v -x -p -U -f -
Если Вы изменяли какой-то из конфигурационных файлов с целью приспособить его к своим вкусам и нуждам, Вы можете пропустить соответствующие подкаталоги или скопировать какие-то файлы вручную.

После того, как это сделано, можно выполнить основную часть инсталляции:

     ./extract -C /usr/X11R6 `pwd`/X[a-df-uw-z]*.tgz
     ./extract -C /usr/X11R6 Xvfb.tgz    # Если устанавливается Xvfb
     ./extract -C /var Xvar.tgz
     /sbin/ldconfig /usr/X11R6/lib       # Для Linux
     /sbin/ldconfig -m /usr/X11R6/lib    # Для FreeBSD, NetBSD, OpenBSD
     /usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml, v 1.10 2000/12/15 19:09:06 dawes Exp $
Читать дальше Вернуться к оглавлению

Последние изменения в содержание файла внесены 15 февраля 2001 г.