Xorg (Русский)

From ArchWiki

Jump to: navigation, search


i18n
English
Polski
Русский
Česky
Italiano
简体中文

Contents

[edit] Введение

Xorg - это свободная открытая реализация оконной системы X11 (детальнее смотрите на статье о Xorg в wikipedia или на wiki X.org). В общем, если вы хотите GUI в ArchLinux, то вы захотите поставить xorg.

[edit] Установка Xorg

Для начала сделайте следующее:

  1. Удостоверьтесь, что pacman настроен и обновлён.
  2. Если у вас запущен x-server, закройте его сейчас: ctrl+alt+backspace
  3. Проверьте необходимость сторонних драйверов (например nVidia или ATI).

Теперь просто установим Xorg:

# pacman -S xorg

Если установка прошла нормально, самое время создать xorg.conf.

[edit] Настройка xorg

Перед тем, как запускать Xorg, вам необходимо его сконфигурировать, чтобы он знал о вашей видеокарте, мониторе, мыши и клавиатуре. Для этого есть несколько путей.

[edit] xorgconfig

Чтобы запустить xorgconfig наберите:

xorgconfig

Так будет сгенерирован новый xorg.conf.

Отвечайте на вопросы, остальное сделает программа. Однако обратите внимание на вопрос о мыши. Устройством по умолчанию, согласно xorgconfig, является /dev/mouse. Однако вам придется заменить его на /dev/input/mice. В противном случае, вы можете столкнуться с проблемой зависания Х при запуске. Конфиги, созданные таким способом, не совсем удачны и вам придется некоторые изменения вносить вручную.

[edit] hwd

Утилита hwd (hardware detection tool) была написана пользователями Arch Linux. Это инструмент для определения оборудования со множеством функций, одной из которых является настройка Х сервера. К счастью, hwd гораздо удобнее xorgconf и не требует ввода какой-либо информации.

Для начала, вам необходимо установить hwd:

pacman -S hwd

Затем, необходимо запустить hwd (из под root`а) с ключом "-х", который укажет на то, что необходимо сгенерировать xorg.conf:

hwd -x

Эта команда не перезапишет существующий xorg.conf, а создаст новый с именем /etc/X11/xorg.conf.hwd (если вы хотите, чтобы старый xorg.conf был перезаписан - используйте ключ "-ха"). Теперь надо переименовать файл вручную

mv xorg.conf.hwd xorg.conf

Обратите внимание, что если у вас уже существует xorg.conf, то, возможно, вам захочется сделать резервную копию перед выполнением этой команды.

[edit] Xorg -configure

Вы также можете попробовать

Xorg -configure
или
X -configure

[edit] nvidia-xconfig

Пользователи видеокарт nVidia могут использовать

nvidia-xconfig

если у них установлены официальные nvidia драйвера.

[edit] Редактирование xorg.conf

Возможно, вам захочется отредактировать полученный конфигурационный файл. Для открытия его в вашем текстовом редакторе (например, nano) вам потребуются права root'а:

#nano /etc/X11/xorg.conf

Если вы хотите настроить поддержку колеса прокрутки у мыши, посмотрите Настройка_прокрутки_колеса_мыши.

[edit] Настройка монитора

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

[edit] Строчная синхронизация (horizontal sync)

HorizSync 28-64

[edit] Частота обновления

VertRefresh 60

Следующие настройки указываются в секции Screen:

[edit] Глубина цветовой гаммы

Depth 24

[edit] Разрешение

Modes "1280x1024" "1024x768" "800x600"

[edit] Настройки клавиатуры

Xorg может неверно определить вашу клавиатуру. Это может привести к различным проблемам с раскладкой клавиатуры или неправильной настройке модели клавиатуры.

Чтобы посмотреть полный список поддерживаемых моделей, раскладок, опций и вариантов клавиатуры, посмотрите


/usr/share/X11/xkb/rules/xorg.lst

[edit] Раскладка клавиатуры

Для того чтобы изменить раскладку клавиатуры, используйте опцию XkbLayout в секции InputDevice клавиатуры. Например, если вы хотите настроить клавиатуру на русскую и американскую раскладки:

Option "XkbLayout" "us,ru(winkeys)"

[edit] Модель клавиатуры

Чтобы изменить модель клавиатуры, используйте опцию XkbModel в секции InputDevice клавиатуры. Например, если у вас клавиатура Microsoft Wireless Multimedia Keyboard:

Option "XkbModel" "microsoftmult"

[edit] Переключение раскладок

Для настройки переключения между двумя раскладками, используйте опцию XkbOptions. Например, если вы хотите настроить переключение по Caps Lock:

Option "XkbOptions" "grp:caps_toggle"

[edit] Размер дисплея/DPI

Для того чтобы выбрать правильный размер шрифтов, размер дисплея должен быть установлен для предпочитаемого DPI. В секции "Monitor" пропишите размер дисплея в миллиметрах:

Section "Monitor"
   ...
 DisplaySize 336 252 # 96 DPI @ 1280x960
   ...
EndSection


Формула, рассчитывающая значение DisplaySize такова Ширина x 25.4 / DPI и Высота x 25.4 / DPI. Например, если вы запускаете Xorg с разрешением 1024x768 и хотите DPI, равное 96, используйте 1024 x 25.4 / 96 и 768 x 25.4 / 96. Округлённые значения приведены ниже.

# calc: (x|y)pixels * 25.4 / dpi
# DisplaySize 168 126 # 96 DPI @ 640x480
# DisplaySize 210 157 # 96 DPI @ 800x600
# DisplaySize 269 201 # 96 DPI @ 1024x768
# DisplaySize 302 227 # 96 DPI @ 1152x864
# DisplaySize 336 252 # 96 DPI @ 1280x960
# DisplaySize 336 269 # 96 DPI @ 1280x1024 (соотношение сторон не 4:3)
# DisplaySize 420 315 # 96 DPI @ 1600x1200


Для nVidia драйверов вы, возможно, захотите отключить автоматическое определение DPI и поставить его вручную. Существует также более простой способ настройки DPI на этих картах. Любая или обе из следующих строк могут быть вставлены в секцию Device для вашей nVidia карты.

  Option   "UseEdidDpi" "false"
  Option   "DPI" "96 x 96"


Результат может быть проверен с помощью следующей команды, которая должна вернуть 96x96 точек на дюйм, если вы установили DPI на 96.

xdpyinfo | grep -B1 dot

[edit] Проприетарные драйвера

Если вы хотите использовать третьесторонние графические драйвера, проверьте сперва, что X сервер запускается нормально. Xorg должен запускаться без проблем без официальных драйверов, последние нужны только для дополнительных деталей, таких как 3D ускорение для игр, настройка двух мониторов, и выход TV-out. Смотрите статьи об установке драйверов NVIDIA или ATI.

[edit] Шрифты

Некоторые советы по настройке шрифтов можно найти в статье, посвящённой этому.

[edit] Примеры файлов xorg.conf

Все, у кого есть написанный работающий файл xorg.conf, разместите здесь ссылку на него, чтобы другие могли посмотреть! Пожалуйста, не вставляйте файл здесь, а разместите где-нибудь и укажите ссылку. Спасибо!

[edit] Запуск Xorg

Просто наберите:

startx

Х по умолчанию является достаточно жалким зрелищем, вы наверняка захотите установить один из множества WM/DE.

Если возникнут проблемы, просмотрите лог (/var/log/Xorg.0.log). Обращайте внимание на строки начинающиеся с "(ЕЕ)",которые сигнализируют об ошибках, а также ("WW"), которые означают предупреждения.

*Обратите внимание* Использование startx требует файла ~/.xinitrc, чтобы X знал, что запускать при старте. Лучше всего скопировать /etc/skel/.xinitrc в домашний каталог и отредактировать. Закомментируйте все нежелательные 'exec' строчки, и добавьте или раскомментируйте WM, который вы хотите использовать.

Кроме того, вы можете установить twm и xterm (с помощью pacman), которые будут использоваться, если ~/.xinitrc не существует (эти настройки хранятся в файле /etc/X11/xinit/xinitrc).

[edit] Усовершенствование загрузки X

для опций X смотрите

man Xserver

Следующие опции могут быть добавлены к переменной "defaultserverargs" в файле /usr/bin/startx.

запретить X прослушивание по tcp:

-nolisten tcp

избавиться от серого узора при загрузке X и заменить его чёрным фоном:

-br

включить задержку загрузки глифов для 16-битных шрифтов:

-deferglyphs 16

Если вы запускаете X с помощью kdm, то скрипт startx не выполняется. Эти опции могут быть добавлены к переменной "ServerCmd" в файле /opt/kde/share/config/kdm/kdmrc.

[edit] Изменения в модульном Xorg

[edit] Самые распространённые пакеты

Note: Мета-пакет 'xorg' включает в себя самые распространённые нужные пакеты - когда вы делаете pacman -Syu для обновления с Xorg 6.8, он должен обновиться до этого пакета.

Удостоверьтесь, что вы установили драйвера для мыши, клавиатуры и видеокарты. Для устройств ввода пакеты xf86-input-keyboard и xf86-input-mouse должны быть установлены. Дргие пакеты вида xf86-input-* доступны для других устройств ввода.

Что касается видеокарты, найдите, какой драйвер требуется и установите соответствующий пакет вида xf86-video-*. Пользователи ATI и Nvidia могут установить проприетарные драйвера для своих видеокарт ( NVIDIA, ATI).

Для установки всех драйверов сразу доступны пакеты xorg-input-drivers и xorg-video-drivers.

[edit] OpenGL 3D ускорение

Xorg 7.1 в ArchLinux использует модульный вид для mesa, системы рендеринга OpenGL. Доступны некоторые реализации:

  • libgl-dri: свободная реализация DRI OpenGL. Возвращается к софтверному рендеринге, когда не установлен ни один из DRI драйверов.
  • некоторые другие, предоставляющие libGL (ati, nvidia)

Когда pacman устанавливает приложение, которому требуется mesa, он установит один из этих пакетов. Чтобы быть уверенным в установке нужной библиотеки для вашей системы, установите её до установки Xorg. Установка нужного пакета после также возможна, хотя это может иногда привести к некоторым ошибкам с зависимостями, которые можно продолеть с помощью опции -d.

[edit] glxgears и glxinfo

Эти приложения находятся в пакете mesa.

[edit] Изменившиеся пути и настройки

Смотрите эту ссылку за подробным описанием обновления: http://www.archlinux.org/blog/2006/01/02/how-to-upgrade-xorg/

Модульный X.Org 7 устанавливает всё в /usr, а предыдущие версии устанавливались в /usr/X11R6. Некоторые конфигурационные файлы требуют обновления:

  • /etc/X11/xorg.conf
    • Шрифты теперь лежат в /usr/share/fonts
    • RGB база в /usr/share/X11/rgb
    • путь к модулям /usr/lib/xorg/modules

Обратите внимание, что некоторые утилиты настройки X могут перестать работать. Самый простой путь настройки X.org - это установка соответсвующих пакетов драйверов и последующий запуск Xorg -configure, результатом которого будет файл /root/xorg.conf.new, который надо будет изменить только в настройке разрешений, мыши и раскладок клавиатуры.

Некоторые пакеты имеют жёсткие ссылки на /usr/X11R6. Эти пакеты нуждаются в лечении. Для этого посмотрите, какие пакеты устанавливают файлы в /usr/X11R6, удалите их из системы, сделайте символическую ссылку с /usr на /usr/X11R6 и переустановите поражённые пакеты. Другая возможность заключается в перемещении содержимого /usr/X11R6 в /usr и создании символической ссылки.

Также вы можете установить второй путь к модулям, например, так: <code/>ModulePath "/usr/X11R6/lib/modules"</code> Это работает, например, для nVidia 76.76

[edit] Проблемы

[edit] Быстрое решение конфликта с Bitstream-Vera

Если вы видите сообщение о конфликте ttf-bitstream-vera conflicts и xorg:

  1. Выйдите из pacman'а, ответив no.
  2. Run pacman -Rd xorg
  3. Run pacman -Syu
  4. Run pacman -S xorg
  5. ОБновите пути в файле /etc/X11/xorg.conf

[edit] Быстрое решение конфликтов файлов в /usr/include

Если вы видите сообщения о конфликтах файлов в /usr/include/X11 и /usr/include/GL:

  1. выполните rm /usr/include/{GL,X11}
  2. выполните pacman -Su

Каталоги, на которые были созданы символические ссылки будут удаленыи заменены реальными каталогами в новом пакете xorg, который и вызвал конфликт у файлов.

[edit] Конфликты с libgl-dri

Если вы видите сообщение типа:

:: libgl-dri conflicts with nvidia-legacy. Remove nvidia-legacy? [Y/n]

это проиходит из-за нескольких реализаций OpenGL, объяснённых в разделе OpenGL выше - pacman пытается установить libgl-dri для удовлетворения зависимостей, но ещё и хочет обновить ваш видеодрайвер, а они конфликтуют. Для разрешения проблемы попробуйте:

  • обновить видеодрайвер перед полным обновлением системы:
pacman -S nvidia-legacy
pacman -Syu

или, если это не работает:

  • Удалить существующий видеодрайвер, обновиться, потом переустановить драйвер:
$ pacman -Rd nvidia-legacy
$ pacman -Syu
$ pacman -S nvidia-legacy
:: nvidia-legacy conflicts with libgl-dri. Remove libgl-dri? [Y/n] Y

[edit] НЕработающее колесо мыши

Протокол "Auto" не работает правильно в Xorg 7. В секции InputDevice для мыши, измените:

Option         "Protocol" "auto"

на

Option         "Protocol" "IMPS/2"

или

Option         "Protocol" "ExplorerPS/2"

[edit] Дополнительные кнопки на мыши перестали работать

Пользователи USB мышей должны прочитать Get_All_Mouse_Buttons_Working.

Пользователи Intellimouse (ExplorerPS/2) могут столкнуться с неработающим скроллом и боковыми кнопками. Раньше была запись в xorg.conf:

Option      "Buttons" "7"
Option      "ZAxisMapping" "6 7"

и пользователи также запускали xmodmap, чтобы боковые кнопки работали, командой типа:

xmodmap -e "pointer = 1 2 3 6 7 4 5"

Теперь xmodmap не нужен. Вместо этого исправьте xorg.conf так:

Option      "Buttons" "5"
Option      "ZAxisMapping" "4 5"
Option      "ButtonMapping" "1 2 3 6 7"

и боковые кнопки 7-кнопочной Intellimouse будут работать, как и прежде, без запуска xmodmap.

[edit] Проблемы с клавиатурой

Некоторые раскладки клавиатуры изменились. Стало невозможным:

  • использовать Ctrl+Alt+Fx для переключения между консолями
  • переключаться по раскладкам
  • использовать знак £ для локали gb

Проблема заключается в том, что некоторые раскладки (например, sk_qwerty, uk) перестали существовать. Следует заменить

Option         "XkbLayout" "us,sk_qwerty"

на

Option         "XkbLayout" "us,sk"
Option         "XkbVariant" ",qwerty"

Также обратите внимание на следующие строки:

Option "XkbRules"   "xfree86"    #должно быть "xorg"
Option "XkbVariant" "nodeadkeys" #эта строчка может вызывать описанные выше проблемы, попробуйте её закомментировать.

[edit] AltGR (Compose клавиша) не работает правильно

Если после обновления вы не можете использовать клавишу altGr, как раньше её использовали, попробуйте добавить эту строку в раздел клавиатуры:

Option      "XkbOptions" "compose:ralt"

Это не совсем правильный вариант активирования клавиши AltGr на немецкой клавиатуре (например, чтобы использовать знаки '|' и '@'). Просто выберите верный keyboard variant, чтобы клавиша снова заработала, например (для немецкой клавиатуры):

Option      "XkbLayout" "de"
Option      "XkbVariant" "nodeadkeys"

Вышеуказанные решения не работают, если у вас итальянская клавиатура. Для того чтобы активировать клавишу AltGr на итальянской клавиатуре, проверьте правильность следующих строк:

 Driver          "kbd"
 Option          "XkbRules"      "xorg"
 Option          "XkbVariant"    ""

[edit] Невозможно установить раскладку командой setxkbmap

После обновления некоторые qwerty раскладки были удалены, например sk_qwerty. Если вы хотите переключить имеющуюся раскладку на другую qwerty, используйте следующую команду:

setxkbmap NAME_OF_THE_LAYOUT qwerty

например, для sk_qwerty вводите:

setxkbmap sk qwerty

Может так получиться, что после обновления и вышеприведённой команды будет сообщение: "Error loading new keyboard description". Оказывается, xserver не имеет прав записи, исполнения и чтения в /var/tmp Просто дайте права на эту директорию и перезапустите xserver!

[edit] Настройка франко-канадской раскладки (бывшая ca_enhanced)

В Xorg7 "ca_enhanced" более не существует. Для получения той раскладки, которая была, придётся использовать маленький трюк. Измените

       Option          "XkbLayout"     "ca_enhanced"

на

       Option          "XkbLayout"     "ca"
       Option          "XkbVariant"    "fr"

То же самое, видимо, и с другими подобными раскладками. Вы можете обратиться к Gentoo HowTo по этому вопросу: http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml

[edit] KDM/GDM не работают

KDM/GDM не может запуститься, так как ищет X в неверном месте.


  • Исправления в конфигурационных файлах: отредактируйте соответствующие конфигурационные файлы для KDM/GDM (наверное, лучшее решение).

Для GDM измените файл gdm.conf, заменив все встречающиеся упоминания /usr/X11R6/bin/X на /usr/bin/X

vim /opt/gnome/etc/gdm/gdm.conf

Команда замены для vi

:%s/\/usr\/X11R6\/bin\/X/\/usr\/bin\/X/g

Для KDM надо изменить файл /opt/kde/share/kdm/kdmrc.


  • Метод символических ссылок: вам надо запустить следующие команды для исправления ситуации:
mkdir -p /usr/X11R6/bin/
ln -s /usr/bin/X /usr/X11R6/bin/X

попробуйте снова, должно заработать.

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

 ln -s /usr/bin/ /usr/X11R6/bin

Возможно, потребуется перезагрузка.

[edit] Отсутствующие библиотеки

  • Помогите! Постоянно вываливается окно с сообщением об ошибке запуска моей любимой программы: "libXчто-то" не существует!

В большинстве случаев всё, что вам нужно сделать, - это взять имя библиотеки (например,libXau.so.1), перевести название в нижний регистр и установить её:

pacman -S libxau

[edit] Некоторые пакеты не собираются, жалуясь на отсутствующие X11 includes

Просто переустановите пакеты xproto и libx11, даже если они уже установлены.

[edit] Невозможно загрузить шрифт '(null)'

  • Некоторые программы не работают и говорят, что не могут загрузить шрифт `(null)'.

Эти пакеты хотят каких-то дополнительных шрифтов. Некоторые программы работают только с bitmap шрифтами. Доступны два больших пакета, содержащих bitmap шрифты, xorg-fonts-75dpi и xorg-fonts-100dpi. Вам не нужны оба, достаточно и одного. Чтобы найти, какой вам подходит больше, попробуйте команду:

xdpyinfo | grep resolution

и выберите, что ближе (75 или 100 вместо XX)

pacman -S xorg-fonts-XXdpi

[edit] Иконки KDE в панели задач и на Десктопе не работают

  • Панель задач KDEне работает и исчезли иконки на рабочем столе

Установите пакеты libxcomposite и libxss:

pacman -S libxcomposite libxss

[edit] Обновление с testing до current (отсутствующие файлы)

Если вы обновились с Xorg 7 из testing до Xorg 7 из current и обнаружили, что много файлов отсутствуют (включая startx, /usr/share/X11/rgb.txt и другие), потеря могла произойти из-за того, что пакет xorg-clients был разбит на много мелких пакетов.

Вам необходимо переустановить пакеты, которые являются зависимостями xorg-clients:

pacman -S xorg-apps xorg-font-utils xorg-res-utils xorg-server-utils \
          xorg-twm xorg-utils xorg-xauth xorg-xdm xorg-xfs xorg-xfwp \
          xorg-xinit xorg-xkb-utils xorg-xsm

Это должно разрешить проблему.

[edit] Проблемы с MIME типами в различных DE

Если вы заметили недостающие иконки и вы не можете открывать файлы по щелчку мыши в вашем DE, добавьте следующие строчки в /etc/profile или предпочитаемый скрипт загрузки и перезагрузитесь.

XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share
export XDG_DATA_DIRS

[edit] DRI перестало работать с картами Matrox

Если вы используете карту Matrox и DRI не работает после обновления до xorg7, попробуйте добавить строку

Option "OldDmaInit" "On"

в секцию Device, описывающую видеокарту в xorg.conf.

[edit] Полезные ссылки

Внешние ссылки:

Personal tools