Xorg (Русский)

From ArchWiki
Revision as of 09:55, 16 January 2007 by Cheer (talk | contribs) (Проблемы)
Jump to navigation Jump to search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n links end

Contents

Введение

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

Установка Xorg

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

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

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

# pacman -S xorg

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

Настройка xorg

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

xorgconfig

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

xorgconfig

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

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

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, то, возможно, вам захочется сделать резервную копию перед выполнением этой команды.

Xorg -configure

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

Xorg -configure
или
X -configure

nvidia-xconfig

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

nvidia-xconfig

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

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

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

#nano /etc/X11/xorg.conf

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

Настройка монитора

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

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

HorizSync 28-64

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

VertRefresh 60

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

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

Depth 24

Разрешение

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

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

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

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


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

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

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

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

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

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

Option "XkbModel" "microsoftmult"

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

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

Option "XkbOptions" "grp:caps_toggle"

Размер дисплея/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

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

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

Шрифты

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

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

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

Запуск 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).

Усовершенствование загрузки 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.

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

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

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

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

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

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

OpenGL 3D ускорение

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

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

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

glxgears и glxinfo

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

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

Смотрите эту ссылку за подробным описанием обновления: 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 и создании символической ссылки.

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

Проблемы

Keyboard Problems

Быстрое решение конфликта с 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

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

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

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

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

Конфликты с 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

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

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

Option         "Protocol" "auto"

на

Option         "Protocol" "IMPS/2"

или

Option         "Protocol" "ExplorerPS/2"

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

Пользователи 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.

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

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

  • использовать 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" #эта строчка может вызывать описанные выше проблемы, попробуйте её закомментировать.

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

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

Option      "XkbOptions" "compose:ralt"

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

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

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

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

Невозможно установить раскладку командой 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!

Настройка франко-канадской раскладки (бывшая 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

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

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

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

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

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

pacman -S libxau

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

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

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

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

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

xdpyinfo | grep resolution

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

pacman -S xorg-fonts-XXdpi

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

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

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

pacman -S libxcomposite libxss

Обновление с 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

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

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

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

XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share
export XDG_DATA_DIRS

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

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

Option "OldDmaInit" "On"

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

Полезные ссылки

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