Linux для пользователя
Шрифт:
Первое слово в каждом формате (Modeline или Mode), как и слово EndMode, являются служебными. По ним X-сервер определяет, что данная строка или группа строк служат для задания видеорежима. Следующее слово (в кавычках) является названием данного режима. Вы можете выбрать это название по своему вкусу (хотя, как пишет Игорь Николаев [П9.1], "я бы не стал использовать в названии ничего, кроме цифр
Следующее число (оно может быть дробным) задает тактовую частоту развертки (частоту вывода точек на экран) в мегагерцах.
Далее следуют четыре целых числа (группа Htimings), определяющих параметры строки, а, значит, разрешение по горизонтали. Первое из этих чисел задает число видимых точек в строке. Чтобы пояснить значение следующих трех чисел, надо иметь в виду, что началом строки на экране считается не самая левая точка в строке (она попадает в невидимую, затемненную область экрана), а левая граница видимого изображения. Поэтому первое число в этой группе определяет число точек от начала до конца видимой части строки. Второе число - число точек от начала строки до начала импульса горизонтальной синхронизации (в этот момент начинается перемещение электронного луча с правой границы экрана на левую).
Третье число - число тактов развертки от начала изображения до того момента, когда электронный луч будет готов к выводу следующей строки изображения. То есть разность третьего и второго чисел задает длительность интервала, отводимого на перевод электронного луча от правой (с точки зрения пользователя) границы экрана к левой границе. И, наконец, четвертое число - общее число тактов, затрачиваемых на формирование одной строки изображения (с учетом невидимой части и времени, необходимого для перевода луча на новую строку).
Аналогично формируются следующие 4 числа (VTimings) в описании формата, только в данном случае речь будет идти о числе строк на экране (видимых и невидимых) и импульсе вертикальной синхронизации (началом экрана считаем верхнюю границу видимой части изображения).
О последней группе параметров в описании видеорежима (группа Flags) мы поговорим позже, когда рассмотрим вопрос о том, как правильно сформировать значения числовых параметров.
В большинстве случаев нет необходимости в наличии секции Modes и строки UseModes, так как достаточно встроенного в сервер набора видеорежимов, соответствующих стандарту VESA. При запуске X-сервера он автоматически выбирает из возможных режимов лучший вариант, поддерживаемый монитором и видеокартой (решение принимается на основе значений, указанных в строках HorizSync и VertRefresh секции Monitor, так что очень важно, чтобы они были заданы корректно).
Следующая секция Device, описывает вашу видеоплату. По-видимому, самая важная строка в этой секции - указание на драйвер. У меня эта строка имеет вид:
В этой секции могут быть также указаны следующие данные:
• тип набора микросхем (Chipset);
• количество видеопамяти (указывается в килобайтах);
• допустимые значения тактовой частоты развертки (dot-clocks) или наименование используемого генератора тактовой частоты;
• тип RAMDAC (RAMDAC - это часть графического контроллера, отвечающая за преобразование изображения из цифровой в аналоговую форму). Эти параметры были, по-видимому, критичны для старых видеоплат, но для современных они перестали играть существенное значение. Большинство современных видеоплат имеют программируемые генераторы частот, которые могут задавать тактовую частоту развертки в очень широких пределах. Только в том случае, если у вас какой-то экзотический тип видеоплаты (особенно если вы знаете, что она поддерживает только ограниченное число частот генератора), надо позаботиться о корректном задании режимов в этой секции. В этом случае вначале воспользуйтесь программой SuperProbe для того, чтобы узнать нужные параметры, а затем пропишите полученные значения в секции Device.
Две секции InputDevice определяют мышь и клавиатуру (в 3-й версии XFree86 вместо секций InputDevice имелись секции: Keyboard и Pointer). Во-первых, здесь нужно указать тип клавиатуры. Помните, что обычная клавиатура для персональных компьютеров обозначается как "Generic 102-key PC (intl)" вместо предлагаемого по умолчанию варианта "Generic 101-key PC". Однако наиболее часто сейчас встречаются 104-клавишные клавиатуры, так что секция, определяющая конфигурацию клавиатуры должна содержать следующие строки:
Последняя из этих строк определяет переключатель, который будет менять раскладку клавиатуры с американской на русскую (в данном примере - ‹Ctrl›+‹Shift›).
Кроме того, здесь можно указать протокол для работы с клавиатурой (Xqueue или Standart), скорость повтора (the repeat rate), а также переопределить значения некоторых клавиш. Для начала, пожалуй, не стоит тут слишком экспериментировать. Подробнее о настройке клавиатуры будет рассказано в разд. 9.3.
В отдельной секции InputDevice задаются параметры работы мыши. Самые существенные в этой секции 2 строки (для примера привожу строки из своего файла):
определяющие протокол и файл устройства. Если ваша мышь подключена к специальному ("мышиному") разъему, то в качестве параметра Protocol должно быть указано либо "PS/2", либо более длинное слово, оканчивающееся на "PS/2". Остальные протоколы используются для мышей, подключаемых через последовательный порт. Обратите внимание на то, что не всегда протокол совпадает с названием фирмы-производителя. Так, некоторые из мышей фирмы Logitech используют либо протокол MouseMan, либо Microsoft. Если ваша мышь выпущена относительно недавно, можно поставить "Auto" в графе Protocol.
Секция Files содержит несколько строк, в которых прописаны пути к файлу с базой цветов (это таблица, задающая соответствия между цифровым и словесным заданием цветов, эту строку не стоит редактировать) и каталогам с файлами шрифтов. Путей к каталогам со шрифтами может быть задано несколько. Убедитесь только, что все указанные каталоги существуют и действительно являются каталогами шрифтов (там должен быть специальный файл fonts.dir, создаваемый командой mkfontdir, этот файл не рекомендуют создавать вручную). Если при запуске сервер будет выдавать сообщение типа "Can't open default font 'fixed'" или что-то еще в таком роде, это свидетельствует о том, что в секции Files ошибка в указании пути к файлу шрифтов (нужный шрифт не найден).
В этой же секции могут быть заданы пути к каталогам, содержащим загружаемые модули. Какие именно модули загружаются, и параметры загрузки определяются в секции Module, о которой мы сейчас говорить не будем, как и о секциях ServerFlags, VideoAdaptor, DRI, Vendor. Оставьте эти секции в том виде, как они созданы программой конфигурации.
7.3.3 Настройка /etc/X11/XF86Config
Теперь, когда вы знаете, как устроен файл XF86Config, определяющий настройки X сервера, и где какую настойку задавать, давайте подробно разберем, как его (X сервер) настроить, редактируя файл /etc/X11/XF86Config. Точнее, нашей целью пока что будет только получение на экране серого прямоугольника с крестиком-курсором посередине, а процедура запуска графической среды в целом будет рассматриваться позже.