Шрифт:
Интервал:
Закладка:
О том, как вся эта теория применяется при настройке графического режима, будет рассказано в следующих разделах.
7.3. Конфигурирование X-сервера
Рассмотрим ситуацию, когда после инсталляции Linux вы либо не можете выйти в графический режим, либо недовольны тем, как выводится изображение в графическом режиме. Если вы при инсталляции задали автоматический выход в графический режим, то вам может показаться, что система вообще отказывается загружаться. Именно поэтому я рекомендовал вам при инсталляции отказаться от автоматической загрузки в графику. Если вы все же попали в такую ситуацию, то попробуйте выйти в однопользовательский режим. О том, как это сделать, рассказано в разд. 8.2.5.
Итак, в графический режим вы выйти не можете, но текстовый режим вам доступен, и, значит, можно воспользоваться некоторыми программами или командами ОС Linux для настройки графического режима. Будем предполагать, что пакет XFree86 у вас установлен, и все файлы, упоминаемые ниже, на диске имеются. Если это не так, то сначала установите пакет XFree86, (о том, как устанавливаются программные пакеты, рассказано в гл. 10). Если эти предварительные условия выполнены, я надеюсь, что приводимые ниже инструкции по настройке графического режима позволят вам осуществить эту настройку.
Предупреждение
Согласно документации к Xfree86 для некоторых типов мониторов, особенно старых моделей, задание недопустимых значений частот вертикальной и горизонтальной развертки может повредить монитор. Поэтому автор не может гарантировать, что, следуя приведенным ниже советам, вы получите желаемый результат, и не повредите вашему компьютеру! Все, что вы будете делать, вы будете делать на свой страх и риск!
7.3.1 Сбор необходимых данных
Для настройки вам потребуются некоторые данные, а именно:
• названия фирм-производителей видеоадаптера и монитора (берутся из документации; если нет, можно обойтись и без них);
• тип набора микросхем, применяемых в видеоадаптере (по нему определяется тип X-сервера, который должен работать у вас);
• объем имеющейся видеопамяти;
• допустимые интервалы частот горизонтальной и вертикальной синхронизации для вашего монитора (берутся из документации на монитор; эти две частоты надо узнать обязательно).
К числу необходимых для установки X Window сведений относятся также тип вашей мыши и клавиатуры. Работать в графическом режиме без мыши довольно неудобно, а без клавиатуры и вовсе нельзя, так что X-сервер должен быть настроен на использование имеющихся у вас типов этих устройств.
Кое-какую информацию можно получить с помощью программы SuperProbe (её вывод можно перенаправить в файл, например, sprobe.txt):
[root]# SuperProbe › sprobe.txt
Заглянув в этот файл (воспользуйтесь клавишей ‹F3› в программе Midnight Commander), вы узнаете тип набора микросхем и обьем имеющейся у вас видеопамяти. У меня, например, SuperProbe выдала в одном случае
Chipset: S3 Trio64 (Port Probed)
Memory: 1024 Kbytes
RAMDAC: Generic 8-bit pseudo-color DAC
(with 6-bit wide lookup tables (or in 6-bit mode))
в другом случае
Chipset: Trident 3DImage985 (PCI Probed)
Memory: 4096 Kbytes
RAMDAC: Trident Built-In 15/16/24-bit DAC
(with 6-bit wide lookup tables (or in 6-bit mode))
Тип микросхем видеоадаптера необходимо знать в том случае, если у вас третья версия XFree86. Вообще говоря, программа инсталляции Linux автоматически определяет, какой сервер у вас должен стоять и инсталлирует его. Одновременно в каталоге /etc/X11/ формируется ссылка с именем X на этот сервер примерно такого вида:
@X -› /usr/X11R6/bin/XF86_SVGA (для 3 й версии XFree86).
@X -› /usr/X11R6/bin/XFree86 (для 4 й версии XFree86).
Загляните в каталог /etc/X11 и если обнаружите, что файла-ссылки с именем X там нет, создайте такую ссылку командой
[root]# ln -s /usr/X11R6/bin/XFree86 X
(естественно, файл /usr/X11R6/bin/XFree86 должен существовать).
7.3.2 Структура файла /etc/X11/XF86Config
Конфигурация X-сервера определяется файлом /etc/X11/XF86Config (для 3 й версии XFree86) или /etc/X11/XF86Config-4 (для 4 й версии XFree86), поэтому самый правильный способ настройки X-сервера состоит в прямом редактировании этого файла.
Примечание
Если быть точным, то X-сервер при запуске ищет конфигурационный файл в нескольких местах, а именно:
• /etc/X11/XF86Config-4
• /etc/XF86Config
• /etc/X11/XF86Config
• /usr/X11R6/etc/XF86Config
• ‹XRoot›/lib/X11/XF86Config, где ‹XRoot› означает каталог, в котором была установлена система XFree86 (обычно это /usr/X11R6).
Создавать файл XF86Config полностью с нуля не стоит. Если вы не отказались от установки X Window в процессе инсталляции системы (именно от установки, а не от автоматического запуска, не путайте!), то такой файл у вас уже есть. Если по каким-то причинам вы устанавливали XFree86 отдельно от установки Linux, то запустите одну из программ, которые позволяют такой файл сформировать. Когда у меня стояла 3-я версия XFree86, я пользовался для создания этого файла программой Xconfigurator. В 4 й версии для создания конфигурационного файла можно воспользоваться утилитами xf86config или xf86cfg, или же использовать опцию configure X-сервера. Для этого дайте такую команду:
[root]# /usr/X11R6/bin/XFree86 -configure
Эта команда молча отрабатывает, сообщая в конце, что создала новый конфигурационный файл /root/XF86Config.new. Ниже приводится файл /root/XF86Config.new, который сформировался у меня (в дальнейшем речь пойдет в основном о версии 4 XFree86, так что особых упоминаний об этом делать не будем.).
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"
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 8
EndSubSection
SubSection "Display"
Depth 15
EndSubSection
SubSection "Display"
Depth 16
EndSubSection
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "DRI"
EndSection
Как видите, файл XF86Config состоит из нескольких секций, имеющих следующую структуру:
Section "Название_секции"
Identifier "Name"
SectionEntry
…
EndSection
Строки, начинающиеся символом "#", являются комментариями. Секции могут быть расположены в файле в произвольном порядке. Могут присутствовать следующие секции:
• ServerLayout - общие установки;
• InputDevice - описания устройств ввода;
• Screen - конфигурация экрана;
• Device - описания графических карт;
• Monitor - описания монитора;
• Modes - описания видеорежимов;
• Files - пути к файлам;
• ServerFlags - опции сервера;
• VideoAdaptor - описание адаптера Xv (как сказано в интерактивном руководстве man, никто не говорит, что это такое, даже если знает!);
• Module - динамически загружаемые модули;
• DRI - конфигурация DRI;
• Vendor - установки для оборудования конкретных поставщиков (Vendor-specific configuration).
причем наличие всех секций не обязательно, но могут существовать несколько разных секций одного типа (только они должны иметь уникальные идентификаторы).
Секция ServerLayout имеет наивысший приоритет, т. е. именно с нее начинается анализ файла XF86Config при загрузке X-сервера. Эта секция определяет, какие устройства ввода/вывода будут использоваться в X-сессии. Устройства ввода - это клавиатура и мышь, которые задаются в секциях InputDevice (такие секции создаются отдельно для каждого устройства). Устройства вывода обычно состоят из нескольких независимых компонентов (графический адаптер и монитор), которые связываются воедино в секции Screen, на которую указывает ссылка в секции ServerLayout. Таким образом, секция ServerLayout должна содержать, как минимум, следующие строки:
- Windows Vista. Для профессионалов - Роман Клименко - Программное обеспечение
- Linux From Scratch - Gerard Beekmans - Программное обеспечение
- Знакомьтесь: Windows 7 - Владимир Пташинский - Программное обеспечение