X window system (Українська)
Короткий зміст |
---|
Загальний огляд встановлення та керування Xorg |
Огляд |
Проект X window system (Українська) надає вільну програмну реалізацію X Window System - основу графічного інтерфейсу користувача. Середовища робочого столу, такі як LXQt, Openbox/KDE, Cinnamon, MATE, Xfce, GNOME, Deepin забезпечують повне графічне середовище. Різні віконні менеджери пропонують альтернативні та нові середовища і можуть використовуватися автономно для збереження системних ресурсів. Дисплейні менеджери додають графічний входу у систему.
|
Пов'язане |
Start X at boot |
Execute commands after X start |
Login Manager |
Window Manager |
Font Configuration |
X11 Cursors |
Get All Mouse Buttons Working |
Desktop Environment |
Wayland |
Вільні відео драйвери |
Nouveau (Українська) |
ATI |
Intel |
Xorg є публічною, вільною програмною реалізацією віконної системи X версії 11. Оскільки Xorg є найпопулярнішим вибором серед користувачів GNU/Linux, його повсюдність призвело до того, що він став постійно необхідним для графічних інтерфейсів, що призвело до масового використання у більшості дистрибутивів. Для більш детальної інформації див. Статтю у Вікіпедії про Xorg(оригінал статті Xorg) або відвідайте сайт Xorg.
Contents
- 1 Встановлення
- 2 Запуск
- 3 Налаштування
- 4 Пристрої введення
- 5 Графіка
- 6 Поради та підказки
- 7 Вирішення проблем
- 7.1 Загальні проблеми
- 7.2 Ctrl + Alt + Backspace не працює
- 7.3 Проблеми з клавіатурою Apple
- 7.4 Проблеми з сенсорною панелью
- 7.5 Додаткові кнопки миші не розпізнані
- 7.6 X-клієнти, запущені з "su", не працюють
- 7.7 Запит програми "font '(null)'"
- 7.8 Проблеми у режимі кадрового буфера
- 7.9 DRI з картами Matrox перестає працювати
- 7.10 Відновлення: вимкнення Xorg перед входом до графічного інтерфейсу
- 7.11 Не вдалося запустити X: помилка ініціалізації клавіатури
- 8 Підтвердження
1 Встановлення
По-перше, вам знадобиться встановити X-сервер пакетом xorg-server, доступним у офіційних репозиторіях. Вам також можуть знадобитися корисні утиліти, що входять до групи xorg-apps.
udev виявить ваше апаратне забезпечення, і evdev буде діяти як драйвер для майже всіх пристроїв. Обидва вони є заелжностями xorg-server, тому немає потреби встановлювати іхні пакети вручну.
2 Запуск
Дивіться також: Start X at boot (Українська)
Якщо ви хочете запустити X без менеджера відображення, встановіть пакет xorg-xinit. Необов'язково, пакунки xorg-twm, xorg-xclock і xterm дозволяють використовувати середовище за замовчуванням, як описано нижче.
Команди startx і xinit запускатимуть X-сервер і клієнти (скрипт startx - це інтерфейс для більш універсальної команди xinit). Щоб визначити клієнт для запуску, startx/xinit спочатку шукатиме розбір файлу ~/.xinitrc у домашньому каталозі користувача. За відсутності ~/.xinitrc використовується глобальний файл /etc/X11/xinit/xinitrc, який за замовчуванням запускає базове середовище з Twm менеджер вікон, Xclock і Xterm.
Додаткову інформацію дивіться у xinitrc.
- Якщо у вашому $HOME є файл пустого .xinitrc, або вилучіть, або відредагуйте .xinitrc, щоб X-сервер почав працювати правильно. Якщо ви не зробите цього, X-сервер покаже порожній екран навіль якщо не має помилок у вашому Xorg.0.log. Просте видалення запускає середовище X за замовчуванням.
3 Налаштування
Xorg можна налаштувати за допомогою /etc/X11/xorg.conf або /etc/xorg.conf і конфігураційних файлів, розташованих у /etc/X11/xorg.conf.d/. Parabola постачає файли налаштувань за замовчуванням у /etc/X11/xorg.conf.d, і більшість установок не потребує додаткової конфігурації. Ви можете створювати нові конфігураційні файли, але вони повинні починатися з XX- (де XX - це число) і мають суфікс .conf(10 читається до 20, наприклад ).
4 Пристрої введення
Встановлення драйверів введення не потрібне для більшості апаратних засобів. Проте, якщо evdev не підтримує ваш пристрій, встановіть потрібний драйвер з групи xorg-drivers(спробуйте виконати pacman -Sg xorg-drivers для виводу списку).
Ви повинні мати 10-evdev.conf у каталозі /etc/X11/xorg.conf.d, який керує клавіатурою, мишею, сенсорною панеллю та сенсорним екраном.
4.1 Сенсорна панель(тачпад) Synaptics
Головна сторінка: Touchpad Synaptics
Якщо у вас є ноутбук, вам потрібно встановити драйвер тачпада, що надається пакетом xf86-input-synaptics у офіційних репозиторіях.
Після встановлення ви можете знайти 10-synaptics.conf у каталозі /etc/X11/xorg.conf.d. Безпечно коментувати/видаляти рядок InputClass відносно тачпада в 10-evdev.conf.
4.2 Вимкнення гарячого підключення
З версії 1.8 Xorg-сервер використовує udev для виявлення пристроїв. Нижче показано як вимкнути використання udev.
Section "ServerFlags" Option "AutoAddDevices" "False" EndSection
4.3 Налаштування клавіатури
Можливо, Xorg не зможе правильно розпізнати вашу клавіатуру. Це може призвести до проблем із розкладкою клавіатури або клавіатурною моделлю.
Щоб переглянути повний список моделей клавіатури, розкладок, варіантів і опцій, відкрийте /usr/share/X11/xkb/rules/xorg.lst.
Щоб встановити розкладку для поточного сеансу Xorg використовуте:
# setxkbmap dvorak
4.3.1 Затримка повторювання ключа і швидкість
Використовуйте xset r rate ЗАТРИМКА, щоб змінити їх, а потім за допомогою xinitrc збережіть іх.
4.3.2 Перегляд налаштувань клавіатури
$ setxkbmap -print -verbose 10
Setting verbose level to 10 locale is C Applied rules from evdev: model: evdev layout: us options: terminate:ctrl_alt_bksp Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete symbols: pc+us+inet(evdev)+terminate(ctrl_alt_bksp) geometry: pc(pc104) xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)" }; xkb_geometry { include "pc(pc104)" }; };
4.3.3 Встановлення розкладки клавіатури з гарячим підключенням
Щоб назавжди змінити вашу розкладку клавіатури додайте це до xorg.conf:
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbLayout" "us" Option "XkbVariant" "colemak" EndSection
4.3.4 Налаштування розкладки клавіатури без гарячого підключення(застаріла)
Щоб змінити розкладку клавіатури, скористайтеся параметром XkbLayout у розділі клавіатури InputDevice. Наприклад, якщо у вас є клавіатура з англійською розкладкою(Великобританія), розділ клавіатури InputDevice може виглядати подібним до цього:
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbLayout" "gb" EndSection
Щоб змінити модель клавіатури, скористайтеся параметром XkbModel в розділі клавіатури InputDevice. Наприклад, якщо у вас є бездротова мультимедійна клавіатура Microsoft:
Опція "XkbModel" "microsoftmult"
4.3.5 Перемикання між розкладками клавіатури
Щоб можна було легко змінювати розкладки клавіатури, змініть параметри, які використовуються в будь-якому з двох вищезазначених методів. Наприклад, для перемикання між американським і шведським макетом за допомогою клавіші Caps Lock створіть файл /etc/X11/xorg.conf.d/01-keyboard-layout.conf з таким вмістом:
Section "InputClass" Identifier "keyboard-layout" MatchIsKeyboard "on" Option "XkbLayout" "us, se" Option "XkbOptions" "grp:caps_toggle" EndSection
Ви можете отримати список можливих варіантів grp: у /usr/share/X11/xkb/rules/xorg.lst(вони починаються приблизно в середині шляху у файлі).
Як альтернативу, ви можете додати до свого .xinitrc наступне:
setxkbmap -layout "us, se" -option "grp:caps_toggle"
Це корисно, якщо ви запускаєте робоче середовище, яке не займається розкладками клавіатури.
4.3.6 Ввімкнення клавіш миші
Клавіші миші тепер вимкнено за умовчанням і має бути ввімкнено вручну:
/etc/X11/xorg.conf.d/20-enable-pointerkeys.conf
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbOptions" "keypad:pointerkeys" EndSection
Ви можете також запустити:
$ setxkbmap -option keypad:pointerkeys
Обидві способи будуть використовувати клавіші швидкого перемакання Shift + Num Lock.
4.4 InputClasses
Взято з: https://fedoraproject.org/wiki/Input_device_configuration
InputClasses - це новий тип конфігураційного розділу, який не поширюється на один пристрій, а на клас пристроїв, включаючи гарячі пристрої. Обсяг розділу InputClass обмежений вказаними відповідностями – щоб застосувати до пристрою введення, всі збіги повинні застосовуватися до пристрою. Нижче наведено приклад розділу InputClass:
Section "InputClass" Identifier "touchpad catchall" MatchIsTouchpad "on" Driver "synaptics" EndSection
Наступний фрагмент також може бути корисним:
Section "InputClass" Identifier "evdev touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection
Якщо цей фрагмент присутній у xorg.conf або xorg.conf.d, будь-якій сенсорній панелі, присутній у системі, призначається драйвер synaptics. Зверніть увагу, що через порядок пріоритетів(алфавітно-цифрове сортування фрагментів xorg.conf.d) налаштування драйвера перезаписують попередньо задані параметри драйвера – чим більш загальний клас, тим раніше він повинен бути перерахований. Фрагмент за замовчуванням, що постачається з пакетом xorg-x11-drv-Xorg, є 00-evdev.conf і застосовує драйвер evdev до всіх пристроїв введення.
Параметри відповідності визначають, до яких пристроїв може застосовуватися розділ. Щоб відповідати пристрою, повинні застосовуватися всі лінії відповідності. Підтримуються такі рядки збігу(з прикладами):
- MatchIsPointer, MatchIsKeyboard, MatchIsTouchpad, MatchIsTouchscreen, MatchIsJoystick – логічні параметри для застосування до групи пристроїв.
- MatchProduct "foo|bar": підходить будь-якому пристрою з назвою продукту, що містить або "foo", або "bar"
- MatchVendor "foo|bar|baz": підходить будь-якому пристрою з нахвою продукту, що містить "foo", "bar" або "baz"
- MatchDevicePath "/dev/input/event*": падходить будь-якому пристрою з шляхом, який відповідає даному патчу(див. fnmatch(3) для допустимого шаблону)
- MatchTag "foo|bar": підходить будь-якому пристрою з тегом "foo" або "bar". Теги можна призначати за допомогою конфігурації – udev у нашому випадку – для позначення пристроїв, які потребують особливих умов або спеціальної конфігурації.
Приклад розділу для налаштувань для користувача:
Section "InputClass" Identifier "lasermouse slowdown" MatchIsPointer "on" MatchProduct "Lasermouse" MatchVendor "LaserMouse Inc." Option "ConstantDeceleration" 20 EndSection
Цей розділ буде відповідати покажчику пристрою, що містить "Lasermouse" від "Lasermouse Inc." і застосує постійне сповільнення 20 на цьому пристрої – фактичне уповільнення на 20.
Деякі пристрої можуть бути підібрані сервером X, коли вони дійсно не повинні бути. Ці пристрої можна налаштувати на ігнорування:
Section "InputClass" Identifier "no need for accelerometers in X" MatchProduct "accelerometer" Option "Ignore" "on" EndSection
4.4.1 Приклади конфігурацій
Наступні підрозділи описують приклади конфігурацій для часто використовуваних параметрів конфігурації. Зауважте, що якщо ви використовуєте середовище для робочого столу, наприклад GNOME або KDE, параметри, які ви встановлюєте в xorg.conf, можуть бути перезаписані з параметрами для користувача після входу до системи.
4.4.1.1 Приклад: Емуляція колеса (для TrackPoint)
Якщо у вас є комп'ютер з Trackpoint(наприклад, Thinkpad), ви можете додати наступне до xorg.conf, щоб використовувати середню кнопку для емуляції колеса миші:
Section "InputClass" Identifier "Wheel Emulation" MatchIsPointer "on" MatchProduct "TrackPoint" Option "EmulateWheelButton" "2" Option "EmulateWheel" "on" EndSection
Для повної підтримки TrackPoints (включаючи горизонтальну прокрутку) можна використовувати наступне:
Section "InputClass" Identifier "Trackpoint Wheel Emulation" MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device" MatchDevicePath "/dev/input/event*" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "Emulate3Buttons" "false" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection
4.4.1.2 Приклад: Натисни, шоб клікнути
Натискання клавіші миші можна ввімкнути в діалоговому вікні налаштування миші(на вкладці тачпада), але якщо ви хочете можливість натискати у gdm, цей фрагмент вам допоможе:
Section "InputClass" Identifier "tap-by-default" MatchIsTouchpad "on" Option "TapButton1" "1" EndSection
4.4.1.3 Приклад: Розкладка і модель клавіатури на ноутбуці Acer 5920G
Модель і розкладка клавіатури можуть бути встановлені у файлі /etc/X11/xorg.conf.d/keyboard.conf або у будь-якому іншому файлі .conf в тому ж каталозі.
- MatchIsKeyboard "yes": встановіть пристрій введення на клавіатуру
- Option "XkbModel" "acer_laptop": встановіть модель клавіатури на Acer
- Option "XkbLayout" "be": встановіть розкладку клавіатури на бельгійську. Ви можете замінити be будь-якою іншою.
- Option "XkbVariant" "sundeadkeys": встановіть варіант розкладки на клавіші Sun dead. Ви можете опустити опцію XkbVariant, якщо ви дотримуєтеся варіанту за замовчуванням для клавіатури ноутбука. Ви можете замінити acer_laptop на вашу розкладку клавіатури.
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbModel" "acer_laptop" Option "XkbLayout" "be" Option "XkbVariant" "sundeadkeys" EndSection
4.4.1.4 Приклад: емуляція третьої кнопки (для всіх приєднаних мишей)
Емуляція третьої кнопки миші дозволяє використовувати кнопки 1 і 2(лівий і правий клік) разом, щоб натиснути кнопку 3(середній клік), яка дійсно корисна для копіювання і вставки в X.
Ми будемо змінювати вхідний сигнал миші /etc/X11/xorg.conf.d/10-evdev.conf
Section "InputClass" Identifier "evdev pointer catchall" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "Emulate3Buttons" "True" Option "Emulate3Timeout" "25" EndSection
Тут ви бачите опції Option "Emulate3Buttons" "True" і Option "Emulate3Timeout" "25", які вказують на те, що треба емулювати 3 кнопку при розпізнати обидвох кнопкок як середній клік з затримкою у 25 мс.
5 Графіка
5.1 Встановлення драйвера
Стандартним графічним драйвером є vesa (xf86-video-vesa), який працює з великою кількість чіпсетів, але не має жодного 2D або 3D-прискорення. Щоб увімкнути прискорення графіки, потрібно встановити та використовувати драйвер, який відповідає вашій відеокарті.
Спочатку визначте, яка у вас карта:
$ lspci | grep VGA
Потім встановіть відповідний драйвер. Ви можете значти ці пакети наступною командою:
$ pacman -Ss xf86-video
Вільні драйвери:
- NVIDIA: xf86-video-nouveau (see Nouveau (Українська))
- Intel: xf86-video-intel (see Intel)
- ATI: xf86-video-ati (see ATI)
5.2 Налаштування монітора
5.2.1 Починаємо
Спочатку створіть новий конфігураційний файл, як /etc/X11/xorg.conf.d/10-monitor.conf.
Вставте наступний код у вказаний вище конфігураційний файл:
Section "Monitor" Identifier "Monitor0" EndSection Section "Device" Identifier "Device0" Driver "vesa" #Виберіть драйвер, який використовується для цього монітора EndSection Section "Screen" Identifier "Screen0" #Згорнуто розділ "Монітор і пристрій" у розділу "Екран" Device "Device0" Monitor "Monitor0" DefaultDepth 16 #Choose the depth (16||24) SubSection "Display" Depth 16 Modes "1024x768_75.00" #Виберіть роздільну здатність EndSubSection EndSection
5.2.2 Кілька моніторів/два монітори
5.2.2.1 Більше однієї відеокарти
Ви повинні визначити правильний драйвер для використання і додати ID шини ваших графічних карт.
Section "Device" Identifier "Screen0" Driver "nouveau" BusID "PCI:0:12:0" EndSection Section "Device" Identifier "Screen1" Driver "radeon" BusID "PCI:1:0:0" EndSection
Щоб отримати bus ID:
$ lspci | grep VGA 01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)
Bus ID тут 1:0:0.
5.2.2.2 Скрипт для перемикання внутрішнього/зовнішнього дисплея для ноутбуків
Скрипт можна використовувати для комбінації клавіш.
#!/bin/bash IN="LVDS1" EXT="VGA1" if (xrandr | grep "$EXT" | grep "+") then xrandr --output $EXT --off --output $IN --auto else if (xrandr | grep "$EXT" | grep " connected") then xrandr --output $IN --off --output $EXT --auto fi fi
Внутрішні або зовнішні назви дисплеїв можна перевірити за допомогою:
# xrandr -q
Якщо у вас не встановлено xrandr, встновіть його за допомогою pacman:
# pacman -S xorg-xrandr
5.2.3 Розмір дисплея та DPI
DPI сервера X визначається таким чином:
- Параметр командного рядка -dpi має найвищий пріоритет.
- Якщо він не використовується, параметр DisplaySize в конфігураційному файлі X використовується для отримання DPI, враховуючи розширення екрана.
- Якщо не вказано DisplaySize, значення розміру монітора від DDC використовуються для виведення DPI, враховуючи розширення екрана.
- Якщо DDC не вказує розмір, 75 DPI використовується за замовчуванням.
Щоб отримати правильні точки на дюйм (DPI), розмір дисплея повинен бути розпізнаний або встановлений. Наявність правильного DPI є особливо необхідним, коли потрібні дрібні деталі(наприклад, візуалізація шрифтів). Раніше виробники намагалися створити стандарт для 96 DPI(10,3-дюймовий діагональ монітора був би 800х600, монітор 13,2-дюймовий 1024х768). У ці дні екранні DPI різняться і не можуть бути рівними по горизонталі і вертикалі. Наприклад, 19-дюймовий широкоформатний LCD-дисплей на 1440x900 може мати DPI 89x87. Щоб встановити DPI, сервер Xorg намагається автоматично визначити фізичний розмір екрану монітора за допомогою графічної карти з DDC(російською). Коли сервер Xorg знає фізичний розмір екрану, він зможе встановити правильний DPI, залежно від розширення.
Щоб перевірити, чи правильно визначено/обчислено розмір дисплея та DPI:
$ xdpyinfo | grep -B2 resolution
Переконайтеся, що розміри відповідають розміру дисплея. Якщо сервер Xorg не може правильно розрахувати розмір екрану, DPI за замовчуванням буде дорівнює 75x75, і вам доведеться розрахувати його самостійно.
Якщо у вас є специфікації на фізичному розмірі екрана, їх можна ввести в файл налаштування Xorg, щоб обчислити відповідний DPI:
Section "Monitor" Identifier "Monitor0" DisplaySize 286 179 # В міліметрах EndSection
Якщо ви бажаєте лише ввести специфікацію вашого монітора без створення повного xorg.conf, створіть новий конфігураційний файл. Наприклад(/etc/X11/xorg.conf.d/90-monitor.conf):
Section "Monitor" Identifier "<default monitor>" DisplaySize 286 179 # In millimeters EndSection
Якщо у вас немає специфікацій для фізичної ширини та висоти екрана(більшість специфікацій наведено лише за діагональним розміром), можна використовувати розширення монітора(або співвідношення сторін) і діагональну довжину для обчислення фізичних і горизонтальних розмірів. Використання теореми Піфагора на екрані діагональної довжини 13,3 дюйма з роздільною здатністю 1280x800 (або співвідношенням сторін 16:10):
echo 'scale=2;sqrt(1280^2+800^2)' | bc # 1509.43698
Це дасть довжину діагоналі пікселів і з цим значенням ви зможете виявити фізичні та горизонтальні довжини(і перетворити їх на міліметри):
echo 'scale=2;(13.3/1509)*1280*25.4' | bc # 286.43072 echo 'scale=2;(13.3/1509)*800*25.4' | bc # 179.01920
5.2.3.1 Встановлення DPI вручну
DPI можна встановити вручну, якщо ви плануєте використовувати лише одну роздільну здатність(калькулятор DPI):
Section "Monitor" Identifier "Monitor0" Option "DPI" "96 x 96" EndSection
Якщо ви використовуєте картку NVIDIA, ви можете вручну встановити DPI, додаючи опції нижче у /etc/X11/xorg.conf.d/20-nouveau.conf (всередині розділу пристрій(Device)):
Option "UseEdidDpi" "False" Option "DPI" "96 x 96"
Для драйверів, сумісних з RandR, ви можете встановити DPI за допомогою:
xrandr --dpi 96
Дивіться запуск команд після запуску X, щоб зберегти його назавжди.
5.2.4 DPMS
DPMS(Display Power Management Signaling) - це технологія, що дозволяє увімкнури енергозбереження, коли комп'ютер не використовується. Це дозволить вам автоматично переходити в режим очікування після попередньо визначеного періоду часу. Дивіться DPMS.
5.3 Приклади файлів xorg.conf
Будь-хто, хто має файл xorg.conf, який працює, розміщуйте посилання на нього, щоб інші могли подивитися. Будь ласка, не викладайте весь конфігураційний файл у вікі; завантажте його в інше місце та розмістіть посилання. Будь ласка, опубліковуйте лише конфігурації з підтримкою гарячого підключення, інакше зауважте, що ваш конфігурація не використовує гаряче підлючення. (Xorg 1.11 = udev)
5.3.1 - Приклад Один: xorg розділи в окремих файлах
Це зразок файлів конфігурацій, які використовують окремі розділи(клавіатури, монітори, екрани, драйвери і т.д.).
/etc/X11/xorg.conf.d/00-xorg-base.conf: http://pastebin.com/raw.php?i=GdnGQZQk /etc/X11/xorg.conf.d/10-serverlayout-layout0.conf: http://pastebin.com/raw.php?i=0f1rytQf /etc/X11/xorg.conf.d/10-serverlayout-layout1.conf: http://pastebin.com/raw.php?i=PYbmcgtz /etc/X11/xorg.conf.d/10-serverlayout-layout2.conf: http://pastebin.com/raw.php?i=rVrgN8rC /etc/X11/xorg.conf.d/10-serverlayout-layout3.conf: http://pastebin.com/raw.php?i=Rq9CJ5pi /etc/X11/xorg.conf.d/20-inputclass-keyboards.conf: http://pastebin.com/raw.php?i=mqCvaFKv /etc/X11/xorg.conf.d/30-screen-screen0.conf: http://pastebin.com/raw.php?i=XFCvUyuU /etc/X11/xorg.conf.d/30-screen-screen1.conf: http://pastebin.com/raw.php?i=qSr97KhB /etc/X11/xorg.conf.d/30-screen-screen2.conf: http://pastebin.com/raw.php?i=7n5t1gN7 /etc/X11/xorg.conf.d/30-screen-screen3.conf: http://pastebin.com/raw.php?i=nFudQ2tw /etc/X11/xorg.conf.d/40-device-nouveau.conf: http://pastebin.com/raw.php?i=Lk5SM21e /etc/X11/xorg.conf.d/50-monitor.conf: http://pastebin.com/raw.php?i=sR05xAeU /etc/X11/xorg.conf.d/51-modes.conf: http://pastebin.com/raw.php?i=Me6kFgLa
6 Поради та підказки
6.1 Налаштування запуску X (/usr/bin/startx)
Для довідки дивіться:
$ man Xserver
Наступні параметри повинні бути додані до змінної "defaultserverargs" у файлі /usr/bin/startx:
- Вмикання відкладеного завантаження гліфа для 16-бітових шрифтів:
-deferglyphs 16
ServerArgsLocal=-nolisten tcp ServerCmd=/usr/bin/X
6.2 Віртуальна сесія X
Щоб розпочати іншу сесію X, наприклад, Ctrl+Alt+F8, потрібно ввести її в консолі:
xinit /path/to/wm -- :1
Змініть "/path/to/wm" на початковий файл менеджера вікон або на менеджер входу gdm, kdm або slim.
6.3 Вкладені X сесії
Щоб виконати вкладений сеанс іншого середовища робочого столу:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Це запуститиме сеанс Window Maker у вікні 1024 на 768 у поточній сесії X.
Для цього потрібно встановити пакет xorg-server-xnest.
6.4 Запуск GUI програм віддалено
Щоб запустити програму, яка використовує X під час віддаленого входу(наприклад, через ssh), вам потрібно ввести її з віддаленої оболонки:
export DISPLAY=:0
Потім викликайте програму так, як це робиться локально з оболонки.
7 Вирішення проблем
7.1 Загальні проблеми
Якщо Xorg не запустився, екран повністю чорний, клавіатура і миша не працюють, і т.д., спочатку зробіть такі прості кроки:
- Перевірте файл журналу X: cat /var/log/Xorg.0.log
- Встановіть драйвер введення(клавіатура, миша, джойстик, планшет тощо ...):
- Нарешті, шукайте спільні проблеми в статтях ATI, Intel і Nouveau (Українська).
7.2 Ctrl + Alt + Backspace не працює
Існує два способи відновлення Ctrl+Alt+Backspace; з і без гарячого підключення. Рекомендується використовувати гаряче підключення.
7.2.1 З гарячим підключенням
7.2.1.1 Загальносистемно
Просто додайте в /etc/X11/xorg.conf.d/10-evdev.conf наступне:
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection
7.2.1.2 Спеціальні для користувача
Інший спосіб полягає в тому, щоб додати цей рядок у xinitrc:
setxkbmap -option terminate:ctrl_alt_bksp
7.2.2 Без гарячого підключення
Новий Xorg вимикає перемикання за допомогою Ctrl+Alt+Backspace за замовчуванням. Ви можете увімкнути його, додавши наступний рядок до розділу InputDevice для клавіатури у /etc/X11/xorg.conf,
Option "XkbOptions" "terminate:ctrl_alt_bksp"
7.3 Проблеми з клавіатурою Apple
- Дивіться: Клавіатура Apple
7.4 Проблеми з сенсорною панелью
- Дивіться: Synaptics
7.5 Додаткові кнопки миші не розпізнані
- Дивіться: Увімкнути всі кнопки миші
7.6 X-клієнти, запущені з "su", не працюють
Якщо ви отримуєте помилку "Клієнт не авторизований для підключення до сервера(Client is not authorized to connect to server)", спробуйте додати до /etc/pam.d/su рядок:
session optional pam_xauth.so
pam_xauth правильно встановить змінні середовища і обробить ключі xauth.
7.7 Запит програми "font '(null)'"
- Повідомлення про помилку: "unable to load font `(null)'."
Деякі програми працюють лише з бітовими шрифтами. Доступні два великих пакета з растровими шрифтами: xorg-fonts-75dpi-libre і xorg-fonts-100dpi-libre. Вам не потрібні обидва; одного достатньо. Щоб дізнатися, який із них буде кращим у вашому випадку, спробуйте:
$ xdpyinfo | grep resolution
Використовуйте те, що вам більше подобається (75 або 100 замість XX)
# pacman -S xorg-fonts-XXdpi-libre
7.8 Проблеми у режимі кадрового буфера
Якщо X не запускається з наступними повідомленями у журналі:
(WW) Falling back to old probe method for fbdev (II) Loading sub module "fbdevhw" (II) LoadModule: "fbdevhw" (II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so (II) Module fbdevhw: vendor="X.Org Foundation" compiled for 1.6.1, module version=0.0.2 ABI class: X.Org Video Driver, version 5.0 (II) FBDEV(1): using default device Fatal server error: Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
Видаліть fbdev:
# pacman -R xf86-video-fbdev
7.9 DRI з картами Matrox перестає працювати
Якщо ви використовуєте карту Matrox і DRI припиняє працювати після оновлення до Xorg, спробуйте додати рядок:
Option "OldDmaInit" "On"
до розділу Device, який посилається на відеокарту в xorg.conf.
7.10 Відновлення: вимкнення Xorg перед входом до графічного інтерфейсу
Якщо Xorg встановлюється для автоматичного завантаження і з якоїсь причини потрібно запобігти його запуску до появи менеджера входу/відображення (якщо /etc/rc.conf помилково налаштований і Xorg не розпізнає вашу мишу або клавіатуру), ви можете вирішити це двома способами:
- У меню GRUB можна вказати рівень виконання в рядку ядра, додавши номер до кінця рядка ядра, вказавши потрібний рівень виконання. Наступний приклад встановлює рівень виконання до 3:
kernel /boot/vmlinuz-linux-libre root=/dev/disk/by-uuid/..ro 3
- Якщо у вас є не тільки несправний /etc/rc.conf, що зробило Xorg непридатним для використання, але ви також встановили час очікування меню GRUB до нуля, або не можете використовувати GRUB, щоб запобігти завантаженню Xorg, ви можете використовувати Parabola LiveCD. Завантажте LiveCD і ввійдіть до системи як root. Вам потрібна точка монтування, наприклад, /mnt, і вам потрібно знати ім'я розділу, який потрібно змонтувати.
- Ви можете використовувати команду fdisk, щоб побачити розділи:
# fdisk -l
- Зазвичай той, який вам потрібет, буде нагадувати /dev/sda1. Потім, щоб змонтувати його у /mnt, використовуючи mount /dev/sdXY <mount folder>:
# mount /dev/sda1 /mnt
- Тоді ваша файлова система з'явиться у /mnt. Так, наприклад, ваш файл /etc/rc.conf буде в /mnt/etc/rc.conf. Тут ви можете видалити демон gdm, щоб запобігти нормальному завантаженню Xorg або здійснити інші необхідні зміни в конфігурації.
7.11 Не вдалося запустити X: помилка ініціалізації клавіатури
Якщо ваш жорсткий диск заповнений, startx не буде працювати. /var/log/Xorg.0.log завершиться на:
(EE) Error compiling keymap (server-0) (EE) XKB: Couldn't compile keymap (EE) XKB: Failed to load keymap. Loading default keymap instead. (EE) Error compiling keymap (server-0) (EE) XKB: Couldn't compile keymap XKB: Failed to compile keymap Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config. Fatal server error: Failed to activate core devices. Please consult the The X.Org Foundation support at http://wiki.x.org for help. Please also check the log file at "/var/log/Xorg.0.log" for additional information. (II) AIGLX: Suspending AIGLX clients for VT switch
Звільніть деякий простір у кореневому розділі, і X запуститься.