Xorg (Русский)
From ArchWiki
| i18n |
|---|
| English |
| Polski |
| Русский |
| Česky |
| Italiano |
| 简体中文 |
[edit] Введение
Xorg - это свободная открытая реализация оконной системы X11 (детальнее смотрите на статье о Xorg в wikipedia или на wiki X.org). В общем, если вы хотите GUI в ArchLinux, то вы захотите поставить xorg.
[edit] Установка Xorg
Для начала сделайте следующее:
- Удостоверьтесь, что pacman настроен и обновлён.
- Если у вас запущен x-server, закройте его сейчас:
ctrl+alt+backspace - Проверьте необходимость сторонних драйверов (например 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, разместите здесь ссылку на него, чтобы другие могли посмотреть! Пожалуйста, не вставляйте файл здесь, а разместите где-нибудь и укажите ссылку. Спасибо!
- Shadowhand (nv и nvidia драйвера): http://people.os-zen.net/shadowhand/configs/xorg.conf
- Cerebral (fglrx и radeon драйвера): http://www.student.cs.uwaterloo.ca/~tjwillar/configs/xorg.conf
- raskolnikov (via unichrome и synaptics драйвера): http://athanatos.free.fr/Arch/xorg.conf
- cheer (nvidia и synaptics драйвера, русская раскладка, dell 9400): http://lice.wordpress.com/dell-9400-configuration/xorgconf/
[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:
- Выйдите из pacman'а, ответив no.
- Run
pacman -Rd xorg - Run
pacman -Syu - Run
pacman -S xorg - ОБновите пути в файле /etc/X11/xorg.conf
[edit] Быстрое решение конфликтов файлов в /usr/include
Если вы видите сообщения о конфликтах файлов в /usr/include/X11 и /usr/include/GL:
- выполните
rm /usr/include/{GL,X11} - выполните
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] Полезные ссылки
- Добавление экранного менеджера входа в систему (KDM, GDM или XDM) в автозагрузку
- Запуск X при загрузке
- Xorg Font Configuration (Русский)
- Проприетарные видеодрайверы
- Desktop Environment
Внешние ссылки: