Опубликован: 24.07.2006 | Доступ: свободный | Студентов: 8871 / 1200 | Оценка: 3.95 / 3.75 | Длительность: 41:47:00
ISBN: 978-5-94157-183-3
Лекция 8:

Графический интерфейс

Конфигурирование X-сервера

Рассмотрим ситуацию, когда после инсталляции Linux вы либо не можете выйти в графический режим, либо недовольны тем, как выводится изображение в графическом режиме. Если вы при инсталляции задали автоматический выход в графический режим, то вам может показаться, что система вообще отказывается загружаться. Именно поэтому я рекомендовал вам при инсталляции отказаться от автоматической загрузки в графику. Если вы все же попали в такую ситуацию, то попробуйте выйти в однопользовательский режим. О том, как это сделать, рассказано в "Основы администрирования системы" .

Итак, в графический режим вы выйти не можете, но текстовый режим вам доступен, и, значит, можно воспользоваться некоторыми программами или командами ОС Linux для настройки графического режима. Будем предполагать, что пакет XFree86 у вас установлен, и все файлы, упоминаемые ниже, на диске имеются. Если это не так, то сначала установите пакет XFree86, (о том, как устанавливаются программные пакеты, рассказано в "Установка и обновление программных пакетов" ). Если эти предварительные условия выполнены, я надеюсь, что приводимые ниже инструкции по настройке графического режима позволят вам осуществить эту настройку.

Предупреждение

Согласно документации к Xfree86 для некоторых типов мониторов, особенно старых моделей, задание недопустимых значений частот вертикальной и горизонтальной развертки может повредить монитор. Поэтому автор не может гарантировать, что, следуя приведенным ниже советам, вы получите желаемый результат, и не повредите вашему компьютеру! Все, что вы будете делать, вы будете делать на свой страх и риск!

Сбор необходимых данных

Для настройки вам потребуются некоторые данные, а именно:

  • названия фирм-производителей видеоадаптера и монитора (берутся из документации; если нет, можно обойтись и без них);
  • тип набора микросхем, применяемых в видеоадаптере (по нему определяется тип 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 должен существовать).

Структура файла /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
Владислав Гермак
Владислав Гермак

Приглашения оболочки

Одна из очень важных переменных имеет имя PS1. Эта переменная задает вид приглашения, которое bash выводит, когда ожидает ввода очередной команды пользователем. По умолчанию этой переменной присвоено значение "\s-\v\$ ".

"\s-\v\$ ". -значиние /v замените /u