Описание настройки X-сервера
1.
Что такое X Window Server?
Графический интерфейс против командной строки
Обычного пользователя могут испугать мысли о необходимости печатать в
командной строке. Почему бы ему не прокладывать свой путь на территории свободы
выбора Gentoo (и Linux вообще), просто «водя мышкой»? Ну, *большая
улыбка*, конечно, вы сможете это сделать :-). В Linux предлагается широкое
разнообразие пользовательских интерфейсов и сред, которые можно установить
поверх установленной у вас системы.
Это один из самых больших сюрпризов, с которым сталкиваются новички:
графический интерфейс пользователя — это всего лишь прикладная программа,
выполняемая в системе. Он не является частью ядра Linux или каких-либо
других компонентов системы. Это — мощный инструмент, позволяющий
полностью задействовать графические возможности вашего компьютера.
Так как стандартизация очень важна, для организации прорисовки и перемещения
окон по экрану, взаимодействия пользователя с мышью и клавиатурой, а также
других важных базовых аспектов, был создан стандарт под названием X Window
System, сокращённо X11 или просто X. Он используется в Unix,
Linux и других Unix-подобных операционных системах во всем мире.
Приложение, которое дает пользователям Linux возможность запускать графические
интерфейсы пользователя и использует стандарт X11, называется Xorg-X11,
ответвление проекта XFree86. Проектом XFree86 было решено использовать
лицензию, возможно, несовместимую с лицензией GPL, поэтому рекомендуется
использовать Xorg. Пакет XFree86 больше не поддерживается в официальном дереве
портежей.
Проект X.org
Проектом X.org создана и поддерживается
бесплатно распространяемая реализация системы X11 с открытым исходным кодом.
Это открытая инфраструктура рабочей станции, основанная на X11.
Xorg обеспечивает интерфейс между устройствами вашего компьютера и нужными вам
графическими программами. Кроме того, Xorg является полностью сетевым, то есть
вы можете запускать программу на одной системе, а отображать ее — на
другой.
2.
Установка Xorg
Использование emerge
Хватит болтовни, не перейти ли нам к делу? Чтобы установить Xorg, вам просто
нужно запустить emerge xorg-x11. Установка Xorg займёт достаточно
времени, так что вы можете перекусить, дожидаясь ее завершения.
Перед тем, как установить Xorg, в файле /etc/make.conf вам
понадобится настроить две очень важные переменные.
Первая из них — VIDEO_CARDS, которая используется для выбора
драйвера для используемой вами видеокарты, и связана с ее типом и маркой.
Одним из распрапространенных значений является nvidia для карт nVidia
или fglrx для карт ATI Radeon. Это — закрытые драйверы,
предоставленные nVidia и ATI. Если вы хотите использовать версии с отрытым
исходным кодом, используйте nv вместо nvidia, но помните, эта
версия не обсепечивает 3D-ускорение. Аналогично, используйте radeon
для видеокарт от ATI. В VIDEO_CARDS можно указывать несколько драйверов,
разделенных пробелами.
Вторая переменная, INPUT_DEVICES, используется для указания
драйверов устройств ввода. В большинстве случаев связки keyboard mouse
достаточно.
Теперь нужно решить, какие драйверы использовать, и добавить нужные параметры
в файл /etc/make.conf:
Листинг 2.1: Пример строк в make.conf |
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nvidia"
VIDEO_CARDS="fglrx"
|
Дополнительные сведения по настройке карт nVidia и ATI находятся в руководстве по видеокартам nVidia в
Gentoo Linux и Gentoo Linux ATI FAQ.
Если вы не знаете, какие драйверы выбрать, ознакомьтесь с этими руководствами.
Примечание:
Если у вас рекомендуемые настройки не работают, следует запустить emerge -pv
xorg-x11, проверить все доступные параметры и указать соответствующие вашей
системе. Для различных версий Xorg на различных архитектурах эти переменные
могут выводиться командой emerge -pv xorg-server вместо приведенной выше.
Например, для архитектуры x86 и xorg-x11-7.0:
|
Листинг 2.2: Просмотр всех доступных параметров драйверов |
# emerge -pv xorg-x11
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] x11-base/xorg-x11-7.0-r1 USE="-3dfx" INPUT_DEVICES="keyboard
mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300
-elographics -evdev -fpit -hyperpen -jamstudio -joystick -magellan -magictouch
-microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957
-ur98 -vmmouse -void -wacom" VIDEO_CARDS="nvidia -apm -ark -chips -cirrus -cyrix
-dummy -fbdev -fglrx -glint -i128 -i740 -i810 -imstt -mach64 -mga -neomagic -nsc
-nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb
-tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB
|
После установки всех необходимых переменных можно перейти к установке пакета
Xorg.
Листинг 2.3: Установка Xorg |
# emerge xorg-x11
|
После завершения установки, чтобы продолжить, вам наверняка придётся обновить
некоторые переменные среды. Для установки значений просто запустите
env-update, а затем — source /etc/profile.
Листинг 2.4: Обновление переменных среды |
# env-update
# source /etc/profile
|
3.
Настройка Xorg
Файл xorg.conf
Конфигурационный файл Xorg называется xorg.conf и находится в
папке /etc/X11. В пакет Xorg-X11 входит его пример под названием
/etc/X11/xorg.conf.example, который можно использовать при
создании своей собственной конфигурации. Он подробно прокомментирован, но если
вы нуждаетесь в подробном описании синтаксиса, не стесняйтесь обратиться к
страницам справки:
Листинг 3.1: Чтение страницы справки xorg.conf |
# man 5 xorg.conf
|
Счастливого чтения всем желающим. Мы, конечно же, не из их числа, поэтому
перейдем к выяснению, как можно создать файл автоматически.
По умолчанию: автоматическая генерация xorg.conf
Xorg способен самостоятельно подобрать большинство параметров за вас. Скорее
всего, вам потребуется всего лишь изменить несколько строк, чтобы установить
желаемое разрешение экрана. Если вы заинтересованы в более глубокой настройке,
обязательно просмотрите ресурсы, указанные в конце этой главы. Но сначала
давайте создадим (надеемся, работающий) конфигурационный файл Xorg.
Листинг 3.2: Генерация файла xorg.conf |
# Xorg -configure
|
Обязательно прочтите последние строки, выводимые после завершения опроса
оборудования Xorg. Если вы увидите, что где-то Xorg не удалось правильно
опознать устройства, то вам придётся править файл xorg.conf
вручную. Если же всё прошло гладко, Xorg должен сообщить вам, что создан файл
и готов для тестирования файл /root/xorg.conf.new. Давайте
его испытаем :)
Листинг 3.3: Тестирование файла xorg.conf.new |
# X -config /root/xorg.conf.new
|
Если всё в порядке, вы увидите чёрно-белый узор. Проверьте, работает ли мышь,
и подходит ли разрешение экрана. Вы вряд ли точно угадаете разрешение, но всё
же заметите слишком низкое. Выйти можно в любой момент, нажав комбинацию клавиш
Ctrl+Alt+Backspace.
Альтернатива: полуавтоматическая генерация xorg.conf
В Xorg есть утилита xorgconfig, задающая различные вопросы о вашей
системе (о графическом адаптере, клавиатуре и т.п.). Основываясь на ваших
ответах, она создаст файл xorg.conf.
Листинг 3.4: Полуавтоматическая генерация xorg.conf |
# xorgconfig
|
Другая утилита, также входящая в пакет Xorg — xorgcfg, которая
сначала пытается выполнить Xorg -configure, а затем запускает X-сервер
для более тонкой настройки.
Листинг 3.5: Использование xorgcfg |
# xorgcfg
# xorgcfg -textmode
|
Копирование в xorg.conf
Теперь давайте скопируем xorg.conf.new в
/etc/X11/xorg.conf, чтобы не приходилось постоянно запускать
Xorg -config: набирать просто X или startx гораздо
легче :)
Листинг 3.6: Копирование поверх xorg.conf |
# cp /root/xorg.conf.new /etc/X11/xorg.conf
|
Использование startx
Теперь попробуйте ввести startx, чтобы запустить свой X-сервер.
startx — это сценарий, запускающий сеанс X, то есть
серверы X, а поверх них — некоторые графические приложения. Он решает,
какие приложения запустить, исходя из следующей логики:
-
если в домашнем каталоге есть файл с именем .xinitrc, то
выполняются команды, перечисленные в нём
-
в противном случае считывается значение переменной XSESSION и запускается
один из указанных в /etc/X11/Sessions/ сеансов (указать
значение XSESSION по умолчанию, для всех пользователей системы, можно в
файле /etc/rc.conf)
-
если вышеуказанное завершилось неудачей, производится откат к
простейшему диспетчеру окон, обычно twm.
Листинг 3.7: Запуск X |
# startx
|
Если вы увидели уродливый, отвратительный, омерзительный, безобразный диспетчер
окон, то это — twm. Чтобы завершить сеанс twm, наберите
exit или нажмите Ctrl-D в одном из терминалов xterm. «убить»
сеанс X также можно, нажав комбинацию клавиш Ctrl+Alt+Backspace, чтобы
«выгнать его с позором» — наверно, такой вариант годится
не всегда. Хотя это не причинит тяжёлого вреда :)
4.
Настройка xorg.conf
Установка разрешения экрана
Если вы чувствуете, что разрешение экрана неподходящее, вам потребуется
проверить два раздела конфигурации. Прежде всего, разделеScreen, где
перечисляются варианты разрешения экрана, с которыми может запускаться
X-сервер. По умолчанию в этом разделе может вообще не быть никаких строк о
разрешении экрана. В таком случае Xorg оценивает допустимое разрешение на
основе данных из другого раздела: Monitor.
При этом Xorg для вычисления правильных вариантов разрешения использует
значения HorizSync (частота строк) и VertRefresh (частота кадров)
из раздела Monitor. Пока что оставьте эти параметры как есть. Лишь в
том случае, когда изменения в разделе Screen (которые мы опишем чуть
ниже) не помогают, вам придется заглянуть в технические характеристики своего
монитора и указать правильные значения. Также можно воспользоваться программой,
определяющей технические характеристики вашего монитора, например,
sys-apps/ddcxinfo-knoppix.
Предупреждение:
Не меняйте «просто так» значения этих двух относящихся к
монитору переменных, не сверившись с техническими характеристиками своего
монитора. Неправильные значения могут привести в лучшем случае к срыву
синхронизации, а в худшем случае — к сгоревшему монитору.
|
Теперь давайте поменяем значения разрешения. В следующем примере, взятом из
/etc/X11/xorg.conf, мы добавим строчки Modes (режимы) и
DefaultDepth (цветность), чтобы X-сервер по умолчанию запускался в
режиме 24 бит при 1024x768 разрешении экрана. Особо не обращайте внимания на
значения — это просто пример и, скорее всего, они будут отличаться
от настроек вашей системы.
Листинг 4.1: Изменение раздела Screen /etc/X11/xorg.conf |
Section "Screen"
Identifier "Default Screen"
Device "S3 Inc. ProSavage KN133 [Twister K]"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection
|
Запустите X (startx), чтобы обнаружить, что сервер использует желаемое
разрешение :)
Настройка клавиатуры
Чтобы настроить X на использование национальных раскладок, найдите раздел
InputDevice (устройство ввода), определяющий настройки клавиатуры, и
добавьте параметр XkbLayout с указанием необходимой раскладкы. Для
примера, покажем, как добавить бельгийскую раскладку. Просто измените код
страны на свой:
Листинг 4.2: Changing the keyboard layout |
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "be"
EndSection
|
Настройка мыши
Если ваша мышь не работает, сначала придётся выяснить, обнаружена ли она
вообще ядром. Мыши (в качестве устройств) выглядят как
/dev/input/mouse0 (или /dev/input/mice, если вы
хотите использовать несколько мышек). В некоторых случаях используется
название /dev/psaux. В любом случае, вы можете убедиться, что
устройство соответствует вашей мыши, просмотрев вывод соответствующего файла
устройства, одновременно передвигая мышь. В большинстве случаев на экране
должна появиться бессмыслица. Для остановки вывода нажимайте Ctrl-C.
Листинг 4.3: Проверка файла устройства |
# cat /dev/input/mouse0
|
Если ваша мышь не обнаружена, проверьте, все ли необходимые модули загружены.
Если же ваша мышь найдена, впишите устройства в соответствующий раздел
InputDevice. В следующем примере видно, как мы устанавливаем еще два
параметра: Protocol (определяет протокол, используемый мышью;
у большинства пользователей — PS/2 или IMPS/2) и ZAxisMapping
(позволяющий задействовать колесико, если есть).
Листинг 4.4: Изменение настройки мыши в Xorg |
Section "InputDevice"
Identifier "TouchPad Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
EndSection
|
Запустите startx и порадуйтесь результату :). Поздравляем, теперь
(надеемся) у вас есть работающий Xorg. Следующий шаг — удалить этот
ужасный облегченный диспетчер окон, и использовать
«нафаршированный» возможностями диспетчер окон (или даже рабочую
среду), такой как KDE или GNOME, но это не входит в рамки данного руководства
:)
5.
Ресурсы
Создание и детальная настройка xorg.conf
Прежде всего, в man 5 xorg.conf дается краткое, но полное описание
синтаксиса конфигурационного файла. Обязательно держите эту страницу открытой в
соседнем терминале при редактировании своего конфигурационного файла!
Второй источник информации на вашей системе — каталог
/usr/X11R6/lib/X11/doc, где находятся различные описания
README для конкретных графических чипсетов.
В сети также есть много сведений о настройке xorg.conf. Мы
перечислим лишь некоторые из них; обязательно погуглите, чтобы найти другие :). Так как
в большинстве параметров xorg.conf и XF86Config
(конфигурационного файла для XFree86) используется одинаковый синтаксис,
а информации о XFree86 больше, мы ссылаемся и на такие ресурсы.
Другие источники
Если вы хотите обновить свою систему со старым монолитным Xorg на новый
модульный Xorg 7, прочтите
руководство по
переходу на модульный X (англ.)
Дальнейшая информация по настройке различных пакетов, для работы в среде
X находится в разделе
графическая среда Gentoo нашей
документации.
Текст этого документа распространяется на условиях лицензии
Creative Commons
- Attribution / Share Alike.
|