X window system (Українська)

From ParabolaWiki
(Redirected from Xorg (Українська))
Jump to: navigation, search
Короткий зміст
Загальний огляд встановлення та керування 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 logo.png

Xorg є публічною, вільною програмною реалізацією віконної системи X версії 11. Оскільки Xorg є найпопулярнішим вибором серед користувачів GNU/Linux, його повсюдність призвело до того, що він став постійно необхідним для графічних інтерфейсів, що призвело до масового використання у більшості дистрибутивів. Для більш детальної інформації див. Статтю у Вікіпедії про Xorg(оригінал статті Xorg) або відвідайте сайт Xorg.


Contents

1 Встановлення

По-перше, вам знадобиться встановити X-сервер пакетом xorg-server, доступним у офіційних репозиторіях. Вам також можуть знадобитися корисні утиліти, що входять до групи xorg-apps.

udev виявить ваше апаратне забезпечення, і evdev буде діяти як драйвер для майже всіх пристроїв. Обидва вони є заелжностями xorg-server, тому немає потреби встановлювати іхні пакети вручну.

Порада: За умовчанням середовище X досить голе, і ви, як правило, прагнете встановити менеджер вікон або середовище робочого столу для доповнення X.

2 Запуск

Дивіться також: Start X at boot (Українська)

Порада: Найпростішим способом запуску X є використання дисплейного менеджера, наприклад GDM, KDM або SLiM.

Якщо ви хочете запустити 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.

Примітка: * Якщо виникла проблема, перегляньте журнал у /var/log/Xorg.0.log. Слідкуйте за будь-якими рядками, що починаються з (EE), які представляють помилки, а також (WW), які є попередженнями, які можуть вказувати на інші проблеми.
  • Якщо у вашому $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
Увага: Це вимкне гаряче підлючення Xorg для всіх пристроїв вводу і повернеться до тієї ж поведінки, що і xorg-server 1.4. Набагато зручніше дозволити udev налаштувати пристрої. Тому відключення гарячого підключення не рекомендується!

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
Примітка: Це в розділі InputClass, а не в розділі InputDevice для клавіатури.

4.3.4 Налаштування розкладки клавіатури без гарячого підключення(застаріла)

Примітка: Зміна розкладки клавіатури за допомогою цього методу вимагає відключення гарячого підключення.

Щоб змінити розкладку клавіатури, скористайтеся параметром XkbLayout у розділі клавіатури InputDevice. Наприклад, якщо у вас є клавіатура з англійською розкладкою(Великобританія), розділ клавіатури InputDevice може виглядати подібним до цього:

Section "InputDevice"
    Identifier             "Keyboard0"
    Driver                 "kbd"
    Option                 "XkbLayout" "gb"
EndSection

Щоб змінити модель клавіатури, скористайтеся параметром XkbModel в розділі клавіатури InputDevice. Наприклад, якщо у вас є бездротова мультимедійна клавіатура Microsoft:

Опція "XkbModel" "microsoftmult"

4.3.5 Перемикання між розкладками клавіатури

Примітка: Вам потрібно встановити xorg-xkbevd і додати xkbevd до розділу DAEMONS у /etc/rc.conf.

Щоб можна було легко змінювати розкладки клавіатури, змініть параметри, які використовуються в будь-якому з двох вищезазначених методів. Наприклад, для перемикання між американським і шведським макетом за допомогою клавіші 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 на вашу розкладку клавіатури.
Примітка: Зауважте, що список розкладок і моделей клавіатури можна знайти в /usr/share/X11/xkb/rules/base.lst
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

Вільні драйвери:

5.2 Налаштування монітора

5.2.1 Починаємо

Примітка: Цей крок не є обов'язковим, пропустіть його, якщо ви не знаєте, що ви робите. Цей крок ОБОВ'ЯЗКОВИЙ, якщо використовується два монітори і драйвер Nouveau. Дивіться Nouveau#Подвійний заголовок.

Спочатку створіть новий конфігураційний файл, як /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 визначається таким чином:

  1. Параметр командного рядка -dpi має найвищий пріоритет.
  2. Якщо він не використовується, параметр DisplaySize в конфігураційному файлі X використовується для отримання DPI, враховуючи розширення екрана.
  3. Якщо не вказано DisplaySize, значення розміру монітора від DDC використовуються для виведення DPI, враховуючи розширення екрана.
  4. Якщо 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
Примітка: Ці розрахунки працють для моніторів з квадратними пікселями; однак, є рідкісні монітори, які можуть стискати пропорції(наприклад, роздільну здатність близько 16:9 до 16:9). Якщо це так, ви повинні вимірювати розмір екрану вручну.
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/50-monitor.conf займається налаштуванням монітора.
/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
Примітка: Якщо ви запускаєте X з kdm, скрипт startx, здається, не виконується. Параметри X повинні бути додані до змінної "ServerArgsLocal" чи "ServerCmd" у файлі /usr/share/config/kdm/kdmrc. Стандартні параметри kdm:
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

Потім викликайте програму так, як це робиться локально з оболонки.

Порада: Додайте цей рядок до ~ / .bashrc, щоб це відбувалося автоматично кожного разу, коли ви входите в систему.

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
Примітка: На KDE ця загальносистемна установка не працює. Щоб відновити, перейдіть до Початок> Комп'ютер>Системні налаштування. У вікні Системні налаштування натисніть Пристрої введення. У цьому новому вікні перейдіть на вкладку Клавіатура, а потім на вкладку Додатково. У цьому новому вікні виберіть поле Налаштувати параметри клавіатури. Розгорніть запис Послідовність ключів, щоб убити X-сервер' і перевірте Ctrl+Alt+Backspace. Натисніть Застосувати і закрийте вікно Системні параметри. Тепер у вашому KDE ви маєте Ctrl+Alt+Backspace.
7.2.1.2 Спеціальні для користувача

Інший спосіб полягає в тому, щоб додати цей рядок у xinitrc:

setxkbmap -option terminate:ctrl_alt_bksp
Примітка: Цей спосіб не впливає на Gnome 3.

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 запуститься.

8 Підтвердження

Ця стаття базується на ArchWiki. Ми вилучили всі елементи, які не відповідають FSDG(оригінал).