Глава 3. Запуск X-сервера.

3.1. Настройка X-сервера..

Внимание

Данный раздел требует доработки. Уже в текущих версиях Xorg значительно улучшен механизм автоматического определения устройств с использованием HAL. Если вы решили воспользоваться данной информацией по настройке Xorg, возможно вам необходимо будет добавить в xorg.conf в секцию ServerLayout строку
Option "AutoAddDevices" "off"
В будущих версиях Xorg таже будут вноситься значительные изменения, в том числе отказ от HAL и переход на другие методы определения подключенных устройств.

Если вы следовали всем моим иструкциям, то X-сервер на вашем компьютере уже установлен. Если его нет, то запускаем sysinstall и добавляем его из Distributions.

Для создания базовой конфигурации, которую мы будем в дальнейшем редактировать, воспользуемся утилитой xorgconfig. После запуска на экране можно прочитать краткое описание утилиты, также то, что прервать её работу без сохрания можно с помощью кнопок CTRL+C. Ознакомившись с описанием переходим к первому этапу настройки с помощи клавиши Enter. Кстати говоря, большинство настроек, которые мы сейчас производим мы будем исправлять вручную, так на некоторых этапах можно просто указывать любые варианты ответов.

  1. На этом этапе нам предлагают выбрать тип нашей мыши. В большинстве случаев достаточно выбрать пунт 1 - Auto, если окнечно вы не являетесь обладателем какого-нибудь антиквариата или экслюзивной модели :-)
  2. Теперь нам задают вопрос нужно ли эмулировать третью кнопку мыши. Собственно говоря можно ответить и так и так, всё равно мы в будущем будем редактировать конфигурацию вручную. Просто нажмём Enter.
  3. Далее нас просят указать файл устройства который связан с нашей мышь. Пока мы просто нажмём Enter.
  4. На следующем этапе нам предлагают выбрать тип клавиатуры. Типичные варианты - Generic. Обладателем различного рода клавиатур с мультимедийным плавишами можно попытаться найти свою, однако тоже можно обойтись стандартным вариантом. Мне очень понравилось, что свою мутимедийную клавиатуру Genius Comfy KB-21e-Scroll нашёл без проблем.
  5. Далее предлагают выбрать страну. Выбираем конечно же Russia.
  6. Вопрос о вариантах раскладки мы пока пропустим, просто нажмём Enter.
  7. На попрос о дополнительных XKB опциях также ответим Enter'ом. Дальнейшие этапы будут относится к настройке видеооборудования. Советую найти документацию на ваш монитор и посмотреть те видеорежимы в каких он может работать.
  8. Первым вопрос о том, какую частотку строчной развёртки имеет монитор (horizontal sync). Основным ориентиром для нас могут стать комментарии к режимам. Если вы нашли эти парамеры в документации, то можете указать вручную указать диапазон частот.
  9. Вопрос о частоте кадровой разврётки (vertical sync). Если на глаз заметить влияние частоты строчной развёртки очень сложно, то от этого параметра очень многое зависит. Надеюсь вы осмыслено выставляли эту частоту в Windows, поэтому стоит здесь задать именно те самые значения частоты, что вы указывали ранее в Windows. Если вы столкнулись с этим параметром впервые, то первый совет - не устанавливайте величину менее 75Гц для мониторов с электронно лучевой трубкой, т.к. в этом случае будет очень заметное на глаз мерцание. Лично я сразу замечаю усталость глаз после нескольких минут работы при частоте 70Гц. Советую частоту выбрать максимально большой, но при этом такой, чтобы ваш монитор её поддерживал. Для очень старых мониторов первышение частоты выше нормы может привести к физическому повреждению, более или менее современные мониторы оснащены защитой от таких экстремальных нагрузок и просто засыпают или выводят на экран предупреждающую табличку. Для TFT мониторов величина этого значения большой роли не играет. Лучше всего будет найти рекомендуемую частоту в документации к монитору и выставить именно её, т.к. отклонение от неё может повысить размытость изображения.
  10. Далее вас просят ввести название монитора. Можно указать имя производителя или вообще любую информацию. Она нужна только для идентификации монитора из нескольких. Думаю у вас только один монитор :-) Можно просто нажать Enter.
  11. Следующим вопросом система интересуется хотим ли мы взглянуть на список видеокарт. Соглашаемся введя y. В огромном списке видеокарт нас интересуют в основном две страницы, хотя вы можете попытать счастье и найти свою видеокарту в "бесконечном" списке. Если вы обладатель карт от Nvidia, то считайте, что вам повезло и вы можете скачать нужный драйвер имеющий более широкие возможности, чем стандартный под номером 18 (идентификатор "nv"). Если вы не планируете широко использоваться возможности видеокарты, то вам вполне подойдёт драйвер из стандартного набора. В некоторых случаях могут возникнуть трудности с поиском нужного драйвера для вашей видеокарты, например, у меня были сложности с поиском драйвера для видеокарты ноутбука. Тут может помочь способ "прямого тыка" или изучение форумов в интернете с нужной тематикой. Самыми беспроблемными для меня стали видеокарты: Nvidia, ATI, интегрированные видеокарты на базе чипсета Intel (различные модификации от i810 и выше). Если вы совсем не можете определиться с видеокартой, попробуйте варинаты 1 и 2, однако в большинсте вы только сможете запустить X-сервер, но полноценную картинку получить не получится.
  12. Вопрос об объёме оперативной памяти видеокарты, думаю, не поставить вас в тупик, раз уж вы решились на такой шаг, как установка FreeBSD :-)
  13. Следующий вопрос - идентификатор видеокарты, можно просто нажать Enter.
  14. Далее нужно выбрать видеорежимы для видеокарты. Изначально уже выбраны такие разрешения и грубина цвета:
    "1280x1024" "1024x768" "800x600" "640x480" for 8-bit
    "1280x1024" "1024x768" "800x600" "640x480" for 16-bit
    "1280x1024" "1024x768" "800x600" "640x480" for 24-bit
    
    Если выс это устраивает, то выбираем вариант 4, иначе правим разрешения для интересующей грубины цвета.
  15. Следующий вопрос - используемая грубина цвета по умолчанию. Лучше всего выбрать вариант 24, но если вы собираетесь использовать драйвер видеокарты VGA или VESA этот видеорежим окажется ему не по силам.
  16. И последний вопрос - хотим ли мы сохранить настройки в файл xorg.conf. Нажимаем Enter. Файл по умолчанию сохраняется в папку /etc/X11, поэтому вы должны выполнять конфигурацию от имени root. Если вы выполняли настройки от имени рядового пользователя, можете указать своё размещение файла, например, ~/xorg.conf, чтобы создать файл в вашей домашней папке. В дальнейшем вы просто можете перенести его в папку /etc/X11.

На этом автоматизированную процедуру мы закончили. Все дальнейшие настройки производим с помощью текстового редактора.

Итак, приступаем к редактированию:

#ee /etc/X11/xorg.conf

Первым делом внимательно ознакомимся в существующими секциями файла:

  1. Раскладка сервера:
    Section "ServerLayout"
        Identifier     "Simple Layout" #Имя раскладки
        Screen         "Screen 0" 0 0 #Используемый Screen
        InputDevice    "Mouse1" "CorePointer" #Используемая мышь
        InputDevice    "Keyboard1" "CoreKeyboard" #Используемая клавиатура.
    #   Option         "AutoAddDevices" "off" #запретить автоматическое определение устройств, укажите, если используете Xorg 7.4 и старше.
    EndSection
    
    Описание указанных значений в следующих секциях.
  2. Описание используемых каталогов.
    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/TTF"
        FontPath        "/usr/X11R6/lib/X11/fonts/Type1"
        FontPath        "/usr/X11R6/lib/X11/fonts/75dpi"
        FontPath        "/usr/X11R6/lib/X11/fonts/100dpi"
        FontPath        "/usr/X11R6/lib/X11/fonts/local"
        FontPath        "/usr/X11R6/lib/X11/fonts/webfonts"
    EndSection
    
    Тут ничего хитрого нет, все значения указаны автоматически, за исключением последней строчки FontPath. В ней я указал каталог расположения кириллических шрифтов. О шрифтах я расскажу в дальнейшем.
  3. Список используемых модулей.
    Section "Module"
        Load           "dbe"        # Double buffer extension
        SubSection     "extmod"
            Option         "omit xfree86-dga"   # don't initialise the DGA extension
        EndSubSection
        Load           "glx"
        Load           "record"
        Load           "xtrap"
        Load           "freetype"
        Load           "type1"
    EndSection
    
    Изменений я в списке не делал.
  4. Настройки клавиатуры.
    Section "InputDevice"
        Identifier     "Keyboard1"
        Driver         "kbd"
        Option         "AutoRepeat" "500 30"
        Option         "XkbRules" "xorg"
        Option         "XkbModel" "geniuscomfy2" 1
        Option         "XkbLayout" "us,ru" 2
        Option         "XkbVariant" "basic,winkeys" 3
        Option         "XkbOptions" "grp:ctrl_shift_toggle,numpad:microsoft" 4
    EndSection
    
    1

    Используется клавиатура Genius KB-21e Scroll.

    2

    Используемые раскладки клавиатуры: латиницы и кириллица.

    3

    Вариант раскладки.

    4

    Установка в качестве переключателя раскладки сочетания кнопок CTRL+SHIFT, а также расположения знаков препинания на клавиатуре аналогично Microsoft Windows (в частности это касается знаков на цифровых клавишах).

    В этой секции пришлось внести некоторые изменения, которые описаны в комментариях.
  5. Настройки мыши.
    Section "InputDevice"
        Identifier     "Mouse1"
        Driver         "mouse"
        Option         "Protocol" "Auto"    # Auto detect
        Option         "Device" "/dev/sysmouse"
        Option         "ZAxisMapping" "4 5 6 7" #включение поддержки колеса мыши
    EndSection
    
    Здесь в основном интересна только последняя строчка. Остальные строчки сформированы утилитой xorgconfig.
  6. Указание типа монитора.
    Section "Monitor"
        Identifier     "Benq FP931"
        VendorName     "Benq"
        ModelName      "Benq FP931"
        DisplaySize     1280    1024
        HorizSync       30.0 - 64.0
        VertRefresh     75.0
    EndSection
    
  7. Определение типа видеоадаптера.
    Section "Device"
        Identifier     "NVIDIA GeForce"
        Driver         "nvidia"
        VendorName     "NVidia"
    EndSection
    
    В этом разделе интересен пункт Driver, который указывает на используемый драйвер. В моём случае используется драйвер с сайта www.nvidia.com, установленный из портов /usr/ports/x11/nvidia-driver. Список имеющихся драйверов можно найти в каталоге /usr/X116/lib/modules/drivers.
  8. Определение видеорежимов.
    Section "Screen"
        Identifier     "Screen 0"
        Device         "NVIDIA GeForce"
        Monitor        "Benq FP931"
        DefaultDepth    24
        Option         "ConnectedMonitor" "CRT,TV"
        Option         "TVStandard" "NTSC-M"
        Option         "TwinView" "yes"
        Option         "TwinViewOrientation" "Clone"
        Option         "MetaModes" "1280x1024,1024x768@1280x1024; 1024x768,1024x768; 800x600,800x600; 640x480,640x480"
        Option         "HorizSync" "CRT-0: 30.0-85.0; TV-0: 20.0-50.0"
        Option         "VertRefresh" "CRT-0: 75.0; TV-0: 45.0-100.0"
        SubSection     "Display"
            Viewport    0 0
            Depth       8
        EndSubSection
        SubSection     "Display"
            Viewport    0 0
            Depth       16
        EndSubSection
        SubSection     "Display"
            Viewport    0 0
            Depth       24
        EndSubSection
    EndSection
    
    В данном случае кроме стандартных настроек добавлены также опции для вывода клона изображения на телевизор. При этом в режиме 1280x1024 используется панорамирование на телевизоре до размера 1024х768 (показывается только часть картинки, при перемещении курсора рабочий стол смещается в нужном направлении).

