XFree86 4.0.2 - это третий полный релиз 4-ой версии XFree86.
Настоящая статья в значительной части является переводом руководства по установке, поставляемого вместе с XFree86 версии 4.0.2 (это руководство датировано 15 декабря 2000 г.). Я дополнил перевод небольшим количеством собственных комментариев и дополнений, являющихся результатом моего собственного опыта установки данной версии XFree86 (такие дополнения обычно даются от первого лица, так что Вы легко сможете выделить их из остального текста).
sh Xinstall.sh -checkВ результате эта утилита сообщит Вам, какой именно набор установочных файлов Вам необходимо скачать. В результате Вы сэкономите массу времени, не перекачивая файлы, несовместимые с Вашей системой.
Замечания:
Мой Вам совет - воспользуйтесь для перекачки 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 Документация на японском языкеЗамечания:
До начала процедуры инсталляции следует обязательно сохранить копию предыдущей версии XFree86 (если у Вас она была установлена). При этом, если Вы хотите, чтобы все ранее установленные в Вашей системе графические приложения продолжали работать, то нужно не просто переименовать существующий каталог /usr/X11R6, а сохранить где-нибудь его копию (как Вы понимаете, лучше всего на другом диске). Инсталляцию же надо проводить "поверх" существующей версии.
Кроме каталога /usr/X11R6 инсталляционный скрипт рекомендует еще сохранить каталог /etc/X11 (хотя в руководстве по установке такой совет отсутствует). Если впоследствии Вы столкнетесь с какими-то проблемами, Вы сможете просто заменить измененные версии каталогов /usr/X11R6 и /etc/X11 на сохраненные и вернуть тем самым предыдущую инсталляцию (я проверил это на собственном опыте и убедился, что после такого возвращения все работает нормально, так же как работало до установки XFree86 новой версии).
Еще один совет позволю на основании собственного опыта: позаботьтесь о том, чтобы в файловой системе, в которой расположен каталог /usr, имелось не менее 100 МБ свободного места.
Затем нужно закрыть X-сессию (инсталляцию надо проводить в консольном режиме). Если Вы попытаетесь провести инсталляцию в графическом режиме, инсталляционный скрипт предупредит Вас о том, что это не лучшая идея (инсталлятор проверяет, установлена ли переменная $DISPLAY). Если только у Вас нет особых оснований для выполнения инсталляции в графическом режиме (я таких оснований не знаю), лучше выйти из X-сессии, а также остановить xdm и другие аналогичные программы.
Для того, чтобы запустить инсталляционный скрипт, нужно получить права суперпользователя. Так что после сохранения предыдущей версии XFree86 и выхода из графического режима (или еще до этого) выполните команду su.
После того, как все подготовительные операции завершены, разместите все установочные файлы в отдельном каталоге, перейдите в этот каталог (сделайте его текущим) и запустите инсталляционный скрипт:
sh Xinstall.sh
Если у Вас была установлена предыдущая версия системы 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
XFree86 -configureФормат конфигурационного файла X-сервера (XF86Config) изменился по сравнению с версией 3.3.x. По умолчанию он располагается теперь в /etc/X11. Кроме того, теперь только один вариант X-сервера для управления аппаратной частью видео-подсистемы и он называется "XFree86". Если Вы удовлетворены работой нового X-сервера, Вы можете удалить все старые бинарники X-серверов с именами XF86_* и/или XF98_* из каталога /usr/X11R6/bin.
После того, как с конфигурированием X-сервера покончено, следует перезагрузиться, в особенности если Вы используете менеджер рабочих столов xdm (или его эквивалент) или фонт-сервер (xfs).
Это все, что сказано в руководстве о настройке новой версии XFree86. Естественно, что этого мало, так как настройка графической подсистемы всегда была и, по-видимому, остается самой нетривиальной частью инсталляции ОС Линукс. У меня, по крайней мере, пока ничего с настройкой не получилось. Так что я закончу сейчас здесь перевод исходного руководства, а о своих мучениях с новой версией расскажу позже, в разделе 5, какового в исходном руководстве нет.
В этом разделе рассказывется о том, как установить бинарный дистрибутив XFree86 4.0.2 вручную. Однако пользоваться этим методом следует только в том случае, если Вы знаете, что делаете. Приведенная здесь информация охватывает многие, но далеко не все возможные ситуации.
Разместите все установочные файлы в одном каталоге (этот каталог нужен только временно). Получите права суперпользователя (root). Все следующие команды должны выполняться от имени суперпользователя и из того каталога, в котором размещены установочные фйлы. Утилита "extract" должна использоваться для распаковки архивов. Она представляет собой модернизированную версию утилиты GNU tar, в которую встроен код функции gzip, и которая используется несколько иначе в том случае, если вызывается под именем "extract". Одно существенное отличие состоит в том, что extract разлинковывет существующие файлы перед тем как записать новые, что большинство версий tar по умолчанию не делают. Это существенно в том случае, когда инсталляция производится поверх существующей версии 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
Прежде чем начать делать что-либо еще, убедитесь, что команда 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
Заглянув в каталог /etc/X11, обнаруживаем, что нового файла XF86Config там нет, там сохранен конфигурационный файл от предыдущей версии. Там также осталась неизмененной ссылка на сервер XF86_SVGA. Очевидно, что надо поправить ссылку и создать новый конфигурационный файл. Ссылку создаем командой
ln -s /usr/X11R6/bin/XFree86 Xа для создания конфигурационного файла, как было сказано выше, существует три разных способа. Я решил последовательно опробовать все три.
После того, как я воспользовался утилитой xf86config для создания конфигурационного файла XF86Config и перезапустил систему, ничего не заработало (именно в этот момент я проверил упомянутую выше возможность возвращения к предыдущей версии XFree86 за счет восстановления каталогов /usr/X11R6 и /etc/X11). Я отнес эту неудачу за счет того, что утилита XF86Config создана еще для старых версий XFree86 и создает она файл XF86Config старого формата (а ведь формат этого файла изменился в версии 4).
Поэтому я попробовал воспользоваться утилитой xf86cfg. Эта утилита вроде должна работать в графическом режиме. У меня даже выводилась на краткий миг какая-то картинка, после чего монитор снова переключался в текстовый режим и выдавалось сообщение, что "для Вас создан конфигурационный файл /root/XF86Config.new. Но запуск графической оболочки (после перемещения XF86Config.new в каталог /etc/X11 под именем XF86Config) так и не привел к желаемому результату. Замечу кстати, что и после того, как мне удалось настроить X-ы, запуск утилиты xf86cfg тоже оканчивался безрезультатно, несмотря на то, что в man-странице к этой программе утверждается, что она предназначена для внесения изменений в текущую конфигурацию (make customization to the current configuration).
Тогда я попробовал третий способ - использовать опцию -configure X-сервера:
XFree86 -configureЭта команда молча отрабатывает, сообщая в конце, что создала новый конфигурационный файл /root/XF86Config.new. Ниже приводится файл /root/XF86Config.new, который сформировался у меня.
Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" ModulePath "/usr/X11R6/lib/modules" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/CID/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" EndSection Section "Module" Load "extmod" Load "xie" Load "pex5" Load "glx" Load "dri" Load "GLcore" Load "dbe" Load "record" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "PS/2" Option "Device" "/dev/mouse" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" EndSection Section "Device" ### Available Driver options are:- #Option "SWcursor" #Option "PciRetry" #Option "NoAccel" #Option "SetMClk" #Option "MUXThreshold" #Option "ShadowFB" #Option "Rotate" #Option "VideoKey" #Option "NoMMIO" #Option "NoPciBurst" #Option "MMIOonly" #Option "CyberShadow" Identifier "Card0" Driver "trident" VendorName "Trident" BoardName "3DImage985" BusID "PCI:1:0:0" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Depth 1 EndSubSection SubSection "Display" Depth 4 EndSubSection SubSection "Display" Depth 8 EndSubSection SubSection "Display" Depth 15 EndSubSection SubSection "Display" Depth 16 EndSubSection SubSection "Display" Depth 24 EndSubSection EndSection Section "DRI" EndSectionВначале я, конечно, заглянул в этот файл. Что сразу обращает на себя внимание, по сравнению с таким же файлом предыдущей версии, - полное отсутствие комментариев (в 3-ей версии можно было пытаться разобраться в настройках с помощью только комментариев). Отсутствуют также строки "Modeline", которые раньше служили для задания режима работы монитора. Пришлось заглянуть в man XF86Config. Там написано следующее:
Файл XF86Config состоит из нескольких секций, имеющих следующую структуру:
Section "SectionName" SectionEntry ... EndSectionСекции могут быть расположены в файле в произвольном порядке. Могут присутствовать следующие секции
ServerLayout Общие установки (Overall layout) InputDevice Описания устройств ввода Screen Конфигурация экрана Device Описания графических карт Monitor Описания монитора Modes Описания видеорежимов Files Пути к файлам ServerFlags Опции сервера (Server flags) VideoAdaptor Описание адаптера Xv (как сказано в man, никто не говорит, что это такое, даже если знает!) Module Динамически загружаемые модули DRI Конфигурация DRI Vendor Установки для оборудования конкретных поставщиков (Vendor-specific configuration)причем наличие всех секций не обязательно, но может существовать несколько разных секций одного типа (только они должны иметь уникальные идентификаторы). Секция ServerLayout имеет наивысший приоритет. Она определяет, какие устройства ввода/вывода будут использоваться в X-сессии. Устройства вывода обычно состоят из нескольких независимых компонент (графический адаптер и монитор), которые связываются воедино в секции Screen, на которую указывает ссылка в секции ServerLayout. Графический адаптер задается в секции Device, а монитор - в секции Monitor.
Секций Monitor в файле может быть несколько, они различаются уникальными идентификаторами (первая строка в секции). Перечисление режимов монитора в этой секции теперь является необязательным, поскольку X-сервер имеет теперь встроенный список стандартных VESA-режимов. Однако явное задание режима в секции Monitor и не возбраняется, причем если заданный Вами режим получит такое-же название, как один из стандартных режимов, будут использованы Ваши установки. Встроенные режимы с именами, не встречающимися в секции Monitor, будут использоваться сами по себе.
Видеорежимы могут быть заданы также в секции Modes. Таких секций в файле может быть несколько. Каждая из них задает некоторый набор видеорежимов, на который можно сослаться из секции Monitor, используя ключевое слово UseModes. В большинстве случаев нет необходимости в наличии секции Modes и строки UseModes, так как достаточно встроенного в сервер набора видеорежимов, соответствующих стандарту VESA.
Полученный конфигурационный файл можно опробовать с помощью команды
XFree86 -xf86config /root/XF86Config.newно, я сразу перенес его в каталог /etc/X11 под именем XF86Config и провел попытку запустить графический режим, окончившуюся неудачей (так и хочется сказать, "как и следовало ожидать", хотя ожидать всегда хочется другого).
Этот файл и будем редактировать для настройки графической системы. Но прежде давайте посмотрим, что же в нем неправильно. Для этого воспользуемся командой
[root]# X -probeonly > probe.log 2>&1Эта команда запускает систему X Window в тестовом режиме и выдает протокол в файл probe.log. Надо заметить, что в такой форме команда сработает только при условии, что Вы создали ссылку с именем X, как это было сказано в начале настоящего раздела. Если такая ссылка не была создана, то вместо X надо указывать XFree86 (может быть, даже с указанием пути). После запуска этой команды на экране что-то помелькает и вновь появится командная строка оболочки, а в текущем каталоге появится файл probe.log.
В этом файле масса очень полезной информации, которую надо использовать при настройке X-ов (отметим, что в файле протокола /var/log/XFree86.0.log содержится еще больше информации, но нам достаточно и того, что есть в probe.log). В первых строках файла probe.log содержатся сообщения о версии XFree86 и версии ядра Линукс. Затем идет сообщение о том, куда записывается протокол работы (у меня /var/log/XFree86.0.log) и какой конфигурационный файл используется (/etc/X11/XF86Config).
(==) Log file: "/var/log/XFree86.0.log", Time: Mon Feb 12 17:20:25 2001 (==) Using config file: "/etc/X11/XF86Config"
Далее в probe.log идет небольшое пояснение тех служебных пометок, которые используются в этом файле в начале информационных строк:
Сообщения об ошибках надо, естественно, постараться убрать путем соответствующей модификации файла "/etc/X11/XF86Config". Но мы пока продолжим рассмотрение файла probe.log, в котором далее идет несколько чисто информационных строк (отметим, что в них отображена взаимосвязь секций конфигурационного файла):
(**) |-->Screen "Screen0" (0) (**) | |-->Monitor "Monitor0" (**) | |-->Device "Card0" (**) |-->Input Device "Mouse0" (**) |-->Input Device "Keyboard0" (**) FontPath set to "unix/:-1,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/CID/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/" (**) RgbPath set to "/usr/X11R6/lib/X11/rgb" (**) ModulePath set to "/usr/X11R6/lib/modules" (--) using VT number 7и сообщения о том, какие модули загружаются, вроде следующего:
(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a (II) Module bitmap: vendor="The XFree86 Project" compiled for 4.0.2, module version = 1.0.0Поскольку о модулях я пока ничего сказать не могу, то я оставил секцию "Module" без изменения, несмотря на то, что один из модулей сообщал об ошибке:
(WW) Warning, couldn't open module mga_hal (EE) MGA: Failed to load module "mga_hal" (module does not exist, 0)Но на другие сообщения с кодом (EE) надо, естественно, обратить самое пристальное внимание и постараться ошибки исправить. Не имея опыта, я не могу дать более конкретных рекомендаций о том как исправлять те или иные ошибки. После исправления явных ошибок беремся за строки с предупреждениями. В частности, стоит проверить, нет ли строк следующего вида:
(WW) MGA(0): Monitor0: Using default hsync range of 28-33kHz (WW) MGA(0): Monitor0: using default vrefresh range of 43-72Hzвслед за которыми наверняка встретится множество указаний на отбраковку каких-то видеорежимов монитора, поскольку частоты вертикальной и горизонтальной синхронизации заданы неправильно. Правильные значения надо найти в спецификации на Ваш монитор, после чего вставить в секцию "Monitor" файла /etc/X11/XF86Config две строки с указанием правильных интервалов:
HorizSync 30-70 VertRefresh 50-120Снова выполнив после этого команду
X -probeonly >probe.log 2>&1и заглянув в файл probe.log, Вы увидите, что число строк с отбракованными видеорежимами существенно уменьшилось, а значит, увеличились Ваши возможности по выбору удобного для Вас видеорежима. Давайте его зададим. Сначала снова заглянем в файл probe.log и отыщем две строки следующего вида (цифры у Вас, конечно, могут быть другими):
(--) MGA(0): Virtual size is 640x480 (pitch 640) (**) MGA(0): Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hzа также строку вида (она находится где-то отдельно от двух предыдущих)
(**) MGA(0): Depth 24, (--) framebuffer bpp 24В совокупности эти три строки указывают на то, что у Вас (точнее, у меня) используется глубина цвета 24 и разрешение экрана "640x480" с частотой обновления картинки 60 Гц. Такие параметры совершенно неудовлетворительны, поэтому снова обращаемся к корректировке /etc/X11/XF86Config. Вначале надо задать нужную глубину цвета. Естественно, побольше. Предельно допустимое значение определяется объемом видеопамяти. О том, как его рассчитать, можете посмотреть в разделе о конфигурировании X-сервера для 3-ей версии XFree.
В файле /etc/X11/XF86Config для каждой глубины цвета задается своя подсекция "Display" в секции "Screen". Выбор нужной подсекции определяется строкой вида "DefaultDepth 24" секции "Screen". Чтобы изменить разрешение экрана, вставляем во все подсекции "Display" ("SubSection "Display" ) секции "Screen" строку
Modes "1024x768"(разрешение выбираете по своему вкусу из стандартного ряда "640x350", "640x400", "640x480", "800x600", "1024x768", "1152x864", "1280x1024", "1600x1200" и т.д.). Можно ограничиться добавлением только одной такой строки в ту подсекцию "Display", которая задана строкой "DefaultDepth". После этого снова сначала выполняем команду
X -probeonly >probe.log 2>&1чтобы убедиться, что нет грубых ошибок, и, если таковых нет, можем рискнуть и запустить графический режим командой startx.
Надо иметь в виду, что отсутствие указаний на ошибки еще не гарантирует успешного запуска графического режима. Если после startx Вы увидите черный экран, то выйдите из графического режима с помощью комбинации [Ctrl]-[Alt]-[Backspace] и снова внимательно проанализируйте вывод команды
X -probeonly >probe.log 2>&1Если графический режим не запускается, попытайтесь задать меньшее разрешение или меньшую глубину цвета. Мне таким образом удалось добиться на одном из компьютеров успешного запуска графического режима при желаемом разрешении "1024x768" (правда, KDE не запустилась, но об этом чуть позже). Но на другом компьютере при этом разрешении ничего не получалось, графическая оболочка нормально загружалась только при разрешении "800x600", а при более высоком загрузка осуществлялась, но экран дрозжал и трясся.
С этой проблемой мне удалось справиться путем явного задания строки Modeline в секции "Monitor" и подбора указанных в ней значений параметров. Делал я это следующим образом. Вначале, не обращая внимания на мерцание и дрожание экрана, запустил графический режим и программу xvidtune. С ее помощью (кнопка "Show") определил, что по умолчанию используется режим, имеющий следующие параметры:
# 1024x768 @ 85 Hz, 68.31 kHz hsync Modeline "1024x768" 94.5 1024 1072 1168 1376 768 769 772 808 +hsyncЯ прописал эти две строки явным образом в секции "Монитор" и стал менять различные параметры строки Modeline. В конце концов определил, что причиной дрожания изображения являлось то, что была задана слишком высокая частота тактового генератора (DotClock) - 94.5 МГц. Уменьшение ее до 94 МГц привело к стабилизации изображения. Частота обновления экрана при этом снизилась до 84,55 Гц, но это, на мой взгляд, несущественно. Впрочем, при желании ее можно даже повысить, если еще поэкспериментировать с программой xvidtune. Я же этим ограничился, а окончательную корректировку изображения провел с помощью аппаратных средств монитора.
Начнем, пожалуй со шрифтов. При решении проблемы шрифтов я обратился к собственным заметкам об установке фонтов в Линукс. Если хотите подробно, то прочитайте эти заметки или их печатный вариант в журнале "BYTE/Россия" (# 12 за 2000 год). А если вкратце, то проделайте следующее:
[root]# ps ax | grep xfsВы должны увидеть строку примерно такого вида:
401 ? S 0:04 xfs -droppriv -daemon -port -1По этой строке можно определить, какой порт использует эта программа. Этот же номер должен быть указан в строке вида
FontPath "unix/:port_number"в секции "Files" в конфигурационном файле X-сервера /etc/X11/XF86Config.
FontPath "unix/:-1"(номер порта проверьте!). В заключение приведу секцию "Files" из /etc/X11/XF86Config в том виде, какой она приняла у меня. В ней всего три строки:
RgbPath "/usr/X11R6/lib/X11/rgb" ModulePath "/usr/X11R6/lib/modules" FontPath "unix/:-1"Я не стал бездумно удалять строки с указаниями путей к фонтам, появмвшиеся при установке XFree версии 4, а проверил вначале, что все указанные в них пути перечислены в конфигурационном файле фонт-сервера /etc/X11/fs/config. В моем случае оказалось, что все они уже были там указаны, у Вас может оказаться иначе. Заодно проверьте, что все каталоги фонтов, указанные в /etc/X11/fs/config, существуют и в них имеются файлы fonts.dir.
Теперь восстановим KDE. Может быть у Вас проблем и нет, а у меня на обеих компьютерах после установки XFree86 4.0.2 KDE перестал загружаться по startx. На одном вылез оконный менеджер twm, на другом - уж не помню что, кажется GNOME.
Первым делом проверьте содержимое файла /etc/sysconfig/desktop. В нем достаточно иметь одно слово: "KDE", хотя у меня там стоит "DESKTOP="KDE", что тоже не мешает. Содержимое этого файла проверяется при запуске скрипта startx. Скрипт startx находится в каталоге /usr/X11R6/bin. Думаю, что если Вы до установки новой версии XFree использовали KDE, то проще всего файл startx восстановить из сделанной Вами резервной копии. Если такой резервной копии у Вас нет, то придется подредактировать startx заново. Некоторые рекомендации на эту тему Вы можете найти у меня в разделе о настройке X Window.
Однако у меня после этого осталась еще одна нерешенная проблема: в окне программы "Консоль" в KDE перестал работать переключатель режимов работы клавиатуры (рус/лат). Впрочем, не работал он и текстовых редакторах. В обычной текстовой консоли переключатель (Ctrl-Shift) работал без проблем. Бился я с этой проблемой довольно долго и решение нашел такое.
Во-первых, в секцию "InputDevice" конфигурационного файла /etc/X11/XF86Config я вписал следующие строки:
Option "XkbKeycodes" "xfree86" Option "XkbTypes" "default" Option "XkbCompat" "default" Option "XkbSymbols" "us(pc102)" Option "XkbGeometry" "pc" Option "XkbRules" "xfree86" Option "XkbOptions" "grp:ctrl_shift_toggle" Option "XkbModel" "pc102" Option "XkbLayout" "ru"(фактически я взял их из файла /etc/X11/XF86Config для 3-ей версии, только добавил в начало каждой строки слово Option и добавил необходимые кавычки).
Затем я начал экспериментировать с порядком расположения строк с указаниями путей к фонтам с файле /etc/X11/fs/config. Фонт-сервер ищет нужный фонт в этих каталогах последовательно. В конце концов мне удалось найти такой порядок перечисления путей, при котором переключатель (Ctrl-Shift) заработал.
Но осталась еще проблема с клавишей Backspace: ее нажатие не имело никакого эффекта при редактировании файлов во встроенном редакторе программы Midnight Commander (Cooledit). При этом в командной строке программы Midnight Commander клавиша Backspace работает вполне корректно, а после запуска редактора по F4 - работать перестает.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Date: Вт, 24 апр 2001 12:44:04 From: Alexander VasiljevTo: kos@nbrt.kazan.su Subject: re:XFree4-install ---------------------------------------------------------------------------- Здравствуйте, В.А. Прочитал Вашу замечательную статью об инсталляции новых иксов и попробовал повторить процедуру на своей машине (RH 7.0, XFree 4.0.0). Автоматическая установка прошла успешно, хотя после неё сразу ничего не заработало ;). 4.0.0 "понимали" XF86config старого формата или по крайней мере молчаливо соглашались его использовать. С новыми иксами пришлось XFree86 -configure. Видеокарточку и монитор распознали правильно (S3 Trio3D/2X & ViewSonic соответственно), для видеокарточки в конфиге любезно прописали закомментированные опции настройки. Вставил DefaultDepth 24 (по умолчанию было - 8). Чуть увеличил HorizSync для монитора. Из старого XF86 перенёс Option "XkbModel" "pc104" Option "XkbLayout" "ru(winkeys)" Option "XkbOptions" "grp:ctrl_shift_toggle" и настройки для колёсной мыши (тоже с добавлением "Option" в начале). В результате иксы стали запускаться, графическая оболочка - нет. Покопался в startx и скопировал старые (от RH 7.0) /usr/X11R6/bin/startx /usr/X11R6/lib/X11/xinit/xinitrc на место. Всё заработало. А апгрейд с 4.0.2 до 4.0.3 прошёл вообще без каких-либо проблем, для него понадобилось только sh Xinstall.sh. с наилучшими, Александр Васильев.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |