Xorg (Українська)
- Проект X.Org забезпечує реалізацію відкритого коду X Window System. Робота з розробки здійснюється разом з спільнотою freedesktop.org. Фундація X.Org є освітньою некомерційною корпорацією, Рада якої, керує цією роботою.
Xorg (зазвичай називають просто X) є найпопулярнішою віконною системою серед користувачів Linux. Її поширеність призвела до того, що вона стала необхідною умовою для додатків з графічним інтерфейсом, що призвело до масового використання у більшості дистрибутивів. Дивіться статтю X Window System у Вікіпедії або перейдіть на веб-сайт Xorg, щоб дізнатися більше.
Встановлення
Xorg може бути встановлена з пакунком xorg-server.
Крім того, деякі пакети з групи xorg-apps необхідні для певних задач налаштування, вони вказані у відповідних розділах.
Нарешті, також доступна група xorg, яка включає в себе серверні пакунки Xorg, пакунки з групи xorg-apps і шрифтів.
Встановлення драйверів
Ядро Linux включає відео драйвери з відкритим вихідним кодом і підтримку апаратно прискорюваних фрейм-буферів. Однак для підтримки OpenGL і 2D прискорення в X11 потрібне втручання користувача.
По-перше, ідентифікуйте вашу картку:
$ lspci | grep -e VGA -e 3D
Потім встановіть відповідний драйвер. Ви можете переглянути в базі даних пакунків повний список драйверів відео з відкритим вихідним кодом:
$ pacman -Ss xf86-video
Xorg автоматично шукає встановлені драйвери:
- Якщо він не може знайти спеціальний драйвер, встановлений для апаратних засобів (перелічених нижче), він спочатку шукає fbdev (xf86-video-fbdev).
- Якщо це не знайдено, він шукає vesa (xf86-video-vesa), загальний драйвер, який обробляє велику кількість наборів мікросхем, але не містить жодного 2D або 3D-прискорення.
- Якщо vesa не знайдено, Xorg повернеться до налаштувань ядра, та включить GLAMOR-прискорення (дивись modesetting(4)).
Для того, щоб прискорення відео працювало, і часто для виявлення всіх режимів, які може встановити графічний процесор, потрібний належний драйвер відео:
Brand | Type | Driver | OpenGL | OpenGL (multilib) | Documentation |
---|---|---|---|---|---|
AMD / ATI | Open source | xf86-video-amdgpu | mesa | lib32-mesa | AMDGPU |
xf86-video-ati | ATI | ||||
Intel | Open source | xf86-video-intel | mesa | lib32-mesa | Intel graphics |
NVIDIA | Open source | xf86-video-nouveau | mesa | lib32-mesa | Nouveau |
Proprietary | nvidia | nvidia-utils | lib32-nvidia-utils | NVIDIA | |
nvidia-390xxAUR | nvidia-390xx-utilsAUR | lib32-nvidia-390xx-utilsAUR | |||
nvidia-340xxAUR | nvidia-340xx-utilsAUR | lib32-nvidia-340xx-utilsAUR |
- Для NVIDIA Optimus на ноутбуках, в яких використовується вбудована відеокарта в поєднанні з виділеним GPU, дивіться NVIDIA Optimus або Bumblebee.
- Для графіки Intel 4-го покоління і вище див. Intel graphics#Installation для доступних драйверів.
Інші відео-драйвери можуть бути знайдені в групі xorg-drivers.
Xorg повинен працювати гладко без пропрієтарних драйверів, які зазвичай потрібні лише для розширених функцій, таких як швидка 3D- візуалізація для ігор. Виняток із цього правила - це останні графічні процесори (особливо графічні процесори NVIDIA), які не підтримуються драйверами з відкритим кодом.
AMD
GPU architecture | Radeon cards | Open-source driver | Proprietary driver |
---|---|---|---|
GCN 4 and newer |
варіанти | AMDGPU | AMDGPU PRO |
GCN 3 | AMDGPU | AMDGPU PRO | |
GCN 2 | AMDGPU* / ATI | недоступний | |
GCN 1 | AMDGPU* / ATI | недоступний | |
TeraScale 2&3 | HD 5000 - HD 6000 | ATI | недоступний |
TeraScale 1 | HD 2000 - HD 4000 | недоступний | |
Older | X1000 and older | недоступний |
- *: Експериментальні
Запуск
Команда Xorg(1), як правило, не запускається безпосередньо, замість цього, X-сервер стартує з будь-якого з менеджерів вікон або xinit.
Конфігурація
/usr/share/X11/xorg.conf.d/
, і в більшості випадків не потрібно додаткового налаштування.Xorg використовує файл налаштуваньxorg.conf
і файли що закінчуються на .conf
для початкового налаштування: повний список тек, в яких знаходяться ці файли, можна знайти у xorg.conf(5), разом з детальним поясненням усіх доступних варіантів.
Використання .conf файлів
Каталог /etc/X11/xorg.conf.d/
зберігає конфігурацію, специфічну для хоста. Ви можете додавати там конфігураційні файли, але вони повинні мати суфікс .conf
: файли зчитуються в порядку ASCII, тому, відповідно, їхні імена починаються з XX-
(дві цифри і дефіс, для прикладу: 10 читається перед 20). Ці файли аналізуються сервером X під час запуску і обробляються як частина традиційного конфігураційного файлу xorg.conf
. Зверніть увагу, що при конфліктній конфігурації цей файл буде оброблено останнім. З цієї причини найбільш загальні конфігураційні файли слід упорядковувати першими за назвою. Записи конфігурації у файлі xorg.conf
обробляються наприкінці.
Приклади налаштування дивіться на fedora wiki.
Використання xorg.conf
Xorg також можна налаштувати за допомогою /etc/X11/xorg.conf
або /etc/xorg.conf
. Ви також можете створити основу для xorg.conf
з:
# Xorg :0 -configure
Це має створити файл xorg.conf.new
в /root/
, в який можна скопіювати /etc/X11/xorg.conf
.
Xorg :2 -configure
.Крім того, драйвери пропрієтарних відеокарт можуть постачатися з інструментом для автоматичної настройки Xorg: див. Статтю вашого відео-драйвера, NVIDIA або AMDGPU PRO.
Пристрої введення
Для пристроїв введення даних X-сервер типово використовує драйвер libinput (xf86-input-libinput), але xf86-input-evdev та відповідні драйвери доступні як альтернатива.[1]
Udev, яка забезпечується як залежність від systemd, буде виявляти апаратні засоби, і обидва драйвера виступатимуть як драйвер введення для гарячого підключення майже для всіх пристроїв, як це типово визначено у файлах конфігурації 10-quirks.conf
та 40-libinput.conf
за шляхом /usr/share/X11/xorg.conf.d/
.
Після запуску X-серверу, у файлі журналу відображатиметься, який драйвер буде задіяний для окремих пристроїв (зауважте, що найновіше ім'я файлу журналу може змінюватися):
$ grep -e "Using input driver " Xorg.0.log
Якщо обидва драйвери не підтримують певний пристрій, встановіть потрібний драйвер з групи xorg-drivers. Те ж саме зробіть, якщо ви хочете використовувати інший драйвер.
Щоб вплинути на гаряче підключення, див #Конфігурація.
Для більш конкретних інструкцій див. статтю libinput, читайте нижче, або Fedora wiki.
Ідентифікація введення
Дивіться Keyboard input#Identifying keycodes in Xorg.
Прискорення миші
Дивіться Mouse acceleration.
Додаткові кнопки миші
Дивіться Mouse buttons.
Тачпад
Дивіться libinput або Synaptics.
Тачскрін
Дивіться Touchscreen.
Налаштування клавіатури
Дивіться Keyboard configuration in Xorg.
Налаштування монітору
Ручне налаштування
- Новіші версії Xorg йдуть з автоконфігуруванням, тому ручна конфігурація не потрібна.
- Якщо Xorg не може виявити якийсь монітор або знайти автоматичного налаштування, можна використовувати файл конфігурації. Загальний випадок, коли це необхідно, це система, яка завантажується без монітора і автоматично запускає Xorg, або з віртуальної консолі при вході, або з менеджеру вікон.
Для конфігурації без-моніторних систем потрібен драйвер xf86-video-dummy; встановіть його та створіть файл конфігурації, подібний до цього:
/etc/X11/xorg.conf.d/10-headless.conf
Section "Monitor" Identifier "dummy_monitor" HorizSync 28.0-80.0 VertRefresh 48.0-75.0 Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 EndSection Section "Device" Identifier "dummy_card" VideoRam 256000 Driver "dummy" EndSection Section "Screen" Identifier "dummy_screen" Device "dummy_card" Monitor "dummy_monitor" SubSection "Display" EndSubSection EndSection
Декілька моніторів
Дивіться головну статтю Multihead для отримання більшої інформації.
Дивіться також інструкції відповідно до вашого GPU:
Більш ніж одна графічна карта
Ви повинні визначити правильний драйвер для використання і ввести BusID ваших графічних карт.
Section "Device" Identifier "Screen0" Driver "nouveau" BusID "PCI:0:12:0" EndSection Section "Device" Identifier "Screen1" Driver "radeon" BusID "PCI:1:0:0" EndSection
Щоби взнати BusID:
$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)
Bus ID тут 1:0:0.
Розмір екрану та DPI
DPI X-сервера визначається наступним чином:
- Параметр командного рядка
-dpi
має найвищий пріоритет.
- Якщо це не використовується, параметр
DisplaySize
у конфігураційному файлі Xorg використовується для виведення DPI, враховуючи дозвіл екрана.
- Якщо не заданий параметр
DisplaySize
, значення розміру монітора використовуються з DDC для виведення DPI, враховуючи дозвіл екрана. - Якщо DDC не визначає розмір, 75 DPI використовуються типово.
Щоб отримати правильну кількість точок на дюйм (DPI), розмір дисплея повинен бути розпізнаний або встановлений. Наявність правильного DPI є особливо необхідним, коли потрібні дрібні деталі (наприклад, візуалізація шрифтів). Раніше виробники намагалися створити стандарт для 96 DPI (діагональний монітор розміром 10,3" був би 800x600, монітор 13,2" - 1024x768). В наш час DPI екрану різняться і можуть бути не рівними по горизонталі і вертикалі. Наприклад, 19-дюймовий широкоформатний РК-дисплей на 1440x900 може мати DPI 89x87. Щоб встановити DPI, сервер Xorg намагається автоматично визначити фізичний розмір екрану монітора за допомогою графічної карти з DDC. Коли сервер Xorg знає фізичний розмір екрану, він зможе встановити правильний DPI в залежності від розміру дозволу.
Щоб дізнатися, чи правильно визначено/розраховано розмір дисплея та DPI:
$ xdpyinfo | grep -B2 resolution
Переконайтеся, що розміри відповідають розміру дисплея. Якщо сервер Xorg не може правильно розрахувати розмір екрану, він типово буде дорівнює 75x75 DPI, і вам доведеться розрахувати його самостійно.
Якщо у вас в документації є інформація про фізичний розмір екрана, вона може бути введена в файл конфігурації Xorg, щоб обчислити відповідний DPI (налаштувати ідентифікатор вашого виводу xrandr) :
Section "Monitor" Identifier "DVI-D-0" DisplaySize 286 179 # В міліметрах EndSection
Якщо ви бажаєте лише ввести специфікацію вашого монітора, без створення повного xorg.conf, створіть новий конфігураційний файл. Наприклад (/etc/X11/xorg.conf.d/90-monitor.conf
):
Section "Monitor" Identifier "<default monitor>" DisplaySize 286 179 # В міліметрах EndSection
Якщо у вас немає в документації інформації про ширину та висоту екрана (більшість специфікацій наведено лише за діагональним розміром), можна використовувати власне дозвіл монітора (або співвідношення сторін) і діагональний розмір для обчислення горизонтальних і вертикальних фізичних розмірів. Використання теореми Піфагора на екрані діагоналі 13,3 дюйма з рідною роздільною здатністю 1280x800 (або співвідношенням сторін 16:10):
$ echo 'scale=5;sqrt(1280^2+800^2)' | bc # 1509.43698
Це дасть піксельний діагональний розмір і з цим значенням ви зможете виявити фізичні та горизонтальні розміри (і перетворити їх на міліметри):
$ echo 'scale=5;(13.3/1509)*1280*25.4' | bc # 286.43072 $ echo 'scale=5;(13.3/1509)*800*25.4' | bc # 179.01920
Ручне налаштування DPI
Для RandR-сумісних драйверів (наприклад відкритий ATI драйвер), ви можете встановити його:
$ xrandr --dpi 144
Виконайте команди після старту X щоб зробити зміни постійними.
Пропрієтарний драйвер NVIDIA
DPI можна встановити вручну, якщо ви плануєте використовувати лише одну роздільну здатність (калькулятор DPI):
Section "Monitor" Identifier "Monitor0" Option "DPI" "96 x 96" EndSection
Ви можете вручну встановити DPI, додавши нижче опції /etc/X11/xorg.conf.d/20-nvidia.conf
(в секції Device):
Option "UseEdidDpi" "False" Option "DPI" "96 x 96"
Застереження, щодо ручного налаштування DPI
GTK дуже часто перевизначає DPI сервера за допомогою додаткового файлу Xresource Xft.dpi
. Щоб дізнатися, чи відбувається це з вами, перевірте з:
$ xrdb -query | grep dpi
З версіями бібліотеки GTK після 3.16, коли ця змінна явно не встановлена, GTK встановлює його 96. Щоб програми GTK підкорялися серверу DPI, вам може знадобитися точно встановити Xft.dpi на те ж значення, що і сервер. Ресурс Xft.dpi - це метод, за допомогою якого деякі настільні середовища примушують DPI до певного значення в особистих налаштуваннях. Серед них KDE та TDE.
Управління енергозбереженням монітора
DPMS (Display Power Management Signaling) це технологія, що визначає функції управління енергозбереженням моніторів за допомогою відеокарти, коли комп'ютер не використовується. Це дозволить монітору автоматично переходити в режим очікування після попередньо визначеного періоду часу.
Композит
Композитне розширення для X призводить до того, що усе піддерево ієрархії вікна буде відтворено у буфері поза екраном. Програми можуть приймати вміст цього буфера і робити все, що їм подобається. Екранний буфер може бути автоматично об'єднаний у батьківське вікно або об'єднаний зовнішніми програмами, які називаються композитними менеджерами. Докладнішу інформацію див. у наступній статті: Композитний менеджер вікон
Багато віконних менеджерів (наприклад: Compiz, Enlightenment, KWin, Marco, Metacity, Muffin, Mutter, Xfwm) роблять композицію самостійно. Для інших менеджерів вікон можна використовувати автономний композитний менеджер.
Список композитних менеджерів
- Picom — Композитний віконний менеджер (форк compton)
- Xcompmgr — Композитний віконний менеджер
- Unagi — Модульний композитний менеджер, який написаний на С і базується на XCB
Поради та підказки
Автоматизація
У цьому розділі перелічено утиліти для автоматизації введення та виведення клавіатури / миші, операцій з вікнами (наприклад переміщення, зміна розміру або фокусування).
Інструмент | Пакунок | Документація | Емуляція введення |
Операції з вікнами |
Примітка |
---|---|---|---|---|---|
xautomation | xautomation | xte(1) | Так | Ні | Також містить інструменти очищення екрану. Не може емулювати F13+. |
xdo | xdo-gitAUR | xdo(1) | Ні | Так | Невелика утиліта X для виконання елементарних дій з вікнами. |
xdotool | xdotool | xdotool(1) | Так | Так | Багато помилок та не ведеться активна розробка, наприклад: має зламаний CLI parsing.[2][3] |
xvkbd | xvkbdAUR | xvkbd(1) | Так | Ні | Віртуальна клавіатура для Xorg, також має -text параметри для відправлення символів.
|
Дивіться також Clipboard#Tools та огляд інструментів автоматизації X.
Вкладені X сесії
Для запуску вкладеного сеансу іншого середовища робочого столу:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
Це запустить сеанс Window Maker у вікні 1024x768 у поточній сесії X.
Для цього потрібно, щоб пакет xorg-server-xnest був встановлений.
Запуск програм GUI віддалено
Див. статтю: OpenSSH#X11 forwarding.
Вимикання та увімкнення пристроїв введення на вимогу
За допомогою xinput ви можете тимчасово вимкнути або ввімкнути пристрої введення. Це може бути корисним, наприклад, у системах, які мають більше однієї миші, наприклад ThinkPad, і ви бажаєте використовувати лише одну, щоб уникнути небажаних кліків мишею.
Встановіть пакунок xorg-xinput.
Знайдіть ім'я або ID пристрою що ви хочете відключити:
$ xinput
Наприклад для Lenovo ThinkPad T500, вивід інформації такий:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]
Відключити цей пристрій можна командою xinput --disable пристрій
, де пристрій це ID пристрою або ім'я пристрою, який ви хочете відключити. У цьому прикладі ми відключимо Synaptics Touchpad з ID 10:
$ xinput --disable 10
Щоби включити знов цей пристрій, просто виконайте команду:
$ xinput --enable 10
Альтернатива - використовуємо ім'я пристрою, ця команда його відключить:
$ xinput --disable "SynPS/2 Synaptics TouchPad"
Закриття додатку гарячою клавішею
Запустіть скрипт для гарячої клавіші:
#!/bin/bash windowFocus=$(xdotool getwindowfocus); pid=$(xprop -id $windowFocus | grep PID); kill -9 $pid
Потрібні пакунки: xorg-xprop, xdotool
Блокування доступу до TTY
Щоб заблокувати доступ до tty в X, до xorg.conf додати наступне:
Section "ServerFlags" Option "DontVTSwitch" "True" EndSection
Запобігання закриттю X-сервера користувачем
Щоб запобігти втручанню користувача в роботу X-сервера, додайте наступне до xorg.conf:
Section "ServerFlags" Option "DontZap" "True" EndSection
Вирішення проблем
Загальне
If a problem occurs, view the log stored in either /var/log/
or, for the rootless X default since v1.16, in ~/.local/share/xorg/
. GDM users should check the systemd journal. [4]
The logfiles are of the form Xorg.n.log
with n
being the display number. For a single user machine with default configuration the applicable log is frequently Xorg.0.log
, but otherwise it may vary. To make sure to pick the right file it may help to look at the timestamp of the X server session start and from which console it was started. For example:
$ grep -e Log -e tty Xorg.0.log
[ 40.623] (==) Log file: "/home/archuser/.local/share/xorg/Xorg.0.log", Time: Thu Aug 28 12:36:44 2014 [ 40.704] (--) controlling tty is VT number 1, auto-enabling KeepTty
- In the logfile then be on the lookout for any lines beginning with
(EE)
, which represent errors, and also(WW)
, which are warnings that could indicate other issues. - If there is an empty
.xinitrc
file in your$HOME
, either delete or edit it in order for X to start properly. If you do not do this X will show a blank screen with what appears to be no errors in yourXorg.0.log
. Simply deleting it will get it running with a default X environment. - If the screen goes black, you may still attempt to switch to a different virtual console (e.g.
Ctrl+Alt+F2
), and blindly log in as root. You can do this by typingroot
(pressEnter
after typing it) and entering the root password (again, pressEnter
after typing it).
- You may also attempt to kill the X server with:
# pkill -x X
- If this does not work, reboot blindly with:
# reboot
- Check specific pages in Category:Input devices if you have issues with keyboard, mouse, touchpad etc.
- Search for common problems in ATI, Intel and NVIDIA articles.
X creates configuration and temporary files in current user's home directory. Make sure there is free disk space available on the partition your home directory resides in. Unfortunately, X server does not provide any more obvious information about lack of disk space in this case.
DRI with Matrox cards stopped working
If you use a Matrox card and DRI stopped working after upgrading to Xorg, try adding the line:
Option "OldDmaInit" "On"
to the Device section that references the video card in xorg.conf
.
Frame-buffer mode problems
If X fails to start with the following log messages,
(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
Uninstall the xf86-video-fbdev package.
Program requests "font '(null)'"
Error message: unable to load font `(null)'
.
Some programs only work with bitmap fonts. Two major packages with bitmap fonts are available, xorg-fonts-75dpi and xorg-fonts-100dpi. You do not need both; one should be enough. To find out which one would be better in your case, try xdpyinfo
from xorg-xdpyinfo, like this:
$ xdpyinfo | grep resolution
and use what is closer to the shown value.
Recovery: disabling Xorg before GUI login
If Xorg is set to boot up automatically and for some reason you need to prevent it from starting up before the login/display manager appears (if the system is wrongly configured and Xorg does not recognize your mouse or keyboard input, for instance), you can accomplish this task with two methods.
- Change default target to rescue.target. See systemd#Change default target to boot into.
- If you have not only a faulty system that makes Xorg unusable, but you have also set the GRUB menu wait time to zero, or cannot otherwise use GRUB to prevent Xorg from booting, you can use the Arch Linux live CD. Follow the installation guide about how to mount and chroot into the installed Arch Linux. Alternatively try to switch into another tty with
Ctrl+Alt
+ function key (usually fromF1
toF7
depending on which is not used by X), login as root and follow steps below.
Depending on setup, you will need to do one or more of these steps:
- Disable the display manager.
- Disable the automatic start of the X.
- Rename the
~/.xinitrc
or comment out theexec
line in it.
X clients started with "su" fail
If you are getting "Client is not authorized to connect to server", try adding the line:
session optional pam_xauth.so
to /etc/pam.d/su
and /etc/pam.d/su-l
. pam_xauth
will then properly set environment variables and handle xauth
keys.
X failed to start: Keyboard initialization failed
If the filesystem (specifically /tmp
) is full, startx
will fail. /var/log/Xorg.0.log
will end with:
(EE) Error compiling keymap (server-0) (EE) XKB: Could not compile keymap (EE) XKB: Failed to load keymap. Loading default keymap instead. (EE) Error compiling keymap (server-0) (EE) XKB: Could not 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
Make some free space on the relevant filesystem and X will start.
Rootless Xorg
Xorg may run with standard user privileges with the help of systemd-logind(8), see [5] and FS#41257. The requirements for this are:
- Starting X via xinit; display managers are not supported
-
Kernel mode setting; implementations in proprietary display drivers fail auto-detection and require manually setting
needs_root_rights = no
in/etc/X11/Xwrapper.config
.
If you do not fit these requirements, re-enable root rights in /etc/X11/Xwrapper.config
:
/etc/X11/Xwrapper.config
needs_root_rights = yes
See also Xorg.wrap(1) and Systemd/User#Xorg as a systemd user service.
GDM also runs Xorg without root privileges by default when Kernel mode setting is used.
Broken redirection
While user Xorg logs are stored in ~/.local/share/xorg/Xorg.log
, they do not include the output from the X session. To re-enable redirection, start X with the -keeptty
flag:
exec startx -- -keeptty > ~/.xorg.log 2>&1
Or copy /etc/X11/xinit/xserverrc
to ~/.xserverrc
, and append -keeptty
. See [6].
A green screen whenever trying to watch a video
Your color depth is set wrong. It may need to be 24 instead of 16, for example.
SocketCreateListener error
If X terminates with error message "SocketCreateListener() failed", you may need to delete socket files in /tmp/.X11-unix
. This may happen if you have previously run Xorg as root (e.g. to generate an xorg.conf
).
Invalid MIT-MAGIC-COOKIE-1 key when trying to run a program as root
That error means that only the current user has access to the X server. The solution is to give access to root:
$ xhost +si:localuser:root
That line can also be used to give access to X to a different user than root.
See also
- Xplain - In-depth explanation of the X Window System