Выбрать главу

[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 должна содержать, как минимум, следующие строки:

Section "ServerLayout"

 Identifier "MainSection"

 Screen 0 "Screen0" 0 0

 InputDevice "Mouse0" "CorePointer"

 InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Секция Screen определяет используемые монитор и видеоадаптер и задает режимы работы экрана. Она может иметь примерно такой вид:

Section " Screen"

 Identifier "Screen0"

 Device "Trident 3DImage985 (generic)"

 Monitor "ViewSonic|ViewSonic G771"

 DefaultColorDepth 24

 Subsection "Display"

  Depth 8

  Modes "1024x768" "800x600" "640x400"

  ViewPort 0 0

 EndSubsection

 Subsection "Display"

  Depth 16

  Modes "1024x768" "800x600" "640x480"

  ViewPort 0 0

 EndSubsection

 Subsection "Display"

  Depth 24

  Modes "1024x768" "800x600" "640x480"

  ViewPort 0 0

 EndSubsection

 Subsection "Display"

  Depth 32

  Modes "1024x768" "800x600" "640x480"

  ViewPort 0 0

 EndSubsection

EndSection

Как видите, она содержит указания на используемый графический адаптер (задается в секции Device с идентификатором "Matrox Millenium G200") и монитор (задается в секции Monitor с идентификатором "Monitor0").

Cекция Screen может содержать несколько подсекций (Subsection) Display, по одной такой подсекции на каждую глубину цвета. В каждой такой подсекции вы должны прописать те режимы монитора, которые будете использовать. Режимы задаются в строке Modes. Они указываются путем перечисления их наименований, взятых из секции Monitor (в точности в том виде, как эти названия указаны после слова Modeline). В одной строке можно перечислить любое число таких имен режимов. Первый из указанных режимов будет запускаться по умолчанию, в остальные можно будет переключаться (циклически), нажимая комбинацию клавиш ‹Ctrl›+‹Alt›+‹+› или ‹Ctrl›+‹Alt›+‹-› (используются клавиши ‹+› и ‹-› на цифровой клавиатуре).