3.2. Первый запуск X-сервера.

Вот мы и подошли к моменту запуска Xorg, который будет являться базовой частью для вашей графической оболочки. Запускаем X-сервер:

$ startx

После этого на экране должно появится изображение с 3 окнами. Обратите внимание на разрешение и кадровую частоту (изображение не должно мерцать). Если изображение мерцает или разрешение не то, что требуется, внимательно изучаем /etc/X11/xorg.conf и пробуем изменить видеорежимы.

Первая проблема с которой вы можете столкнуться - необходимо выйти из xorg. Сделать это можно просто набрав exit во всех открытых окнах. Если это у вас не получается, можно попробовать "по наглому" заглушить X-сервер. Для этого переключаемся сочетанием кнопок CTRL+ALT+Fn на консоль, откуда производился запуск xorg и нажимаем CTRL+C.

Если изображение при запуске xorg не появилось, а высветилась ошибка, начинаем разбираться в причинах:

  1. Самая банальная ошибка - ошибка в настройках xorg.conf. Как правило X-сервер сообщает о номере строки, которая вызывает подозрение.
  2. X-сервер сообщает, что он не поддерживает заданную губину цвета. Скорее всего вы неправильно указали драйвер или использовали драйвер видеокарты VGA или VESA, которые не поддерживают современные видеорежимы. В последнем случае рекомендую найти драйвер именно под вашу видеокарту.
  3. X-сервер сообщает, что не может запуститься ввиду того, что не может задать Screen. В этом случае скорее всего неправильно задав драйвер видеокарты.