У Вас ошибка в курсе |
Графический интерфейс
Настройка /etc/X11/XF86Config
Теперь, когда вы знаете, как устроен файл XF86Config, определяющий настройки X сервера, и где какую настройку задавать, давайте подробно разберем, как его (X сервер) настроить, редактируя файл /etc/X11/XF86Config. Точнее, нашей целью пока что будет только получение на экране серого прямоугольника с крестиком-курсором посередине, а процедура запуска графической среды в целом будет рассматриваться позже.
Как было сказано выше, создать первоначальную версию файла /etc/X11/XF86Config можно с помощью программы Xconfigurator в 3 й версии XFree86 или командой:
[root]# /usr/X11R6/bin/XFree86 -configure
в 4-й версии XFree86. В последнем случае создается конфигурационный файл /root/XF86Config.new. Его можно опробовать с помощью команды
[root]# XFree86 -xf86config /root/XF86Config.new
явно указывая X-серверу, какой конфигурационный файл использовать. Но проще сразу перенести его в каталог /etc/X11 под именем XF86Config-4 и работать стандартным образом.
Итак, вы имеете какой-то вариант файла /etc/X11/XF86Config-4. Попробуйте просто запустить графический режим командой X (еще раз напомню, что это просто ссылка на сервер и если команда не работает, то ссылка должна быть создана, либо нужно вместо X указывать имя используемого сервера, может быть, даже с указанием полного пути). Если вам удалось запустить X-сервер, и вы увидели курсор посредине экрана, то, значит, вы можете пропустить оставшийся текст данного подраздела и перейти к следующему разделу.
Если вы увидели черный экран или какие-то мелькающие полоски, то вернитесь в текстовый режим, нажав комбинацию <Ctrl>+<Alt>+<Backspace> (эта комбинация может выручить вас в случае многих затруднений с графическим режимом, так что рекомендую запомнить, что она позволяет завершить работу X-сервера, а, значит, и графического режима в целом). Однако не слишком торопитесь воспользоваться этой магической комбинацией, поскольку переход в графический режим требует определенного времени; я вначале несколько раз прерывал загрузку комбинацией <Ctrl>+<Alt>+<Backspace> и не мог понять, почему у меня графика не запускается, хотя вся причина заключалась в моей поспешности.
Однако, поскольку существует опасность повредить монитор неправильным заданием параметров, лучше не заниматься экcперементами с непредсказуемыми последствиями. Целесообразней вначале протестировать тот вариант файла, который был создан, и посмотреть, нет ли в нём явных ошибок. Для этого нужно воспользоваться командой
[root]# X -probeonly > probe.log 2>&1
Эта команда запускает X-сервер в тестовом режиме и выдает протокол в файл probe.log. После запуска этой команды на экране что-то помелькает, и вновь появится командная строка оболочки, а в текущем каталоге появится файл probe.log.
В этом файле много очень полезной информации, которую надо использовать при настройке X Window (отметим, что в файле протокола /var/log/XFree86.0.log содержится еще больше информации, но нам достаточно и того, что есть в probe.log ). В первых строках файла probe.log содержатся сообщения о версии XFree86 и версии ядра Linux. Затем идет сообщение о том, куда записывается протокол работы (обычно это /var/log/XFree86.0.log ), и какой конфигурационный файл используется (Помните, выше было сказано, что программа ищет этот файл в нескольких местах? Так что не лишне будет узнать, какой именно файл используется.).
(==) Log file: "/var/log/XFree86.0.log", Time: Mon Feb 12 17:20:25 2001 (==) Using config file: "/etc/X11/XF86Config-4"
Далее в probe.log идет небольшое пояснение тех служебных пометок, которые используются в этом файле в начале информационных строк:
- (--) - означает, что соответствующие значения получены путем тестирования;
- (**) - означает, что установки взяты из конфигурационного файла (в нашем случае - из /etc/X11/XF86Config-4 );
- (++) - означает, что установки взяты из командной строки запуска;
- (==) - означает, что используются установки по умолчанию;
- (II) - за таким значком следует информационное сообщение;
- (WW) - за таким значком следует предупреждение;
- (EE) - за таким значком следует сообщение об ошибке.
Ошибки надо, естественно, постараться исправить путем соответствующей модификации файла /etc/X11/XF86Config-4. Но мы пока продолжим рассмотрение файла probe.log, в котором далее идет несколько чисто информационных строк (отметим, что в них отображена взаимосвязь секций конфигурационного файла):
(**) |-->Screen "Screen0" (0) (**) | |-->Monitor "Monitor0" (**) | |-->Device "Card0" (**) |-->Input Device "Mouse0" (**) |-->Input Device "Keyboard0" (**) FontPath set to "unix/:-1" (**) 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
После исправления тех ошибок, о которых сообщают строки, помеченные значком (EE), беремся за строки с предупреждениями. В частности, вы наверняка увидите строки следующего вида:
(WW) MGA(0): Monitor0: Using default hsync range of 28-33kHz (WW) MGA(0): Monitor0: using default vrefresh range of 43-72Hz
вслед за которыми последует множество указаний на отбраковку каких-то видеорежимов монитора:
(WW) MGA(0): Default mode "1856x1392" deleted (hsync out of range)
Строки эти являются сообщениями о тех режимах, которые X-сервер не в состоянии отображать. О важности правильного выбора частот вертикальной и горизонтальной синхронизации было уже сказано неоднократно. Тем не менее, здесь появляется повод вспомнить об этом снова. Проверьте правильность их задания еще раз.
Снова выполнив после этого команду
[root]# X -probeonly > probe.log 2>&1
и заглянув в файл probe.log, вы увидите, какие режимы для вас недоступны (обычно это режимы с высоким разрешением, типа 1600 * 1200).
Давайте теперь отыщем в файле 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 и разрешение экрана "640 x 480" с частотой обновления картинки 60 Гц. Такие параметры совершенно неудовлетворительны, поэтому снова обращаемся к корректировке /etc/X11/XF86Config-4. Вначале надо задать нужную глубину цвета. Естественно, побольше. Предельно допустимое значение определяется объемом видеопамяти. О том, как его рассчитать, было сказано в предыдущем подразделе.